:root {
  --bg: #ffffff;
  --ink: #171816;
  --muted: #686b64;
  --quiet: #8b8d85;
  --line: rgba(23, 24, 22, 0.14);
  --line-strong: rgba(23, 24, 22, 0.25);
  --paper: rgba(255, 255, 255, 0.74);
  --paper-solid: #ffffff;
  --green: #245d4c;
  --blue: #375f7a;
  --red: #a54a3a;
  --gold: #80691f;
  --shadow: 0 22px 68px rgba(24, 28, 20, 0.12);
  --header: 72px;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--bg);
  font-synthesis: none;
  letter-spacing: 0;
}

/* Release 40: score-led roster, hundred-star field, long feed and registration gate. */
.dense-constellation {
  min-height: max(760px, calc(100svh - var(--header)));
}

.dense-constellation .stardust-field {
  inset: 3% 1.5% 18% 36%;
}

.dense-constellation .stardust-node {
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
}

.dense-constellation .stardust-name {
  visibility: hidden;
  width: 190px;
  padding: 8px 10px;
  border: 1px solid rgba(23, 24, 22, 0.12);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 28px rgba(24, 28, 20, 0.1);
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 150ms ease, transform 150ms ease, visibility 150ms;
}

.dense-constellation .stardust-node:hover .stardust-name,
.dense-constellation .stardust-node:focus-visible .stardust-name,
.dense-constellation .stardust-node.active .stardust-name {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.dense-constellation .stardust-node.is-leading .stardust-name {
  visibility: visible;
  width: 74px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  opacity: 0.72;
  transform: translateY(0);
}

.dense-constellation .stardust-node.is-leading .stardust-name strong {
  font-size: 11px;
  font-weight: 650;
}

.dense-constellation .stardust-node.is-leading .stardust-name em,
.dense-constellation .stardust-node.is-leading .stardust-name small {
  display: none;
}

.dense-constellation .stardust-node.is-leading:hover .stardust-name,
.dense-constellation .stardust-node.is-leading:focus-visible .stardust-name,
.dense-constellation .stardust-node.is-leading.active .stardust-name {
  width: 190px;
  padding: 8px 10px;
  border: 1px solid rgba(23, 24, 22, 0.12);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 28px rgba(24, 28, 20, 0.1);
  opacity: 1;
}

.dense-constellation .stardust-node.is-leading:hover .stardust-name strong,
.dense-constellation .stardust-node.is-leading:focus-visible .stardust-name strong,
.dense-constellation .stardust-node.is-leading.active .stardust-name strong {
  font-size: 16px;
}

.dense-constellation .stardust-node.is-leading:hover .stardust-name em,
.dense-constellation .stardust-node.is-leading:focus-visible .stardust-name em,
.dense-constellation .stardust-node.is-leading.active .stardust-name em,
.dense-constellation .stardust-node.is-leading:hover .stardust-name small,
.dense-constellation .stardust-node.is-leading:focus-visible .stardust-name small,
.dense-constellation .stardust-node.is-leading.active .stardust-name small {
  display: block;
}

.hero-register-prompt {
  width: min(100%, 520px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 18px;
  margin-top: 24px;
  padding: 15px 0;
  border: 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.hero-register-prompt b {
  font-size: 15px;
}

.hero-register-prompt span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.hero-register-prompt i {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  color: var(--green);
  font-style: normal;
  font-size: 22px;
}

.home-social-section {
  padding-bottom: clamp(90px, 12vw, 170px);
}

.home-social-stream.compact-feed {
  display: block;
  columns: 3 280px;
  column-gap: clamp(20px, 2.8vw, 38px);
  border-top: 0;
}

.home-social-stream.compact-feed article {
  width: 100%;
  display: block;
  break-inside: avoid;
  margin: 0 0 34px;
  padding: 0 0 26px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.home-social-stream.compact-feed figure {
  margin: 0 0 16px;
}

.home-social-stream.compact-feed img {
  width: 100%;
  height: auto;
  max-height: 390px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 4px;
}

.home-social-stream.compact-feed article:nth-child(5n + 2) img,
.home-social-stream.compact-feed article:nth-child(5n + 4) img {
  aspect-ratio: 3 / 4;
}

.home-social-stream h3 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.home-social-stream h3 small {
  color: var(--quiet);
  font-size: 11px;
  font-weight: 500;
}

.feed-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.feed-card-actions a {
  color: var(--muted);
  font-size: 11px;
}

.home-feed-more {
  width: 100%;
  min-height: 66px;
  margin-top: 18px;
  border: 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 14px;
}

.home-feed-end {
  margin-top: 30px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--quiet);
  text-align: center;
  font-size: 12px;
}

.observation-face-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.observation-face-grid article,
.observation-face-grid article + article {
  min-height: 220px;
  padding: 20px 22px 22px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 0;
}

.observation-face-grid article + article {
  padding-left: 22px;
  border-left: 1px solid var(--line);
}

.score-cap-note,
.domestic-social-status,
.registration-privacy-note {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
}

.score-cap-note {
  max-width: 58em;
  margin-top: 18px;
  padding: 13px 0;
  border-top: 1px solid rgba(165, 74, 58, 0.35);
}

.domestic-social-status {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) auto;
  gap: 18px 28px;
  align-items: baseline;
  margin-top: 34px;
  padding: 20px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.domestic-social-status span {
  color: var(--ink);
  font-weight: 700;
}

.domestic-social-status p {
  margin: 0;
}

.research-image-open {
  align-content: end;
  padding: 28px;
}

.research-image-open span {
  position: relative;
  z-index: 2;
  max-width: 28em;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}

.research-image-open button {
  position: relative;
  z-index: 2;
  justify-self: start;
  margin-top: 12px;
}

.access-preferences {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 12px;
  margin: 0;
  padding: 16px 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.access-preferences legend {
  grid-column: 1 / -1;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
}

.access-preferences label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--ink);
}

.access-preferences input,
.access-consent input {
  width: 16px;
  min-height: 16px;
  margin: 0;
}

.registration-privacy-note {
  grid-column: 1 / -1;
  margin: 0;
}

.registration-summary {
  width: min(760px, 100%);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 40px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.registration-summary span {
  min-width: 0;
  padding: 18px;
  color: var(--muted);
  font-size: 11px;
}

.registration-summary span + span {
  border-left: 1px solid var(--line);
}

.registration-summary b {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 22px;
  overflow-wrap: anywhere;
}

.ark-register-box {
  align-content: center;
}

@media (max-width: 900px) {
  .dense-constellation .stardust-field {
    left: 42%;
  }

  .home-social-stream.compact-feed {
    columns: 2 260px;
  }
}

@media (max-width: 720px) {
  .dense-constellation {
    min-height: 1040px;
    padding-bottom: 44px;
  }

  .dense-constellation .stardust-field {
    inset: 382px 0 176px;
  }

  .dense-constellation .stardust-node {
    left: var(--mx);
    top: var(--my);
    width: 26px;
    height: 26px;
    min-width: 26px;
    min-height: 26px;
  }

  .dense-constellation .stardust-node.is-leading .stardust-name {
    visibility: hidden;
    opacity: 0;
  }

  .dense-constellation .stardust-node:hover .stardust-name,
  .dense-constellation .stardust-node:focus-visible .stardust-name,
  .dense-constellation .stardust-node.active .stardust-name,
  .dense-constellation .stardust-node.is-leading:hover .stardust-name,
  .dense-constellation .stardust-node.is-leading:focus-visible .stardust-name,
  .dense-constellation .stardust-node.is-leading.active .stardust-name {
    visibility: visible;
    width: 138px;
    padding: 7px 8px;
    opacity: 1;
  }

  .dense-constellation .stardust-info {
    bottom: 44px;
  }

  .dense-constellation .constellation-note {
    max-width: 72%;
    line-height: 1.45;
  }

  .hero-register-prompt {
    margin-top: 12px;
    padding: 10px 0;
  }

  .hero-register-prompt span {
    font-size: 10px;
    line-height: 1.45;
  }

  .home-social-stream.compact-feed {
    columns: 1;
  }

  .home-social-stream.compact-feed article {
    display: block;
    margin-bottom: 28px;
  }

  .observation-face-grid {
    grid-template-columns: 1fr;
  }

  .observation-face-grid article,
  .observation-face-grid article + article {
    min-height: 0;
    padding: 18px 0 22px;
    border-left: 0;
  }

  .domestic-social-status {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .access-preferences {
    grid-template-columns: 1fr 1fr;
  }

  .registration-summary {
    grid-template-columns: 1fr;
  }

  .registration-summary span + span {
    border-top: 1px solid var(--line);
    border-left: 0;
  }
}

/* Release 165 · direct social actions */
.social-post-quick-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 12px 2px 4px;
}

.social-post-quick-actions button {
  min-height: 34px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--aa-secondary, #62666d);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.social-post-quick-actions button:hover,
.social-post-quick-actions button:focus-visible {
  color: var(--aa-ink, #16191e);
}

.social-comment-button {
  position: relative;
}

.social-comment-button small {
  position: absolute;
  right: -7px;
  top: -5px;
  min-width: 16px;
  font-size: 9px;
  line-height: 1;
}

.social-comments {
  margin: 12px 0 0;
  padding: 16px 0 2px;
  border-top: 1px solid var(--aa-line, #e8e8e8);
}

.social-comments[hidden] {
  display: none !important;
}

.social-comments > header {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin-bottom: 12px;
}

.social-comments > header strong {
  font-size: 14px;
}

.social-comments > header small,
.social-comment-form > small {
  color: var(--aa-muted, #90949b);
  font-size: 10px;
}

.social-comment-list {
  display: grid;
  gap: 12px;
}

.social-comment-list article {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: 9px;
}

.social-comment-list article strong,
.social-comment-list article p,
.social-comment-list article time {
  margin: 0;
}

.social-comment-list article strong {
  font-size: 12px;
}

.social-comment-list article p {
  min-width: 0;
  color: var(--aa-secondary, #62666d);
  font-size: 13px;
  line-height: 1.55;
}

.social-comment-list article time {
  color: var(--aa-muted, #90949b);
  font-size: 9px;
  white-space: nowrap;
}

.social-comment-empty {
  margin: 0;
  color: var(--aa-muted, #90949b);
  font-size: 12px;
}

.social-comment-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 14px;
}

.social-comment-form label {
  min-width: 0;
}

.social-comment-form textarea {
  width: 100%;
  min-height: 44px;
  max-height: 126px;
  padding: 11px 13px;
  resize: vertical;
  border: 1px solid var(--aa-line, #dedede);
  border-radius: 14px;
  background: #fff;
  color: var(--aa-ink, #16191e);
  font: inherit;
  font-size: 13px;
}

.social-comment-form button,
.social-comment-signin {
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--aa-ink, #16191e);
  border-radius: 14px;
  background: var(--aa-ink, #16191e);
  color: #fff;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.social-comment-form > small {
  grid-column: 1 / -1;
  padding-left: 2px;
}

.social-comment-signin {
  margin-top: 14px;
}

.message-reply-form {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 10px;
}

.message-reply-form textarea {
  width: 100%;
  min-height: 44px;
  padding: 11px 13px;
  resize: vertical;
  border: 1px solid var(--aa-line, #dedede);
  border-radius: 14px;
  background: #fff;
  color: var(--aa-ink, #16191e);
  font: inherit;
  font-size: 13px;
}

.message-reply-form button {
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--aa-ink, #16191e);
  border-radius: 14px;
  background: var(--aa-ink, #16191e);
  color: #fff;
  font: inherit;
  font-size: 12px;
}

.message-history article .message-reply {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f5f6f8;
}

.message-history article .message-reply b {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
}

.account-role-grid:has(> :nth-child(4)) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 720px) {
  .social-intro {
    min-height: 148px;
  }

  .social-post-quick-actions {
    gap: 22px;
    padding-inline: 4px;
  }

  .social-comment-list article {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .social-comment-list article time {
    grid-column: 2;
  }

  .social-comment-form {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .account-role-grid:has(> :nth-child(4)) {
    grid-template-columns: 1fr;
  }
}

/* Release 61: editorial reviews and role-based participation. */
.take-long-review {
  margin: 20px 0 8px;
  padding: 15px 0 2px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.take-long-review summary {
  min-height: 34px;
  color: var(--ink);
  font-weight: 650;
  cursor: pointer;
}

.take-long-review > p {
  margin: 4px 0 14px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.take-long-review-check {
  display: flex !important;
  align-items: center;
  gap: 9px;
  margin: 0 0 14px !important;
  color: var(--ink) !important;
}

.take-long-review-check input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: var(--green);
}

#takeSourceLabel,
#takeCharacterCount {
  display: block;
  color: var(--muted);
  font-size: 11px;
}

#takeSourceUrl {
  width: 100%;
  min-height: 42px;
  margin: 7px 0 10px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--ink);
  font: inherit;
}

#takeSourceUrl:disabled {
  opacity: 0.45;
}

#takeCharacterCount {
  padding-bottom: 12px;
  font-variant-numeric: tabular-nums;
}

#takeCharacterCount.is-ready {
  color: var(--green);
  font-weight: 650;
}

#takeReason {
  transition: min-height 180ms ease;
}

.contribution-ways,
.professional-value-section {
  padding-top: clamp(68px, 8vw, 118px);
  padding-bottom: clamp(68px, 8vw, 118px);
  border-top: 1px solid var(--line);
}

.contribution-way-grid,
.professional-value-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(32px, 5vw, 58px);
  border-top: 1px solid var(--line-strong);
}

.contribution-way-grid article {
  grid-column: span 4;
}

.professional-value-grid article {
  grid-column: span 3;
}

.contribution-way-grid article,
.professional-value-grid article {
  min-width: 0;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  padding: 18px 22px 22px 0;
  border-right: 1px solid var(--line);
}

.contribution-way-grid article + article,
.professional-value-grid article + article {
  padding-left: 22px;
}

.contribution-way-grid article:last-child,
.professional-value-grid article:last-child {
  border-right: 0;
}

.contribution-way-grid span,
.professional-value-grid span,
.professional-value-grid small {
  color: var(--green);
  font-size: 11px;
}

.contribution-way-grid h3,
.professional-value-grid h3 {
  margin-top: 44px;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(23px, 2.2vw, 32px);
  font-weight: 520;
}

.contribution-way-grid p,
.professional-value-grid p {
  margin: 13px 0 0;
  color: var(--muted);
  line-height: 1.75;
}

.professional-value-grid small {
  margin-top: auto;
  padding-top: 24px;
  line-height: 1.55;
}

.contribution-boundary,
.review-draft-status {
  max-width: 820px;
  margin: 28px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
}

@media (max-width: 900px) and (min-width: 721px) {
  .professional-value-grid article {
    grid-column: span 6;
    border-bottom: 1px solid var(--line);
  }

  .professional-value-grid article:nth-child(2) {
    border-right: 0;
  }

  .professional-value-grid article:nth-child(3) {
    padding-left: 0;
  }
}

@media (max-width: 720px) {
  .take-long-review {
    margin-top: 16px;
  }

  .contribution-way-grid,
  .professional-value-grid {
    display: block;
  }

  .contribution-way-grid article,
  .professional-value-grid article,
  .contribution-way-grid article + article,
  .professional-value-grid article + article {
    min-height: 0;
    padding: 17px 0 30px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .contribution-way-grid h3,
  .professional-value-grid h3 {
    margin-top: 24px;
  }
}

/* Release 51: a fair, scroll-first home experience. */
.home-feed-hero {
  min-height: min(580px, calc(100svh - var(--header) - 52px));
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.55fr);
  gap: clamp(48px, 9vw, 150px);
  align-items: center;
  padding: clamp(36px, 4.4vw, 58px) clamp(26px, 6vw, 96px);
  border-bottom: 1px solid var(--line-strong);
  background:
    linear-gradient(rgba(23, 24, 22, 0.045) 1px, transparent 1px) 0 0 / 100% 96px,
    var(--bg);
}

.home-feed-hero-copy {
  max-width: 820px;
}

.home-feed-hero h1 {
  max-width: 10.5em;
  margin: 14px 0 24px;
  font-family: Georgia, "Songti SC", "STSong", serif;
  font-size: clamp(46px, 5.8vw, 82px);
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: 0;
}

.home-feed-hero .lead {
  max-width: 43em;
}

.home-feed-hero-side {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 4px;
}

.home-start-scrolling {
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  border: 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 16px;
}

.home-start-scrolling i {
  color: var(--green);
  font-size: 26px;
  font-style: normal;
}

.home-discovery {
  padding: clamp(38px, 4vw, 56px) clamp(26px, 6vw, 96px);
  border-bottom: 1px solid var(--line-strong);
}

.home-discovery > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 34px;
}

.home-discovery h2 {
  max-width: 13em;
  margin: 7px 0 0;
  font-size: clamp(30px, 4vw, 58px);
}

.home-discovery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
}

.home-discovery-grid article {
  min-width: 0;
  display: grid;
  grid-template-rows: minmax(210px, 0.9fr) auto;
  padding: 0 22px 28px;
  border-bottom: 1px solid var(--line);
}

.home-discovery-grid article + article {
  border-left: 1px solid var(--line);
}

.home-discovery-grid figure,
.home-discovery-mark {
  min-height: 210px;
  margin: 0 -22px 24px;
  overflow: hidden;
  background: rgba(var(--encounter-tint), 0.08);
}

.home-discovery-grid img {
  width: 100%;
  height: 100%;
  max-height: 360px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.home-discovery-mark {
  position: relative;
}

.home-discovery-mark::before,
.home-discovery-mark::after,
.home-discovery-mark i {
  content: "";
  position: absolute;
  border: 1px solid rgba(var(--encounter-tint), 0.34);
  border-radius: 50%;
}

.home-discovery-mark::before { width: 108px; height: 108px; top: 44px; left: calc(50% - 54px); }
.home-discovery-mark::after { width: 46px; height: 46px; top: 75px; left: calc(50% - 23px); background: rgba(var(--encounter-tint), 0.12); }
.home-discovery-mark i:first-child { width: 162px; height: 64px; top: 67px; left: calc(50% - 81px); }
.home-discovery-mark i:last-child { width: 64px; height: 162px; top: 17px; left: calc(50% - 32px); }

.home-discovery-grid article > div:last-child > span {
  color: rgb(var(--encounter-tint));
  font-size: 11px;
}

.home-discovery-grid h3 {
  margin: 8px 0 13px;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(25px, 2.7vw, 39px);
}

.home-discovery-grid p {
  min-height: 6.6em;
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.72;
}

.home-directory-entry {
  flex: 0 0 auto;
}

.home-social-stream.compact-feed {
  columns: 3 300px;
  column-gap: clamp(16px, 2.1vw, 30px);
}

.home-social-stream.compact-feed article {
  overflow: hidden;
  margin-bottom: clamp(18px, 2.6vw, 34px);
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.64);
}

.home-social-stream.compact-feed article > div:last-child {
  padding: 18px 18px 20px;
}

.home-social-stream.compact-feed figure {
  margin: 0;
}

.home-social-stream.compact-feed img {
  max-height: none;
  border-radius: 0;
}

.home-social-stream.compact-feed article.feed-discover {
  border-top: 3px solid rgba(36, 93, 76, 0.55);
}

.feed-story-mark {
  height: 150px;
  display: grid;
  place-items: center;
  background:
    linear-gradient(90deg, transparent 49.5%, rgba(36, 93, 76, 0.16) 50%, transparent 50.5%),
    linear-gradient(transparent 49.5%, rgba(36, 93, 76, 0.16) 50%, transparent 50.5%);
}

.feed-story-mark span {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(36, 93, 76, 0.36);
  border-radius: 50%;
  background: var(--bg);
  color: var(--green);
  font-family: Georgia, "Songti SC", serif;
  font-size: 27px;
}

.artist-directory-constellations {
  grid-column: 1 / -1;
}

.artist-directory-constellation {
  border-bottom: 1px solid var(--line-strong);
}

.artist-directory-constellation > header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
}

.artist-directory-constellation > header span,
.artist-directory-constellation > header small {
  display: block;
}

.artist-directory-constellation > header span {
  font-family: Georgia, "Songti SC", serif;
  font-size: 22px;
}

.artist-directory-constellation > header small {
  max-width: 52em;
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
}

.artist-directory-constellation > header b {
  color: var(--green);
  font-weight: 500;
}

.artist-directory-constellation > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 900px) {
  .home-feed-hero {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 0.45fr);
    gap: 34px;
  }

  .home-social-stream.compact-feed {
    columns: 2 280px;
  }
}

@media (max-width: 720px) {
  .home-feed-hero {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 52px 14px 36px;
  }

  .home-feed-hero h1 {
    max-width: 100%;
    font-size: 47px;
  }

  .home-feed-hero-side {
    padding-bottom: 0;
  }

  .home-start-scrolling {
    min-height: 58px;
  }

  .home-discovery {
    padding: 58px 14px 72px;
  }

  .home-discovery > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .home-discovery-grid {
    grid-template-columns: 1fr;
  }

  .home-discovery-grid article,
  .home-discovery-grid article + article {
    border-left: 0;
  }

  .home-discovery-grid p {
    min-height: 0;
  }

  .home-social-stream.compact-feed {
    columns: 1;
  }

  .home-social-stream.compact-feed article > div:last-child {
    padding: 16px 14px 18px;
  }

  .home-feed-controls {
    align-items: flex-start;
    flex-direction: column;
  }

  .artist-directory-constellation > div {
    grid-template-columns: 1fr;
  }
}

/* Extended artist dossiers */
.dossier-opening {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.75fr);
  gap: clamp(34px, 6vw, 92px);
  align-items: center;
  padding-top: clamp(72px, 9vw, 124px);
}

.dossier-opening.is-continuation {
  border-top: 1px solid var(--line-strong);
}

.dossier-opening-copy h2,
.dossier-practice-band h2,
.dossier-market-copy h2 {
  max-width: 12em;
  margin: 10px 0 28px;
}

.dossier-opening-copy .lead + .lead {
  margin-top: 14px;
}

.dossier-figure {
  min-width: 0;
  margin: 0;
}

.dossier-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.4);
}

.dossier-figure figcaption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 18px;
  padding: 12px 2px 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.48;
}

.dossier-figure figcaption span {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
}

.dossier-figure figcaption strong {
  color: var(--ink);
  font-size: 15px;
}

.dossier-figure figcaption em,
.dossier-figure figcaption small {
  font-style: normal;
  color: var(--quiet);
}

.dossier-figure figcaption p {
  grid-column: 1;
  margin: 0;
}

.dossier-figure figcaption small {
  grid-column: 1;
}

.dossier-figure figcaption a {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: end;
  white-space: nowrap;
}

.dossier-lead-figure {
  align-self: stretch;
}

.dossier-lead-figure img {
  min-height: 520px;
  max-height: 720px;
}

.dossier-practice-band {
  display: grid;
  grid-template-columns: minmax(260px, 0.65fr) minmax(0, 1.35fr);
  gap: clamp(30px, 7vw, 110px);
  align-items: start;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.dossier-practice-copy {
  columns: 2;
  column-gap: clamp(28px, 4vw, 58px);
}

.dossier-practice-copy p {
  break-inside: avoid;
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 1.08em;
}

.dossier-anchor-river {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(248px, 0.28fr);
  gap: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  padding-bottom: 14px;
}

.dossier-anchor-river article {
  min-height: 310px;
  padding: 18px 24px 24px 0;
  border-top: 1px solid var(--line-strong);
  border-right: 1px solid var(--line);
  scroll-snap-align: start;
}

.dossier-anchor-river article + article {
  padding-left: 24px;
}

.dossier-anchor-river article > span,
.dossier-anchor-river time,
.dossier-work-stories article span {
  display: block;
  color: var(--quiet);
  font-size: 12px;
}

.dossier-anchor-river time {
  margin-top: 52px;
  color: var(--green);
  font-size: 14px;
}

.dossier-anchor-river h3 {
  margin: 10px 0 12px;
  font-size: 21px;
}

.dossier-anchor-river p,
.dossier-work-stories p,
.dossier-recent-list p,
.dossier-plain-list p,
.dossier-account-grid p,
.dossier-pulse-notes p,
.dossier-arc-line p {
  color: var(--muted);
}

.dossier-wide-story {
  max-width: none;
  margin-right: calc(clamp(16px, 3vw, 34px) * -1);
  margin-left: calc(clamp(16px, 3vw, 34px) * -1);
  padding-right: 0;
  padding-left: 0;
}

.dossier-wide-figure img {
  max-height: 78vh;
  min-height: 560px;
  border-radius: 0;
}

.dossier-wide-figure figcaption {
  max-width: 1180px;
  margin: 0 auto;
  padding: 14px clamp(16px, 3vw, 34px) 0;
}

.dossier-image-sequence {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(330px, 38vw);
  gap: 18px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  padding: 0 0 22px;
}

.dossier-image-sequence .dossier-figure {
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  align-self: start;
  scroll-snap-align: start;
}

.dossier-image-sequence .dossier-figure img {
  height: auto;
  aspect-ratio: 4 / 3;
}

.dossier-image-sequence .kind-portrait img,
.dossier-image-sequence .kind-process img {
  aspect-ratio: 3 / 4;
}

.dossier-image-sequence .kind-wide img {
  aspect-ratio: 16 / 10;
}

.dossier-work-stories {
  margin-top: clamp(52px, 8vw, 104px);
}

.dossier-work-stories article {
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(26px, 5vw, 78px);
  align-items: center;
  min-height: 360px;
  padding: 34px 0;
  border-top: 1px solid var(--line);
}

.dossier-work-stories article:nth-child(even) {
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
}

.dossier-work-stories article:nth-child(even) figure {
  order: 2;
}

.dossier-work-stories figure {
  margin: 0;
}

.dossier-work-stories figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 5px;
}

.dossier-work-stories article:nth-child(3n + 2) figure img {
  aspect-ratio: 3 / 4;
}

.dossier-work-stories h3 {
  margin: 8px 0 4px;
  font-size: clamp(24px, 2.5vw, 38px);
}

.dossier-work-stories em {
  color: var(--green);
  font-style: normal;
}

.dossier-work-stories p {
  max-width: 36em;
  font-size: 1.04em;
}

.dossier-recent-list {
  border-top: 1px solid var(--line-strong);
}

.dossier-recent-list article {
  display: grid;
  grid-template-columns: 128px 144px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.dossier-recent-list figure {
  margin: 0;
}

.dossier-recent-list img {
  width: 128px;
  height: 94px;
  object-fit: cover;
  border-radius: 4px;
}

.dossier-recent-list time {
  color: var(--green);
  font-size: 13px;
}

.dossier-recent-list h3 {
  margin: 0 0 4px;
  font-size: 19px;
}

.dossier-recent-list p {
  margin: 0 0 8px;
}

.dossier-recent-list a,
.dossier-link-list a,
.dossier-account-grid a {
  font-size: 13px;
}

.dossier-site-mosaic {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(260px, 0.85fr);
  grid-template-rows: repeat(2, minmax(230px, 1fr));
  gap: 18px;
}

.dossier-site-mosaic .site-primary {
  grid-row: 1 / span 2;
}

.dossier-site-mosaic .dossier-figure img {
  aspect-ratio: 4 / 3;
}

.dossier-site-mosaic .site-primary img {
  aspect-ratio: auto;
}

.dossier-site-mosaic .dossier-figure:nth-child(n + 4) {
  display: none;
}

.dossier-institutions-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(34px, 7vw, 108px);
  border-top: 1px solid var(--line-strong);
}

.dossier-plain-list,
.dossier-link-list {
  margin-top: 22px;
}

.dossier-plain-list article,
.dossier-link-list article {
  padding: 18px 0;
  border-top: 1px solid var(--line);
}

.dossier-plain-list h3,
.dossier-link-list h3 {
  margin: 0 0 7px;
  font-size: 18px;
}

.dossier-plain-list p {
  margin: 0;
}

.dossier-link-list article {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 4px 18px;
}

.dossier-link-list time {
  grid-row: 1 / span 3;
  color: var(--green);
  font-size: 12px;
}

.dossier-link-list span {
  color: var(--muted);
  font-size: 13px;
}

.dossier-account-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--line-strong);
}

.dossier-account-grid article {
  min-height: 270px;
  padding: 20px 22px 24px 0;
  border-right: 1px solid var(--line);
}

.dossier-account-grid article + article {
  padding-left: 22px;
}

.dossier-account-grid span {
  color: var(--green);
  font-size: 12px;
}

.dossier-account-grid h3 {
  margin: 34px 0 7px;
  font-size: 18px;
}

.dossier-account-grid b {
  color: var(--quiet);
  font-size: 12px;
  font-weight: 500;
}

.dossier-market-section {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(36px, 7vw, 108px);
  align-items: start;
  border-top: 1px solid var(--line-strong);
}

.dossier-pulse-notes {
  border-top: 1px solid var(--line-strong);
}

.dossier-pulse-notes article {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 20px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
}

.dossier-pulse-notes span {
  color: var(--green);
  font-size: 13px;
}

.dossier-pulse-notes p {
  margin: 0;
}

.dossier-arc-line {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  overflow-x: auto;
  padding-top: 26px;
}

.dossier-arc-line article {
  position: relative;
  min-width: 190px;
  padding: 0 22px 0 0;
  border-top: 1px solid var(--line-strong);
}

.dossier-arc-line article + article {
  padding-left: 22px;
}

.dossier-arc-line time {
  display: block;
  margin-top: 20px;
  color: var(--green);
  font-size: 12px;
}

.dossier-arc-line i {
  position: absolute;
  top: -4px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
}

.dossier-arc-line h3 {
  margin: 28px 0 10px;
  font-size: 17px;
}

.dossier-arc-line p {
  font-size: 14px;
}

.dossier-ledger-section .source-row b {
  display: block;
  margin: 5px 0;
  color: var(--quiet);
  font-size: 12px;
}

.profile-hero .portrait-field {
  min-height: 690px;
}

.profile-hero .portrait-field::before {
  inset: 16% 2% 0 5%;
  background:
    linear-gradient(165deg, rgba(55, 95, 122, 0.13), rgba(255, 255, 255, 0.28) 54%, rgba(36, 93, 76, 0.12));
}

.profile-hero .portrait-field img {
  width: min(92%, 570px);
  max-height: 84vh;
  margin-bottom: -12px;
  object-position: center bottom;
}

@media (max-width: 960px) {
  .dossier-opening,
  .dossier-practice-band,
  .dossier-market-section {
    grid-template-columns: 1fr;
  }

  .dossier-opening-copy h2,
  .dossier-practice-band h2,
  .dossier-market-copy h2 {
    max-width: 18em;
  }

  .dossier-account-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dossier-account-grid article:nth-child(2) {
    border-right: 0;
  }

  .dossier-account-grid article:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }
}

@media (max-width: 720px) {
  h2,
  .section h2,
  .section-head h2 {
    min-height: 0 !important;
    max-width: 100%;
    word-break: keep-all;
    overflow-wrap: anywhere;
    writing-mode: horizontal-tb;
  }

  .section-head {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .section-head > p,
  .section-head > div,
  .section-head h2,
  .section-head .overline {
    width: 100%;
    max-width: 100%;
  }

  .profile-hero {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    min-height: auto;
    padding-top: 22px;
  }

  .profile-hero > div {
    order: 2;
  }

  .profile-hero .portrait-field {
    order: 1;
    min-height: 0;
    height: min(66vh, 540px);
    margin: 0 -14px 6px;
    border-radius: 0 0 6px 6px;
  }

  .profile-hero .portrait-field::before {
    inset: 8% 3% 0;
  }

  .profile-hero .portrait-field img {
    width: min(92%, 420px);
    max-height: 100%;
    margin-bottom: -6px;
  }

  .generic-hero {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .generic-hero-copy {
    order: 2;
  }

  .generic-hero-image {
    order: 1;
    width: calc(100% + 28px);
    margin: 0 -14px;
    aspect-ratio: 4 / 3;
    border-radius: 0;
  }

  .generic-hero-image figcaption {
    margin: 7px 14px 0;
    padding: 0;
    background: none;
    color: var(--muted);
  }

  .dossier-opening {
    gap: 24px;
    padding-top: 58px;
  }

  .dossier-opening-copy {
    order: 2;
  }

  .dossier-lead-figure {
    order: 1;
  }

  .dossier-lead-figure img {
    min-height: 0;
    max-height: none;
    aspect-ratio: 4 / 3;
  }

  .dossier-practice-copy {
    columns: 1;
  }

  .dossier-anchor-river {
    grid-auto-columns: 82vw;
    margin-right: -14px;
    padding-right: 14px;
  }

  .dossier-anchor-river article {
    min-height: 260px;
  }

  .dossier-anchor-river time {
    margin-top: 30px;
  }

  .dossier-wide-story {
    margin-right: -14px;
    margin-left: -14px;
  }

  .dossier-wide-figure img {
    min-height: 0;
    max-height: none;
    aspect-ratio: 4 / 3;
  }

  .dossier-wide-figure figcaption {
    padding-right: 14px;
    padding-left: 14px;
  }

  .dossier-image-sequence {
    grid-auto-columns: 86vw;
    margin-right: -14px;
    padding-right: 14px;
  }

  .dossier-work-stories {
    margin-top: 50px;
  }

  .dossier-work-stories article,
  .dossier-work-stories article:nth-child(even) {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    padding: 26px 0 34px;
  }

  .dossier-work-stories article:nth-child(even) figure {
    order: 0;
  }

  .dossier-work-stories figure img,
  .dossier-work-stories article:nth-child(3n + 2) figure img {
    aspect-ratio: 4 / 3;
  }

  .dossier-work-stories h3 {
    font-size: 25px;
  }

  .dossier-recent-list article {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px 14px;
  }

  .dossier-recent-list figure {
    grid-row: 1 / span 2;
  }

  .dossier-recent-list img {
    width: 92px;
    height: 78px;
  }

  .dossier-recent-list time {
    grid-column: 2;
  }

  .dossier-recent-list > article > div {
    grid-column: 1 / -1;
    padding-top: 8px;
  }

  .dossier-site-mosaic {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    margin-right: -14px;
    padding-right: 14px;
    scroll-snap-type: x mandatory;
  }

  .dossier-site-mosaic .dossier-figure,
  .dossier-site-mosaic .dossier-figure:nth-child(n + 4) {
    display: block;
    flex: 0 0 86vw;
    scroll-snap-align: start;
  }

  .dossier-site-mosaic .dossier-figure img,
  .dossier-site-mosaic .site-primary img {
    aspect-ratio: 4 / 3;
  }

  .dossier-institutions-section,
  .dossier-account-grid,
  .dossier-market-section {
    grid-template-columns: 1fr;
  }

  .dossier-column + .dossier-column {
    margin-top: 28px;
  }

  .dossier-account-grid article,
  .dossier-account-grid article + article {
    min-height: 0;
    padding: 18px 0 22px;
    border-right: 0;
    border-top: 1px solid var(--line);
  }

  .dossier-account-grid h3 {
    margin-top: 16px;
  }

  .dossier-arc-line {
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: 76vw;
    margin-right: -14px;
    padding-right: 14px;
    scroll-snap-type: x proximity;
  }

  .dossier-arc-line article {
    scroll-snap-align: start;
  }

  .dossier-figure figcaption {
    grid-template-columns: 1fr;
  }

  .dossier-figure figcaption a,
  .dossier-figure figcaption p,
  .dossier-figure figcaption small {
    grid-column: 1;
    grid-row: auto;
  }

  :lang(zh-CN) p,
  :lang(zh-CN) dd,
  :lang(zh-CN) li {
    max-width: none;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

html.capture-mode {
  scroll-behavior: auto;
  overflow-x: clip;
}

html.capture-mode *,
html.capture-mode *::before,
html.capture-mode *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

html.capture-mode .flow-canvas,
html.capture-mode .ripple-layer {
  display: none;
}

html.capture-mode .site-header {
  position: static;
}

html.capture-mode .ark-desk:not(.open) {
  display: none !important;
}

html.capture-mode .fang-image-large,
html.capture-mode .fang-image-flow,
html.capture-mode .fang-image-card {
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
}

html.capture-mode .fang-image-section,
html.capture-mode .app,
html.capture-mode body {
  max-width: 100vw;
  overflow-x: clip;
}

html.capture-mode .fang-image-card > * {
  max-width: 100%;
}

html.capture-mode .fang-image-large {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

html.capture-mode,
html.capture-mode body,
html.capture-mode * {
  scrollbar-width: none;
}

html.capture-mode::-webkit-scrollbar,
html.capture-mode body::-webkit-scrollbar,
html.capture-mode *::-webkit-scrollbar {
  display: none;
}

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: clip;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.86) 42%, rgba(255, 255, 255, 0.98)),
    var(--bg);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.58;
}

:lang(zh-CN) body {
  font-size: 17px;
  line-height: 1.78;
}

:lang(en) body {
  font-size: 16px;
  line-height: 1.64;
}

:lang(zh-CN) p,
:lang(zh-CN) dd,
:lang(zh-CN) li {
  max-width: 36em;
}

:lang(en) p,
:lang(en) dd,
:lang(en) li {
  max-width: 72ch;
}

button,
input,
textarea {
  font: inherit;
  letter-spacing: 0;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

.flow-canvas,
.ripple-layer {
  position: fixed;
  inset: 0;
  pointer-events: none;
}

.flow-canvas {
  z-index: 0;
  opacity: 0.72;
}

.ripple-layer {
  z-index: 80;
  overflow: hidden;
}

.capture-mode {
  scroll-behavior: auto !important;
}

.capture-mode .site-header,
.capture-mode .river-text,
.capture-mode .scroll-toolbar {
  position: static !important;
}

.capture-mode .flow-canvas,
.capture-mode .ripple-layer {
  display: none !important;
}

.capture-mode *,
.capture-mode *::before,
.capture-mode *::after {
  animation: none !important;
  transition: none !important;
}

.pointer-ripple {
  position: absolute;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 1px solid rgba(36, 93, 76, 0.3);
  border-radius: 999px;
  animation: pointerRipple 900ms ease-out forwards;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: var(--header);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 14px clamp(16px, 3vw, 34px);
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(16px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.brand-mark {
  position: relative;
  width: 34px;
  height: 34px;
  border: 1px solid var(--ink);
  border-radius: 50%;
}

.brand-mark::before,
.brand-mark::after {
  content: "";
  position: absolute;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.brand-mark::before {
  width: 25px;
  height: 25px;
  left: 9px;
  top: 8px;
  color: var(--green);
}

.brand-mark::after {
  width: 16px;
  height: 16px;
  right: 10px;
  bottom: 11px;
  color: var(--red);
}

.brand strong,
.brand small {
  display: block;
  line-height: 1.1;
}

.brand strong {
  font-family: Georgia, "Songti SC", serif;
  font-size: 18px;
  font-weight: 600;
}

.brand small {
  margin-top: 3px;
  max-width: 210px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.beta-label {
  display: inline-block;
  margin-left: 7px;
  padding-left: 7px;
  border-left: 1px solid var(--line-strong);
  color: var(--red);
  font-size: 9px;
  font-weight: 600;
}

.image-load-failed {
  display: grid;
  min-height: 180px;
  place-items: center;
  background: rgba(34, 34, 31, 0.045);
  color: var(--quiet);
}

.social-work-frame.image-load-failed .social-post-image {
  display: none;
}

.image-load-note {
  padding: 20px;
  font-size: 12px;
  text-align: center;
}

.nav {
  display: flex;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.nav::-webkit-scrollbar {
  display: none;
}

.nav a {
  flex: 0 0 auto;
  padding: 8px 12px;
  border-radius: 999px;
  color: var(--muted);
  font-size: 13px;
  text-decoration: none;
}

.nav a.active,
.nav a:hover {
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
}

.header-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ark-header-button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 13px;
  border: 1px solid rgba(36, 93, 76, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
  color: var(--ink);
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(24, 28, 20, 0.07);
}

.ark-header-button span {
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.ark-header-button strong {
  font-variant-numeric: tabular-nums;
  font-size: 15px;
}

.quiet-button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.56);
  color: var(--ink);
  cursor: pointer;
}

.search-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.search-icon {
  position: relative;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  display: inline-block;
  border: 1.7px solid currentColor;
  border-radius: 50%;
}

.search-icon::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 1.7px;
  right: -5px;
  bottom: -2px;
  border-radius: 2px;
  background: currentColor;
  transform: rotate(45deg);
  transform-origin: left center;
}

.lang-switch {
  display: inline-flex;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.6);
}

.lang-switch button {
  min-width: 38px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

.lang-switch button.active {
  background: var(--ink);
  color: var(--paper-solid);
}

.ark-desk {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  justify-items: end;
  background: rgba(17, 19, 15, 0);
  pointer-events: none;
  transition: background 220ms ease;
}

.ark-desk.open {
  background: rgba(17, 19, 15, 0.34);
  pointer-events: auto;
  backdrop-filter: blur(3px);
}

.ark-desk-panel {
  width: min(420px, calc(100vw - 28px));
  height: 100%;
  padding: 22px;
  border-left: 1px solid var(--line);
  background: var(--paper-solid);
  box-shadow: var(--shadow);
  transform: translateX(102%);
  transition: transform 260ms ease;
  overflow-y: auto;
}

.ark-desk.open .ark-desk-panel {
  transform: translateX(0);
}

.ark-desk:not(.open) .ark-desk-panel {
  visibility: hidden;
}

.ark-desk-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ark-desk-panel h2 {
  margin-top: 10px;
  font-size: clamp(28px, 3vw, 40px);
  max-width: 12em;
  text-wrap: balance;
}

.ark-desk-stats {
  display: grid;
  gap: 8px;
  margin: 22px 0;
}

.ark-desk-stats span {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
  font-variant-numeric: tabular-nums;
}

.ark-desk-stats b,
.ark-desk-panel label {
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.ark-select {
  width: 100%;
  min-height: 42px;
  margin: 8px 0 18px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--ink);
}

.ark-desk-value {
  display: block;
  margin: 8px 0 18px;
  font-size: 28px;
  font-variant-numeric: tabular-nums;
}

.ark-desk-note {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.app {
  position: relative;
  z-index: 1;
  max-width: 1560px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 34px) 72px;
  opacity: 1;
  transition: opacity 260ms ease, transform 260ms ease;
}

.app.is-switching {
  opacity: 0;
  transform: translateY(8px);
}

.overline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.overline::before {
  content: "";
  width: 26px;
  height: 1px;
  background: currentColor;
}

h1,
h2,
h3,
p {
  overflow-wrap: anywhere;
}

h1,
.display {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(52px, 8vw, 128px);
  font-weight: 520;
  line-height: 0.91;
}

.display .brand-line,
.display .motion-line {
  display: block;
}

.display .motion-line {
  white-space: nowrap;
  font-size: clamp(44px, 5.4vw, 84px);
  line-height: 1.02;
}

.mobile-line-break {
  display: none;
}

h2 {
  margin: 0;
  font-size: clamp(30px, 3.7vw, 54px);
  line-height: 1.08;
  font-weight: 560;
}

h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.22;
}

.lead {
  max-width: 760px;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: clamp(18px, 1.7vw, 24px);
}

.home-hero {
  min-height: calc(74vh - var(--header));
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(390px, 0.78fr);
  gap: clamp(22px, 4vw, 58px);
  align-items: center;
  padding: clamp(24px, 4vw, 52px) 0 20px;
}

.home-copy {
  align-self: center;
}

.home-kicker {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  max-width: 470px;
  margin-top: 20px;
  color: var(--muted);
  font-size: 14px;
}

.home-kicker::after {
  content: "";
  height: 1px;
  background: var(--line);
}

.home-actions,
.profile-actions,
.watch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.primary-button,
.secondary-button,
.text-button {
  min-height: 44px;
  padding: 0 17px;
  border-radius: 999px;
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.primary-button {
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--paper-solid);
}

.secondary-button {
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.56);
  color: var(--ink);
}

.text-button {
  border: 0;
  background: transparent;
  color: var(--blue);
  font-weight: 700;
}

.primary-button:hover,
.secondary-button:hover,
.quiet-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(24, 28, 20, 0.1);
}

.heart-action.is-bouncing {
  animation: buttonBounce 560ms cubic-bezier(0.18, 0.9, 0.2, 1.28);
}

.hero-art {
  position: relative;
  min-height: clamp(360px, 42vw, 540px);
  display: grid;
  grid-template-rows: minmax(0, auto) auto;
}

.hero-art figure {
  position: relative;
  margin: 0;
  height: 100%;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: var(--shadow);
  background: #ffffff;
}

.hero-art img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  max-height: min(48vh, 520px);
  object-fit: cover;
}

.hero-caption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 8px;
  background: rgba(17, 19, 15, 0.58);
  color: var(--paper-solid);
  backdrop-filter: blur(10px);
}

.hero-caption span {
  color: rgba(255, 255, 255, 0.74);
  font-size: 13px;
}

.next-peek {
  display: block;
  margin-top: 18px;
  color: var(--muted);
  font-size: 14px;
}

.next-peek span {
  display: block;
  max-width: 68ch;
}

.next-peek span + span {
  margin-top: 6px;
  color: var(--quiet);
}

.daily-strip {
  border-top: 1px solid var(--line);
  padding-top: 34px;
}

.home-pulse {
  padding-top: 36px;
}

.home-pulse-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.68fr) minmax(260px, 0.32fr);
  gap: 18px;
  align-items: stretch;
}

.home-pulse-main {
  min-height: 360px;
  display: grid;
  align-content: space-between;
  gap: 18px;
  padding: clamp(20px, 4vw, 42px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.5);
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.home-pulse-main span,
.home-pulse-main em,
.home-pulse-side span,
.artist-field-detail span {
  color: var(--green);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.home-pulse-main strong {
  max-width: 760px;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(34px, 5vw, 76px);
  font-weight: 520;
  line-height: 1;
}

.mini-wave {
  height: 148px;
  display: grid;
  grid-template-columns: repeat(7, minmax(22px, 1fr));
  gap: 8px;
  align-items: end;
}

.mini-wave i {
  display: block;
  height: var(--level);
  border-radius: 8px 8px 3px 3px;
  background: linear-gradient(180deg, rgba(36, 93, 76, 0.2), rgba(55, 95, 122, 0.16));
  transition: height 420ms ease, transform 240ms ease;
}

.home-pulse-main:hover .mini-wave i {
  transform: translateY(-3px);
}

.home-pulse-side {
  display: grid;
  gap: 10px;
}

.home-pulse-side article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.home-pulse-side b {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}

.artist-pulse-compare {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}

.artist-pulse-card {
  min-width: 0;
}

.artist-pulse-button {
  width: 100%;
  min-height: 252px;
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.48);
  color: var(--ink);
  text-align: left;
  cursor: default;
  overflow: hidden;
}

.artist-pulse-card.is-open .artist-pulse-button {
  cursor: pointer;
}

.artist-pulse-button:disabled {
  color: var(--muted);
}

.artist-pulse-button span {
  color: var(--green);
  font-size: 13px;
  font-weight: 800;
}

.artist-pulse-button strong {
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(40px, 5vw, 72px);
  font-weight: 500;
  line-height: 0.95;
  font-variant-numeric: tabular-nums;
}

.pulse-direction-value {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  color: var(--muted);
  font-family: Georgia, "Songti SC", serif;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.pulse-direction-value i {
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.artist-direction {
  display: inline-flex;
  vertical-align: 0.08em;
  margin-left: 0.18em;
  font-size: 0.82em;
}

.profile-artist-direction {
  margin-left: 0.12em;
  font-size: 0.58em;
}

.feed-artist-direction,
.nav-artist-direction,
.switcher-artist-direction,
.directory-artist-direction {
  font-family: Georgia, "Songti SC", serif;
}

.pulse-direction-value b {
  font: inherit;
  font-weight: 500;
}

.pulse-direction-value.pulse-direction-high {
  color: var(--red);
}

.pulse-direction-value.pulse-direction-active {
  color: var(--blue);
}

.pulse-direction-value.pulse-direction-steady {
  color: var(--muted);
}

.pulse-direction-value.pulse-direction-cooling {
  color: #766d66;
}

.artist-pulse-value {
  justify-self: start;
}

.artist-pulse-value i {
  font-size: 0.82em;
}

.artist-pulse-value b {
  font-size: 0.92em;
}

.artist-pulse-button p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.62;
}

.artist-pulse-button em {
  color: var(--blue);
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
}

.pulse-waterline {
  position: relative;
  height: 82px;
  border-radius: 8px;
  background: rgba(23, 24, 22, 0.055);
  overflow: hidden;
}

.pulse-waterline i {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--level);
  border-radius: 8px 8px 0 0;
  background:
    linear-gradient(180deg, rgba(36, 93, 76, 0.22), rgba(55, 95, 122, 0.13)),
    rgba(255, 255, 255, 0.18);
  transition: height 520ms ease;
}

.pulse-waterline b {
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: calc(var(--level) - 6px);
  height: 18px;
  border-radius: 999px;
  background: radial-gradient(ellipse at 50% 50%, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0) 68%);
  opacity: 0.75;
  transition: bottom 520ms ease;
}

.artist-pulse-button:hover .pulse-waterline b {
  transform: translateX(4px);
}

.quiet-wave {
  position: relative;
  height: 52px;
  border-radius: 999px;
  background: rgba(23, 24, 22, 0.06);
  overflow: hidden;
}

.quiet-wave i {
  position: absolute;
  left: 0;
  bottom: 0;
  width: var(--level);
  height: 100%;
  border-radius: inherit;
  background: rgba(36, 93, 76, 0.16);
}

.method-whisper,
.method-chip {
  max-width: 940px;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.method-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.52);
  color: var(--blue);
  cursor: pointer;
}

.artist-field {
  display: grid;
  grid-template-columns: minmax(250px, 0.34fr) minmax(0, 0.66fr);
  gap: 28px;
  align-items: stretch;
}

.artist-tabs {
  display: grid;
  gap: 8px;
}

.artist-tab-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid var(--line);
}

.artist-tabs [data-artist-field] {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px 14px;
  width: 100%;
  min-height: 76px;
  padding: 10px 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
}

.artist-tab-row.active [data-artist-field] {
  color: var(--ink);
}

.artist-tabs span {
  grid-row: span 2;
  color: var(--blue);
  font-family: Georgia, serif;
  font-size: 24px;
}

.artist-tabs strong {
  font-size: 22px;
  line-height: 1.15;
}

.artist-tabs small {
  color: inherit;
}

.quick-ark {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--blue);
  cursor: pointer;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.artist-field-detail {
  position: relative;
  min-height: 420px;
  display: grid;
  grid-template-columns: minmax(180px, 0.38fr) minmax(0, 0.62fr);
  gap: 24px;
  align-items: end;
  padding: clamp(18px, 4vw, 38px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.42);
  overflow: hidden;
  transition: opacity 220ms ease, transform 220ms ease;
}

.artist-field-detail.is-changing {
  opacity: 0.5;
  transform: translateY(5px);
}

.field-water {
  position: relative;
  min-height: 310px;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0)),
    rgba(23, 24, 22, 0.05);
  overflow: hidden;
}

.field-water i {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--level);
  border-radius: 8px 8px 0 0;
  background:
    linear-gradient(180deg, rgba(36, 93, 76, 0.18), rgba(55, 95, 122, 0.16));
  transition: height 480ms ease;
}

.field-water b {
  position: absolute;
  left: 12px;
  bottom: 10px;
  z-index: 2;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.68);
  color: var(--green);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.allocation-line {
  color: var(--green);
  font-size: 14px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.artist-field-detail h3 {
  margin-top: 12px;
  font-size: clamp(36px, 5vw, 76px);
  font-family: Georgia, "Songti SC", serif;
  font-weight: 520;
}

.field-angle {
  color: var(--ink);
  font-size: 20px;
}

.section {
  padding: clamp(58px, 7vw, 96px) 0;
  border-top: 1px solid var(--line);
  scroll-margin-top: calc(var(--header) + 18px);
}

.section-head {
  display: grid;
  grid-template-columns: minmax(0, 0.76fr) minmax(280px, 0.42fr);
  gap: 32px;
  align-items: end;
  margin-bottom: 30px;
}

.section-head p {
  margin: 0;
  color: var(--muted);
}

:lang(zh-CN) .section-head {
  grid-template-columns: minmax(0, 0.72fr) minmax(300px, 0.4fr);
}

:lang(en) .section-head {
  grid-template-columns: minmax(0, 0.84fr) minmax(320px, 0.46fr);
}

.today-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.today-feature {
  min-height: 360px;
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(320px, 0.5fr);
  gap: 22px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.54);
}

.today-feature figure {
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
}

.today-feature img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fang-today img {
  object-position: 64% 45%;
}

.today-copy {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}

.signal-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 0;
}

.signal-line span,
.mini-signal,
.tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 26px;
  padding: 3px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.54);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.today-list {
  display: grid;
  gap: 10px;
}

.artist-moment-section {
  padding-top: clamp(44px, 6vw, 78px);
}

.moment-river {
  display: grid;
  gap: 0;
}

.moment-row {
  display: grid;
  grid-template-columns: minmax(160px, 0.28fr) minmax(0, 0.72fr);
  gap: 24px;
  align-items: center;
  min-height: 186px;
  padding: 18px 0;
  border-top: 1px solid var(--line);
}

.moment-row figure {
  margin: 0;
  aspect-ratio: 16 / 10;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(23, 24, 22, 0.05);
}

.moment-row img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.moment-row span {
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.moment-row h3 {
  margin: 6px 0 0;
  font-size: clamp(26px, 3vw, 44px);
}

.moment-row strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
  line-height: 1.35;
}

.moment-row p {
  margin: 8px 0 12px;
  color: var(--muted);
}

.observer-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 94px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
}

.observer-row b {
  font-family: Georgia, serif;
  font-size: 28px;
  font-weight: 500;
}

.observer-row p {
  margin: 4px 0 0;
  color: var(--muted);
}

.work-river {
  display: grid;
  grid-template-columns: minmax(0, 0.68fr) minmax(0, 1fr);
  gap: 26px;
  align-items: center;
}

.river-text {
  position: sticky;
  top: calc(var(--header) + 32px);
}

.work-stack {
  display: grid;
  gap: 18px;
}

.work-tease {
  display: grid;
  grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr);
  gap: 18px;
  align-items: end;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.work-tease:nth-child(even) {
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 0.42fr);
}

.work-tease img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 14px 38px rgba(24, 28, 20, 0.1);
}

.work-tease:nth-child(2) img {
  aspect-ratio: 3 / 4;
}

.work-tease:nth-child(3) img {
  aspect-ratio: 5 / 3;
}

.work-tease p {
  margin: 8px 0 0;
  color: var(--muted);
}

.profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.72fr);
  gap: clamp(34px, 6vw, 92px);
  align-items: end;
  min-height: calc(92vh - var(--header));
  padding: clamp(44px, 7vw, 88px) 0 42px;
}

.profile-title small {
  display: block;
  margin-top: 14px;
  color: var(--blue);
  font-family: Inter, "PingFang SC", sans-serif;
  font-size: clamp(28px, 3vw, 48px);
  font-weight: 700;
  line-height: 1.05;
}

.profile-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 30px;
}

.profile-meta span {
  min-width: 0;
  padding: 12px;
  border-top: 1px solid var(--line);
  color: var(--muted);
}

.profile-meta b {
  display: block;
  color: var(--ink);
  font-size: 18px;
}

.portrait-field {
  position: relative;
  min-height: 620px;
  display: grid;
  place-items: end center;
  overflow: hidden;
  border-radius: 8px;
}

.portrait-field::before {
  content: "";
  position: absolute;
  inset: 13% 4% 0 8%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.34);
  box-shadow: var(--shadow);
}

.portrait-field img {
  position: relative;
  z-index: 2;
  width: min(108%, 620px);
  max-height: 80vh;
  object-fit: contain;
  transform-origin: 50% 58%;
  margin-bottom: -34px;
  filter: drop-shadow(0 24px 34px rgba(24, 28, 20, 0.17));
  transition: transform 560ms ease;
}

.portrait-field.is-hearting img {
  transform: scale(1.018);
}

.heart-ring {
  position: absolute;
  z-index: 1;
  width: 42%;
  aspect-ratio: 1;
  border: 1px solid rgba(165, 74, 58, 0.28);
  border-radius: 50%;
  opacity: 0;
}

.heart-ring.one {
  right: 28%;
  top: 42%;
}

.heart-ring.two {
  right: 22%;
  top: 38%;
  width: 48%;
  border-color: rgba(36, 93, 76, 0.24);
}

.portrait-field.is-hearting .heart-ring.one {
  animation: heartLight 820ms ease-out forwards;
}

.portrait-field.is-hearting .heart-ring.two {
  animation: heartHeavy 1180ms 120ms ease-out forwards;
}

.profile-image-note {
  position: absolute;
  z-index: 3;
  left: 10px;
  bottom: 10px;
  max-width: 340px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--muted);
  font-size: 12px;
}

.fang-hero {
  position: relative;
  min-height: calc(88vh - var(--header));
  display: grid;
  grid-template-columns: minmax(300px, 0.36fr) minmax(0, 0.64fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  margin: 0 calc(clamp(16px, 3vw, 34px) * -1);
  padding: clamp(34px, 5vw, 68px) clamp(16px, 3vw, 34px) clamp(28px, 5vw, 58px);
  overflow: visible;
  border-bottom: 1px solid var(--line);
}

.fang-hero-image {
  position: relative;
  z-index: 0;
  width: 100%;
  height: clamp(500px, calc(82vh - var(--header)), 760px);
  border-radius: 8px 0 0 8px;
  overflow: hidden;
  background: rgba(23, 24, 22, 0.08);
  box-shadow: var(--shadow);
}

.fang-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(17, 19, 15, 0.12)),
    linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 32%);
  pointer-events: none;
}

.fang-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 54% 50%;
}

.fang-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 520px;
}

.fang-hero .profile-meta {
  max-width: 520px;
  grid-template-columns: 1fr;
}

.bio-supplied p {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.82;
}

.signal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.signal-block {
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 16px;
  border-top: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.42);
}

.signal-block span {
  color: var(--green);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
}

.signal-block strong {
  display: block;
  margin-top: 18px;
  font-size: 28px;
}

.signal-block p {
  margin: 12px 0 0;
  color: var(--muted);
}

.arc-layout {
  display: grid;
  grid-template-columns: minmax(240px, 0.34fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.arc-list {
  display: grid;
  gap: 6px;
}

.arc-button {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
}

.arc-button.active {
  color: var(--ink);
}

.arc-button time {
  color: var(--blue);
  font-weight: 800;
}

.arc-detail {
  min-height: 360px;
  padding: clamp(20px, 4vw, 42px);
  border-left: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.38);
  transition: opacity 260ms ease, transform 260ms ease;
}

.arc-detail.is-changing {
  opacity: 0;
  transform: translateX(10px);
}

.arc-detail time {
  color: var(--blue);
  font-weight: 800;
}

.arc-detail p {
  max-width: 760px;
  color: var(--muted);
  font-size: 18px;
}

.story-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}

.story-item {
  grid-column: span 6;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: zoom-in;
}

.story-item.wide {
  grid-column: span 8;
}

.story-item.narrow {
  grid-column: span 4;
}

.story-item figure {
  margin: 0;
}

.story-item img {
  width: 100%;
  aspect-ratio: var(--ratio, 4 / 3);
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 16px 42px rgba(24, 28, 20, 0.1);
}

.story-item figcaption {
  margin-top: 12px;
}

.story-item strong,
.story-item span {
  display: block;
}

.story-item span {
  margin-top: 5px;
  color: var(--muted);
}

.source-split,
.media-split,
.watch-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(0, 0.38fr);
  gap: 22px;
}

.source-list,
.media-list {
  display: grid;
  gap: 10px;
}

.source-row,
.media-row,
.watch-box {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}

button.watch-box {
  width: 100%;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

button.watch-box:disabled {
  cursor: default;
  opacity: 0.72;
}

.source-row time,
.media-row time {
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.source-row p,
.media-row p,
.watch-box p {
  margin: 6px 0 0;
  color: var(--muted);
}

.source-row a,
.media-row a {
  display: inline-flex;
  margin-top: 10px;
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
}

.watch-panel {
  align-items: start;
}

.ark-box {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.5);
}

.ark-box strong {
  display: block;
  margin: 6px 0 16px;
  font-size: 40px;
}

.ark-box label {
  display: block;
  color: var(--muted);
}

.ark-holding {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 16px 0 22px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.ark-holding span {
  min-width: 0;
  padding: 13px 10px 12px 0;
}

.ark-holding span + span {
  padding-left: 10px;
  border-left: 1px solid var(--line);
}

.ark-holding small,
.ark-holding b {
  display: block;
}

.ark-holding small {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.ark-holding b,
.ark-box .ark-holding b {
  margin: 0;
  color: var(--ink);
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(16px, 1.65vw, 22px);
  font-weight: 500;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.ark-holding .ark-change-value i {
  margin-right: 5px;
  font-style: normal;
}

.ark-holding.pulse-direction-active .ark-change-value,
.arc-summary .pulse-direction-active strong,
.hero-ark-stats .pulse-direction-active strong {
  color: var(--green);
}

.ark-holding.pulse-direction-cooling .ark-change-value,
.arc-summary .pulse-direction-cooling strong,
.hero-ark-stats .pulse-direction-cooling strong {
  color: #9c4d43;
}

input[type="range"] {
  width: 100%;
  margin: 12px 0 18px;
  accent-color: var(--green);
}

.ark-control {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 36px;
  gap: 10px;
  align-items: center;
  margin: 10px 0 16px;
}

.ark-control input[type="range"] {
  margin: 0;
}

.method-note {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.method-note article {
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.method-note p {
  color: var(--muted);
}

.onview-band {
  padding-top: 44px;
}

.onview-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 16px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.onview-line strong {
  color: var(--green);
  font-size: 20px;
}

.onview-line span {
  color: var(--muted);
}

.venice-grid,
.two-voice {
  display: grid;
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
  gap: 24px;
  align-items: start;
}

.fact-panel,
.analysis-panel,
.two-voice article {
  padding: 18px 0 0;
  border-top: 1px solid var(--line-strong);
}

.fact-panel span,
.analysis-panel span,
.two-voice span,
.social-fact span {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.fact-panel p,
.analysis-panel p,
.two-voice p,
.social-row p {
  color: var(--muted);
}

.fact-panel a,
.pulse-detail a,
.social-row a {
  display: inline-flex;
  margin-top: 12px;
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
}

.analysis-panel ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 18px 0;
  list-style: none;
}

.analysis-panel li {
  max-width: none;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
}

.scroll-shell {
  position: relative;
}

.scroll-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}

.scroll-progress-label {
  min-width: 54px;
  color: var(--green);
  font-weight: 800;
}

.scroll-viewer {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.55);
  cursor: grab;
  scrollbar-width: thin;
  touch-action: pan-x;
}

.scroll-viewer:focus {
  outline: 2px solid rgba(36, 93, 76, 0.35);
  outline-offset: 3px;
}

.scroll-viewer.is-dragging {
  cursor: grabbing;
}

.scroll-track {
  display: flex;
  width: var(--scroll-width);
  height: min(var(--scroll-height), 72vh);
  min-height: 430px;
}

.scroll-track img {
  flex: 0 0 auto;
  width: auto;
  height: 100%;
  max-width: none;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

.scroll-mini {
  position: relative;
  height: 42px;
  margin-top: 12px;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.62);
  cursor: pointer;
}

.scroll-mini img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.scroll-mini span {
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 0;
  border: 1px solid rgba(23, 24, 22, 0.78);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
}

.scroll-caption {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 16px;
  margin-top: 14px;
  color: var(--muted);
}

.scroll-caption span {
  color: var(--green);
  font-weight: 800;
}

.scroll-caption p {
  margin: 0;
}

.pulse-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.66fr) minmax(300px, 0.34fr);
  gap: 28px;
  align-items: stretch;
}

.pulse-chart {
  position: relative;
  min-height: 360px;
  display: grid;
  grid-template-columns: repeat(7, minmax(70px, 1fr));
  gap: 10px;
  align-items: end;
  padding: 24px 0 10px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.pulse-chart::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 27%;
  height: 1px;
  background: rgba(36, 93, 76, 0.14);
}

.pulse-point {
  position: relative;
  height: 310px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 8px;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: center;
}

.pulse-point i {
  align-self: end;
  width: 100%;
  height: var(--level);
  border-radius: 8px 8px 3px 3px;
  background: rgba(36, 93, 76, 0.18);
  box-shadow: inset 0 0 0 1px rgba(36, 93, 76, 0.18);
  transition: height 420ms ease, background 240ms ease, transform 240ms ease;
}

.pulse-point.practice i { background: rgba(55, 95, 122, 0.22); }
.pulse-point.institution i { background: rgba(36, 93, 76, 0.24); }
.pulse-point.discourse i { background: rgba(128, 105, 31, 0.22); }
.pulse-point.public i { background: rgba(165, 74, 58, 0.2); }

.pulse-point.active i,
.pulse-point:hover i {
  transform: translateY(-4px);
  background: rgba(23, 24, 22, 0.26);
}

.pulse-point span,
.pulse-point b {
  font-size: 12px;
  font-weight: 800;
}

.pulse-point b {
  color: var(--muted);
}

.pulse-detail {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.52);
  transition: opacity 220ms ease, transform 220ms ease;
}

.pulse-detail.is-changing {
  opacity: 0;
  transform: translateY(6px);
}

.pulse-detail span {
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.pulse-detail dl {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
}

.pulse-detail dt {
  color: var(--ink);
  font-weight: 800;
}

.pulse-detail dd {
  margin: -6px 0 6px;
  color: var(--muted);
}

.pulse-judgement {
  margin-top: 22px;
  color: var(--ink);
  font-size: 18px;
}

.market-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.64fr) minmax(300px, 0.36fr);
  gap: 28px;
  align-items: stretch;
}

.market-rail {
  display: grid;
  gap: 10px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.market-point {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) minmax(160px, auto);
  gap: 16px;
  align-items: center;
  min-height: 58px;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid rgba(23, 24, 22, 0.08);
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.market-point time {
  color: var(--green);
  font-weight: 800;
}

.market-point span {
  font-weight: 700;
}

.market-point b {
  justify-self: end;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.market-point.active,
.market-point:hover {
  color: var(--blue);
}

.collection-grid,
.news-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 26px;
}

.collection-row,
.news-row {
  padding: 16px 0;
  border-top: 1px solid var(--line);
}

.news-row {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 18px;
  min-width: 0;
  max-width: 100%;
}

.collection-row p,
.news-row p {
  color: var(--muted);
}

.collection-row a,
.news-row a {
  display: inline-flex;
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
}

.news-row time {
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.social-editorial {
  display: grid;
  gap: 0;
}

.social-row {
  display: grid;
  grid-template-columns: 150px minmax(0, 0.46fr) minmax(0, 0.54fr);
  gap: 22px;
  padding: 20px 0;
  border-top: 1px solid var(--line);
}

.social-row time {
  color: var(--green);
  font-weight: 800;
}

.social-fact h3 {
  margin-bottom: 4px;
}

.fang-image-section {
  padding-top: clamp(46px, 6vw, 84px);
}

.fang-image-large {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  grid-auto-rows: minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.fang-image-large .fang-image-card:first-child {
  grid-row: span 2;
  aspect-ratio: auto;
}

.fang-image-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.fang-image-card {
  position: relative;
  min-width: 0;
  min-height: 0;
  display: grid;
  align-items: end;
  aspect-ratio: var(--ratio, 4 / 3);
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: rgba(23, 24, 22, 0.06);
  color: var(--paper-solid);
  text-align: left;
  overflow: hidden;
  cursor: zoom-in;
  max-width: 100%;
}

.fang-image-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 520ms ease;
}

.fang-image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(17, 19, 15, 0.02), rgba(17, 19, 15, 0.58)),
    linear-gradient(90deg, rgba(17, 19, 15, 0.22), rgba(17, 19, 15, 0));
  pointer-events: none;
}

.fang-image-card span {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  padding: 16px;
}

.fang-image-card strong {
  display: block;
  font-size: clamp(20px, 2.2vw, 32px);
  line-height: 1.1;
}

.fang-image-card p {
  margin: 7px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  line-height: 1.5;
}

.fang-image-card:hover img {
  transform: scale(1.025);
}

.fang-image-card.poster {
  background: rgba(36, 93, 76, 0.12);
}

.generic-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr);
  gap: clamp(26px, 4vw, 62px);
  align-items: center;
  min-height: calc(86vh - var(--header));
  padding: clamp(34px, 6vw, 76px) 0 clamp(28px, 5vw, 58px);
}

.generic-hero-copy {
  max-width: 760px;
}

.generic-hero-image,
.generic-work-image {
  position: relative;
  display: grid;
  align-items: end;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(23, 24, 22, 0.07);
  box-shadow: var(--shadow);
}

.generic-hero-image {
  min-height: min(68vh, 680px);
}

.generic-hero-image img,
.generic-work-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.generic-hero-image figcaption,
.generic-work-image span {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  padding: 9px 11px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
  background: rgba(17, 19, 15, 0.58);
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  line-height: 1.45;
  backdrop-filter: blur(8px);
}

.generic-pulse-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.generic-pulse-card {
  min-height: 250px;
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 10px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.46);
}

.generic-pulse-card span {
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.generic-pulse-card strong {
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 500;
  line-height: 0.94;
}

.generic-pulse-value i {
  height: auto;
  min-height: 0;
  background: none;
  font-size: 0.82em;
}

.generic-pulse-trace {
  display: flex;
  align-items: end;
  min-height: 84px;
}

.generic-pulse-trace i {
  width: 100%;
  align-self: end;
  height: var(--level);
  min-height: 24px;
  border-radius: 8px 8px 3px 3px;
  background: linear-gradient(180deg, rgba(36, 93, 76, 0.22), rgba(55, 95, 122, 0.14));
}

.generic-anchor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.generic-anchor-grid article {
  min-height: 230px;
  padding: 16px 0 0;
  border-top: 1px solid var(--line-strong);
}

.generic-anchor-grid time {
  color: var(--blue);
  font-weight: 800;
}

.generic-anchor-grid p {
  color: var(--muted);
}

.generic-work-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.5fr) minmax(0, 0.5fr);
  gap: 24px;
  align-items: start;
}

.generic-work-image {
  width: 100%;
  min-height: 520px;
  padding: 0;
  border: 0;
  color: inherit;
  cursor: zoom-in;
}

.compact-source {
  grid-template-columns: 86px minmax(0, 1fr);
}

.social-editorial.compact .social-row {
  grid-template-columns: 150px minmax(0, 0.34fr) minmax(0, 0.66fr);
}

.curategist-section .section-head p {
  color: var(--ink);
}

.dialog,
.art-dialog {
  width: min(620px, calc(100vw - 28px));
  padding: 0;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: var(--paper-solid);
  box-shadow: var(--shadow);
}

.dialog::backdrop,
.art-dialog::backdrop {
  background: rgba(17, 19, 15, 0.34);
  backdrop-filter: blur(7px);
}

.dialog form {
  padding: 22px;
}

.dialog-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.icon-button {
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  color: var(--ink);
  cursor: pointer;
}

.take-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0;
}

.take-options button {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}

.take-options button.active {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper-solid);
}

textarea {
  width: 100%;
  min-width: 0;
  margin-top: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.55);
  resize: vertical;
}

.form-note {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.45;
}

.form-error {
  min-height: 24px;
  margin: 6px 0 10px;
  color: #954239;
}

.take-dialog-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.take-dialog-actions .primary-button {
  margin-left: auto;
}

.my-take-preview {
  max-width: 44rem;
  margin: 18px 0 24px;
  padding-left: 18px;
  border-left: 1px solid var(--line-strong);
  color: var(--ink);
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.75;
  white-space: pre-wrap;
}

@media (max-width: 720px) {
  #takeDialog {
    width: min(100% - 20px, 560px);
    max-height: calc(100svh - 20px);
  }

  #takeDialog form {
    max-height: calc(100svh - 20px);
    padding: 18px;
    overflow-y: auto;
  }

  #takeDialog h2 {
    font-size: 28px;
  }

  .take-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .take-options button {
    min-height: 44px;
  }

  #takeReason {
    min-height: 132px;
    font-size: 16px;
  }

  .take-dialog-actions {
    flex-wrap: wrap;
  }

  .take-dialog-actions .primary-button {
    flex: 1 1 180px;
    min-height: 46px;
  }
}

/* Release 36: a looser editorial rhythm for shared and research pages. */
.method-note {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 30px 22px;
  counter-reset: artistark-method;
}

.method-note article {
  grid-column: span 6;
  position: relative;
  min-height: 154px;
  padding: 20px 0 12px 42px;
  counter-increment: artistark-method;
}

.method-note article::before {
  content: "0" counter(artistark-method);
  position: absolute;
  left: 0;
  top: 21px;
  color: var(--quiet);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.method-note article:nth-child(3),
.method-note article:nth-child(6) {
  grid-column: 3 / span 8;
}

.method-note h3 {
  max-width: 24ch;
  margin-top: 0;
}

.method-note p {
  max-width: 58ch;
  line-height: 1.82;
}

.watch-story,
.method-story {
  display: grid;
  grid-template-columns: 58px minmax(0, 720px);
  gap: 22px;
  align-items: start;
  margin: 54px 0 10px;
  padding: 28px 0 34px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.watch-story > span,
.method-story > span {
  color: var(--green);
  font-family: var(--serif);
  font-size: 34px;
  line-height: 1;
}

.watch-story h2,
.method-story h2 {
  max-width: 20ch;
  margin: 0;
  font-size: clamp(24px, 2.6vw, 38px);
  line-height: 1.18;
}

.watch-story p,
.method-story p {
  max-width: 62ch;
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.9;
}

.watch-panel.section,
.method-note.section {
  margin-top: 38px;
}

.research-source-waiting {
  grid-column: 1 / -1;
  max-width: 760px;
  padding: 22px 0 8px;
  border-top: 1px solid var(--line-strong);
}

.research-source-waiting span {
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.research-source-waiting p {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.8;
}

.rights-policy-entry {
  align-items: baseline;
  margin-top: 54px;
  padding-top: 20px;
  border-top: 1px solid var(--line-strong);
}

.access-page .display {
  max-width: 13ch;
}

.access-page > .lead {
  max-width: 680px;
  line-height: 1.85;
}

.access-flow {
  gap: 24px;
  background: transparent;
}

.access-flow li {
  min-height: 112px;
  align-content: start;
  padding: 14px 0 18px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid transparent;
  background: transparent;
  font-size: 13px;
  line-height: 1.55;
}

.access-flow li:nth-child(even) {
  margin-top: 24px;
}

.access-flow li::before {
  color: var(--green);
}

.access-form {
  margin-left: clamp(0px, 6vw, 92px);
}

.research-profile-hero .generic-hero-copy > .lead {
  max-width: 36ch;
  line-height: 1.9;
}

.research-role-note {
  display: grid;
  gap: 10px;
  max-width: 54rem;
  padding: 14px 0;
  border-top: 1px solid rgba(32, 45, 42, 0.18);
  border-bottom: 1px solid rgba(32, 45, 42, 0.18);
}

.research-role-note > strong {
  font-size: 0.78rem;
  font-weight: 650;
}

.research-role-note > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.research-role-note span {
  padding: 4px 8px;
  border: 1px solid rgba(32, 45, 42, 0.18);
  font-size: 0.74rem;
}

.research-role-note p {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.7;
}

.research-profile-hero .profile-meta span:nth-child(2n) {
  transform: translateY(7px);
}

.research-event-grid,
.research-account-grid {
  gap: 26px;
  background: transparent;
}

.research-event-grid article,
.research-account-grid article {
  padding: 20px 0 18px;
  border-top: 1px solid var(--line-strong);
  background: transparent;
}

.research-event-grid article:nth-child(even),
.research-account-grid article:nth-child(even) {
  margin-top: 34px;
}

.research-event-grid article:nth-child(3n + 1),
.research-account-grid article:nth-child(3n + 1) {
  border-top-color: var(--green);
}

.research-event-grid h3,
.research-account-grid h3 {
  max-width: 22ch;
}

.research-dimension-grid article:nth-child(3n + 1) {
  border-top-color: var(--green);
}

.research-dimension-grid article:nth-child(3n + 3) {
  border-top-color: var(--red);
}

.profile-system-section.dossier-market-section > .profile-dimension-grid {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  .method-note article,
  .method-note article:nth-child(3),
  .method-note article:nth-child(6) {
    grid-column: span 6;
  }

  .access-form {
    margin-left: 0;
  }
}

@media (max-width: 720px) {
  .watch-story,
  .method-story {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 12px;
    margin-top: 36px;
    padding: 22px 0 26px;
  }

  .watch-story > span,
  .method-story > span {
    font-size: 25px;
  }

  .watch-story h2,
  .method-story h2 {
    font-size: 25px;
  }

  .watch-story p,
  .method-story p {
    font-size: 15px;
    line-height: 1.78;
  }

  .method-note {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .method-note article,
  .method-note article:nth-child(3),
  .method-note article:nth-child(6) {
    grid-column: 1;
    min-height: 0;
    padding-left: 36px;
  }

  .access-flow {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .access-flow li,
  .access-flow li:nth-child(even) {
    min-height: 0;
    margin-top: 0;
  }

  .research-profile-hero .profile-meta span:nth-child(2n),
  .research-event-grid article:nth-child(even),
  .research-account-grid article:nth-child(even) {
    transform: none;
    margin-top: 0;
  }
}

.watch-note {
  max-width: 52rem;
  color: var(--ink) !important;
  white-space: pre-wrap;
}

.art-dialog {
  width: min(1180px, calc(100vw - 30px));
  background: #11130f;
  color: var(--paper-solid);
}

.art-dialog .icon-button {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
}

.art-dialog figure {
  margin: 0;
}

.art-dialog img {
  width: 100%;
  max-height: 58svh;
  object-fit: contain;
  background: #11130f;
}

.art-dialog figcaption {
  padding: 16px 18px 20px;
}

.art-dialog figcaption span {
  display: block;
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.72);
}

.art-dialog-rights {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.art-dialog-rights > strong {
  display: block;
  color: rgba(255, 255, 255, 0.92);
  font-size: 12px;
  font-weight: 650;
}

.art-dialog-rights p {
  max-width: 78ch;
  margin: 7px 0 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
  line-height: 1.6;
}

.art-dialog-rights > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}

.art-dialog-rights .text-button {
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.92);
}

.image-rights-aware {
  position: relative;
}

.image-rights-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 4;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
  background: rgba(17, 19, 15, 0.72);
  color: var(--paper-solid);
  font-family: Georgia, serif;
  font-size: 14px;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.image-rights-badge:hover,
.image-rights-badge:focus-visible {
  background: rgba(17, 19, 15, 0.94);
  outline: 1px solid var(--paper-solid);
  outline-offset: 2px;
}

.image-rights-inline {
  display: flex !important;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.image-rights-inline b {
  color: var(--ink);
  font-weight: 650;
}

.image-rights-on-hold {
  min-height: 180px;
  background: rgba(245, 246, 248, 0.78);
}

.image-rights-on-hold img,
.image-rights-on-hold img[hidden] {
  display: none !important;
}

.image-rights-hold-note {
  display: grid;
  min-height: 180px;
  place-items: center;
  padding: 28px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

.image-rights-dialog {
  width: min(760px, calc(100vw - 28px));
  max-height: calc(100svh - 28px);
}

.image-rights-dialog form {
  max-height: calc(100svh - 28px);
  overflow-y: auto;
}

.image-rights-summary {
  display: grid;
  gap: 5px;
  margin: 18px 0;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.image-rights-summary > span {
  color: var(--muted);
  font-size: 11px;
  overflow-wrap: anywhere;
}

.image-rights-summary p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.image-rights-summary a {
  width: fit-content;
  margin-top: 3px;
  color: var(--green);
  font-size: 12px;
}

.image-rights-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.image-rights-fields label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
}

.image-rights-fields input,
.image-rights-fields select {
  width: 100%;
  min-height: 42px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--ink);
}

.image-rights-details {
  grid-column: 1 / -1;
}

.image-rights-dialog .access-consent {
  margin-top: 14px;
}

.cloud-account-status {
  display: flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 8px;
  margin: 18px 0 24px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.cloud-account-status span {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #248162;
  box-shadow: 0 0 0 4px rgba(36, 129, 98, 0.12);
}

.cloud-account-status.is-offline span {
  background: #9b6b35;
  box-shadow: 0 0 0 4px rgba(155, 107, 53, 0.12);
}

.cloud-auth-dialog form {
  width: min(460px, calc(100vw - 32px));
}

.cloud-auth-dialog > form > p {
  margin: 6px 0 10px;
  color: var(--muted);
  line-height: 1.65;
}

.cloud-auth-email {
  display: block;
  margin-bottom: 20px;
  color: var(--ink);
  overflow-wrap: anywhere;
}

.cloud-auth-dialog input {
  width: 100%;
  margin-top: 8px;
  font-size: 22px;
  letter-spacing: 0;
  text-align: center;
}

button[aria-busy="true"] {
  cursor: wait;
  opacity: 0.62;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.rights-policy-entry {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-top: 24px;
}

.rights-policy-entry p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 100;
  max-width: min(540px, calc(100vw - 28px));
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(17, 19, 15, 0.9);
  color: var(--paper-solid);
  opacity: 0;
  transform: translate(-50%, 16px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

@keyframes pointerRipple {
  0% { opacity: 0.45; transform: scale(0.4); }
  100% { opacity: 0; transform: scale(6.2); }
}

@keyframes buttonBounce {
  0% { transform: scale(1); }
  38% { transform: scale(0.965); }
  72% { transform: scale(1.04); }
  100% { transform: scale(1); }
}

@keyframes heartLight {
  0% { opacity: 0.28; transform: scale(0.55); }
  100% { opacity: 0; transform: scale(1.28); }
}

@keyframes heartHeavy {
  0% { opacity: 0.22; transform: scale(0.62); }
  100% { opacity: 0; transform: scale(1.82); }
}

@media (max-width: 1080px) {
  .site-header {
    grid-template-columns: 1fr auto;
  }

  .nav {
    grid-column: 1 / -1;
    justify-content: flex-start;
    order: 3;
  }

  .header-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .home-hero,
  .profile-hero,
  .fang-hero,
  .generic-hero,
  .home-pulse-grid,
  .artist-field,
  .today-grid,
  .work-river,
  .source-split,
  .media-split,
  .watch-panel,
  .venice-grid,
  .two-voice,
  .pulse-layout {
    grid-template-columns: 1fr;
  }

  .fang-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    align-items: start;
  }

  .fang-hero-copy {
    max-width: min(680px, 84vw);
  }

  .fang-hero-image {
    height: min(62vh, 620px);
    border-radius: 8px;
  }

  .artist-pulse-compare,
  .fang-image-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fang-image-large {
    grid-template-columns: 1fr;
  }

  .fang-image-large .fang-image-card:first-child {
    grid-row: auto;
  }

  .market-layout,
  .generic-work-grid,
  .collection-grid,
  .news-grid {
    grid-template-columns: 1fr;
  }

  .artist-field-detail {
    grid-template-columns: 1fr;
  }

  .field-water {
    min-height: 150px;
  }

  .hero-art {
    min-height: 520px;
  }

  .river-text {
    position: static;
  }

  .signal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .generic-anchor-grid,
  .generic-pulse-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  :root {
    --header: 134px;
  }

  body {
    font-size: 16px;
  }

  .site-header {
    padding: 12px 14px;
    gap: 10px;
  }

  .brand strong {
    font-size: 16px;
  }

  .brand small {
    display: block;
    max-width: 132px;
    font-size: 9px;
    line-height: 1.2;
  }

  .nav {
    margin: 0 -14px;
    padding: 0 14px 2px;
  }

  .nav a {
    padding: 7px 10px;
    font-size: 12px;
  }

  .header-actions {
    gap: 6px;
  }

  .ark-header-button {
    min-height: 32px;
    padding: 0 10px;
    gap: 6px;
  }

  .ark-header-button span {
    font-size: 11px;
  }

  .ark-header-button strong {
    font-size: 13px;
  }

  .quiet-button {
    display: none;
  }

  #searchToggle {
    width: 32px;
    min-width: 32px;
    min-height: 32px;
    display: inline-flex;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
  }

  #searchToggle .search-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .app {
    padding: 0 14px 52px;
  }

  .home-hero {
    min-height: auto;
    padding-top: 18px;
    padding-bottom: 18px;
    gap: 18px;
  }

  .generic-hero {
    min-height: auto;
    padding-top: 24px;
    gap: 18px;
  }

  .generic-hero-image {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .generic-hero-image figcaption {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    margin: 8px;
    background: rgba(17, 19, 15, 0.76);
  }

  .fang-hero {
    min-height: auto;
    margin: 0 -14px;
    padding: 20px 14px 30px;
    align-items: start;
    gap: 18px;
  }

  .fang-hero-image {
    order: 2;
    height: min(54vh, 430px);
    min-height: 330px;
    border-radius: 8px;
  }

  .fang-hero-image img {
    object-position: 54% 50%;
  }

  .fang-hero-image::after {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(17, 19, 15, 0.12)),
      linear-gradient(90deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
  }

  .fang-hero-copy {
    order: 1;
    max-width: 100%;
  }

  .display {
    font-size: clamp(44px, 15vw, 66px);
  }

  h1,
  .profile-title {
    font-size: clamp(42px, 13vw, 64px);
    line-height: 0.98;
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  h2 {
    font-size: clamp(26px, 8vw, 38px);
    line-height: 1.12;
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  h3 {
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  .display .motion-line {
    white-space: normal;
    font-size: clamp(34px, 11vw, 48px);
    line-height: 1.06;
  }

  .mobile-line-break {
    display: block;
  }

  .home-copy {
    order: 1;
  }

  .hero-art {
    order: 0;
    min-height: 240px;
  }

  .hero-art img {
    min-height: 240px;
    max-height: 34vh;
  }

  .hero-caption {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    margin-top: 10px;
    background: rgba(17, 19, 15, 0.76);
  }

  .section {
    padding: 52px 0;
  }

  .section-head,
  .today-feature,
  .work-tease,
  .work-tease:nth-child(even),
  .arc-layout,
  .profile-meta,
  .method-note,
  .source-row,
  .media-row,
  .watch-box,
  .onview-line,
  .social-row,
  .scroll-caption,
  .market-point,
  .news-row,
  .artist-tab-row,
  .moment-row {
    grid-template-columns: 1fr;
  }

  :lang(zh-CN) .section-head,
  :lang(en) .section-head {
    grid-template-columns: 1fr;
  }

  .artist-pulse-compare,
  .fang-image-large,
  .fang-image-flow,
  .generic-anchor-grid,
  .generic-pulse-grid {
    grid-template-columns: 1fr;
  }

  .artist-pulse-button {
    min-height: 220px;
  }

  .moment-row figure {
    aspect-ratio: 16 / 9;
  }

  .market-point b {
    justify-self: start;
  }

  .quick-ark {
    width: fit-content;
    margin-bottom: 8px;
  }

  .ark-desk {
    align-items: end;
    justify-items: stretch;
  }

  .ark-desk-panel {
    width: 100%;
    height: min(72vh, 620px);
    border-left: 0;
    border-top: 1px solid var(--line);
    border-radius: 8px 8px 0 0;
    transform: translateY(102%);
  }

  .ark-desk.open .ark-desk-panel {
    transform: translateY(0);
  }

  .today-feature {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .today-feature figure {
    min-height: 310px;
  }

  .observer-row {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .observer-row .mini-signal {
    grid-column: 2;
  }

  .profile-hero {
    min-height: auto;
    padding-top: 34px;
  }

  .portrait-field {
    min-height: 480px;
  }

  .portrait-field img {
    width: min(116%, 520px);
    margin-bottom: -28px;
  }

  .profile-image-note {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: -16px;
  }

  .signal-grid,
  .story-grid {
    grid-template-columns: 1fr;
  }

  .story-item,
  .story-item.wide,
  .story-item.narrow {
    grid-column: auto;
  }

  .arc-detail {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 24px 0 0;
  }

  .scroll-toolbar {
    position: sticky;
    top: calc(var(--header) + 4px);
    z-index: 4;
    padding: 8px 0;
    background: rgba(255, 255, 255, 0.86);
    backdrop-filter: blur(12px);
  }

  .scroll-toolbar .secondary-button {
    min-height: 38px;
    padding: 0 12px;
  }

  .scroll-track {
    height: 58vh;
    min-height: 360px;
  }

  .pulse-chart {
    grid-template-columns: repeat(7, 84px);
    overflow-x: auto;
    min-height: 300px;
    padding-bottom: 18px;
  }

  .generic-work-image {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .social-editorial.compact .social-row {
    grid-template-columns: 1fr;
  }

  .generic-pulse-card,
  .generic-anchor-grid article {
    min-height: 0;
  }

  .pulse-point {
    height: 260px;
  }

  .social-row {
    gap: 8px;
  }

  .news-row,
  .news-row > *,
  .collection-row,
  .source-row,
  .media-row {
    min-width: 0;
    max-width: 100%;
  }

  .news-row h3,
  .news-row p,
  .source-row h3,
  .source-row p {
    max-width: 100%;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .venice-section h2 {
    font-size: clamp(26px, 8vw, 38px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }

  .flow-canvas,
  .ripple-layer,
  .heart-ring {
    display: none;
  }
}

/* Release 32: scalable constellations, traditional colour families and account gateways. */
.constellation-groups [data-home-practice-group="language-systems"] { --group-colour: 53, 78, 96; }
.constellation-groups [data-home-practice-group="moving-image-time"] { --group-colour: 193, 154, 58; }
.constellation-groups [data-home-practice-group="material-memory"] { --group-colour: 75, 113, 96; }
.constellation-groups [data-home-practice-group="body-avatar"] { --group-colour: 177, 76, 82; }
.constellation-groups [data-home-practice-group="machine-co-creation"] { --group-colour: 76, 129, 142; }
.constellation-groups [data-home-practice-group="organisation-boundaries"] { --group-colour: 145, 99, 128; }
.constellation-groups [data-home-practice-group="sound-ritual"] { --group-colour: 122, 91, 59; }
.constellation-groups [data-home-practice-group="land-place"] { --group-colour: 76, 103, 62; }
.constellation-groups [data-home-practice-group="social-life"] { --group-colour: 151, 67, 49; }

.constellation-groups [data-home-practice-group]:not([data-home-practice-group="all"]).active,
.constellation-groups [data-home-practice-group]:not([data-home-practice-group="all"]):hover,
.constellation-groups [data-home-practice-group]:not([data-home-practice-group="all"]):focus-visible {
  color: rgb(var(--group-colour));
  border-bottom-color: rgba(var(--group-colour), 0.7);
}

.stardust-star {
  background: radial-gradient(circle,
    rgba(255, 255, 255, 0.99) 0%,
    rgba(255, 255, 255, 0.88) 16%,
    rgba(var(--star-tint), calc(0.06 + var(--star-strength) * 0.22)) 36%,
    rgba(var(--star-tint), calc(0.018 + var(--star-strength) * 0.08)) 61%,
    rgba(var(--star-tint), 0) 84%);
}

.stardust-star::before {
  background: radial-gradient(circle,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0.9) 34%,
    rgba(var(--star-tint), calc(0.07 + var(--star-strength) * 0.2)) 68%,
    rgba(var(--star-tint), 0) 90%);
}

.stardust-star::after {
  background: radial-gradient(circle at 46% 42%,
    #ffffff 0%,
    rgba(255, 255, 255, 1) 50%,
    rgba(var(--star-tint), calc(0.08 + var(--star-strength) * 0.18)) 82%,
    rgba(var(--star-tint), 0) 100%);
}

.stardust-node.is-evidence-building {
  opacity: 0.58;
}

.stardust-node.is-evidence-building:hover,
.stardust-node.is-evidence-building:focus-visible,
.stardust-node.is-evidence-building.active {
  opacity: 0.92;
}

.stardust-name em {
  max-width: 96px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.stardust-info-copy > p strong.is-evidence-label {
  max-width: 92px;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.35;
}

.account-hub {
  width: min(720px, calc(100vw - 28px));
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  box-shadow: 0 28px 80px rgba(37, 40, 36, 0.18);
}

.account-hub::backdrop {
  background: rgba(40, 43, 39, 0.2);
  backdrop-filter: blur(8px);
}

.account-hub-panel {
  padding: 26px;
}

.account-hub-panel h2 {
  margin: 5px 0 0;
}

.account-role-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 26px;
  background: var(--line);
}

.account-role-grid button {
  min-height: 190px;
  display: grid;
  align-content: end;
  justify-items: start;
  gap: 8px;
  padding: 24px;
  border: 0;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.96);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: background 180ms ease, transform 180ms ease;
}

.account-role-grid button:hover,
.account-role-grid button:focus-visible {
  background: #ffffff;
  transform: translateY(-3px);
}

.account-role-grid span,
.account-role-grid small,
.account-hub-panel > p {
  color: var(--muted);
}

.account-role-grid strong {
  font-family: Georgia, "Songti SC", serif;
  font-size: 24px;
  font-weight: 500;
}

.account-hub-panel > p {
  margin: 20px 0 0;
  font-size: 12px;
}

.access-page {
  min-height: calc(100svh - var(--header));
  padding-top: clamp(58px, 8vw, 110px);
}

.access-page > .lead {
  max-width: 760px;
}

.access-form {
  width: min(760px, 100%);
  display: grid;
  gap: 18px;
  margin-top: 42px;
  padding-top: 28px;
  border-top: 1px solid var(--line-strong);
}

.access-form > label:not(.access-consent) {
  display: grid;
  grid-template-columns: minmax(130px, 0.3fr) minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.access-form label > span {
  color: var(--muted);
  font-size: 12px;
}

.access-form input:not([type="checkbox"]),
.access-form textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
  font: inherit;
}

.access-form textarea {
  resize: vertical;
}

.access-consent {
  display: flex;
  gap: 10px;
  align-items: center;
  padding-left: calc(30% + 18px);
}

.access-flow {
  width: min(900px, 100%);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  margin: 40px 0 0;
  padding: 0;
  background: var(--line);
  list-style: none;
  counter-reset: access-flow;
}

.access-flow li {
  min-height: 96px;
  display: grid;
  align-content: end;
  gap: 8px;
  padding: 14px;
  background: var(--paper);
  font-size: 12px;
  counter-increment: access-flow;
}

.access-flow li::before {
  content: "0" counter(access-flow);
  color: var(--quiet);
  font-variant-numeric: tabular-nums;
}

.research-profile-hero {
  min-height: min(800px, calc(100svh - var(--header)));
}

.research-profile-sky {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  background: radial-gradient(circle at 54% 46%, rgba(255, 255, 255,.94), rgba(75,113,96,.06) 18%, rgba(255, 255, 255,0) 55%);
}

.research-profile-sky span,
.research-profile-sky i {
  position: absolute;
  left: 54%;
  top: 46%;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: radial-gradient(circle, #ffffff 0 24%, rgba(75,113,96,.28) 46%, rgba(75,113,96,0) 76%);
  box-shadow: 0 0 28px rgba(75,113,96,.18);
  animation: researchStar 10s ease-in-out infinite;
}

.research-profile-sky i:nth-child(1) { left: 22%; top: 29%; width: 6px; height: 6px; animation-delay: -3s; }
.research-profile-sky i:nth-child(2) { left: 76%; top: 22%; width: 8px; height: 8px; animation-delay: -6s; }
.research-profile-sky i:nth-child(3) { left: 70%; top: 73%; width: 5px; height: 5px; animation-delay: -8s; }

.research-pulse-label {
  font-family: inherit !important;
  font-size: clamp(28px, 4vw, 56px) !important;
}

@keyframes researchStar {
  0%, 100% { transform: translate(0, 0) scale(.92); opacity: .58; }
  45% { transform: translate(14px, -12px) scale(1.1); opacity: 1; }
  72% { transform: translate(-8px, 9px) scale(.98); opacity: .76; }
}

@media (max-width: 720px) {
  .account-hub-panel { padding: 20px; }
  .account-role-grid { grid-template-columns: 1fr; }
  .account-role-grid button { min-height: 132px; }
  .access-form > label:not(.access-consent) { grid-template-columns: 1fr; gap: 7px; }
  .access-consent { padding-left: 0; }
  .access-flow { grid-template-columns: 1fr 1fr; }
  .access-flow li { min-height: 76px; }
  .research-profile-sky { min-height: 310px; }
}

/* Final stardust interaction: one artist, one star. */
.stardust-field {
  --dust-x: 0px;
  --dust-y: 0px;
  --dust-x-back: 0px;
  --dust-y-back: 0px;
  --dust-x-far: 0px;
  --dust-y-far: 0px;
}

.stardust-grain {
  opacity: 0.2;
  animation: dustBreathe 12s var(--gd) ease-in-out infinite;
  transform: translate(var(--dust-x), var(--dust-y));
  transition: transform 1.6s ease-out;
}

.stardust-grain:nth-child(3n) {
  animation-duration: 16s;
  transform: translate(var(--dust-x-back), var(--dust-y-back));
}

.stardust-grain:nth-child(5n) {
  animation-duration: 20s;
  transform: translate(var(--dust-x-far), var(--dust-y-far));
}

.stardust-node {
  width: max(52px, calc(var(--star-size) + 28px));
  height: max(52px, calc(var(--star-size) + 28px));
  min-width: 52px;
  min-height: 52px;
  display: block;
  padding: 0;
  overflow: visible;
}

.stardust-star {
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--star-size);
  height: var(--star-size);
  color: rgba(55, 95, 122, calc(0.5 + var(--pulse) * 0.34));
  transform: translate(-50%, -50%);
  animation: starBreathe calc(8.5s - var(--pulse) * 1.8s) var(--delay) ease-in-out infinite;
  transition: filter 180ms ease, color 180ms ease;
}

.stardust-star::before,
.stardust-star::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: currentColor;
  transform: translate(-50%, -50%);
}

.stardust-star::before {
  width: 100%;
  height: 1px;
}

.stardust-star::after {
  width: 1px;
  height: 100%;
}

.stardust-star i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: clamp(4px, calc(var(--star-size) * 0.24), 7px);
  height: clamp(4px, calc(var(--star-size) * 0.24), 7px);
  background: currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}

.stardust-name {
  position: absolute;
  z-index: 4;
  left: calc(50% + var(--star-size) / 2 + 12px);
  top: 50%;
  width: min(190px, 24vw);
  display: grid;
  grid-template-columns: auto auto;
  gap: 2px 8px;
  align-items: baseline;
  color: var(--ink);
  opacity: 0;
  pointer-events: none;
  text-align: left;
  transform: translate(6px, -50%);
  transition: opacity 160ms ease, transform 180ms ease;
  white-space: normal;
}

.stardust-name strong {
  color: var(--ink);
  font-family: Georgia, "Songti SC", serif;
  font-size: 17px;
  font-weight: 560;
  line-height: 1.15;
}

.stardust-name em {
  color: var(--green);
  font-size: 13px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
}

.stardust-name small {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}

.stardust-node.edge-right .stardust-name {
  right: calc(50% + var(--star-size) / 2 + 12px);
  left: auto;
  text-align: right;
  transform: translate(-6px, -50%);
}

.stardust-node:hover .stardust-name,
.stardust-node:focus-visible .stardust-name,
.stardust-node.active .stardust-name {
  opacity: 1;
  transform: translate(0, -50%);
}

.stardust-node:hover .stardust-star,
.stardust-node:focus-visible .stardust-star,
.stardust-node.active .stardust-star {
  color: var(--blue);
  filter: drop-shadow(0 0 5px rgba(55, 95, 122, 0.28));
}

.stardust-node.is-departing .stardust-star {
  animation: starDoubleBeat 260ms ease-out both;
}

.stardust-info.is-initial {
  display: none;
}

@keyframes starBreathe {
  0%, 100% { opacity: 0.62; filter: drop-shadow(0 0 1px rgba(55, 95, 122, 0.12)); }
  52% { opacity: 0.96; filter: drop-shadow(0 0 4px rgba(55, 95, 122, 0.2)); }
}

@keyframes starDoubleBeat {
  0% { transform: translate(-50%, -50%) scale(1); }
  25% { transform: translate(-50%, -50%) scale(1.14); }
  46% { transform: translate(-50%, -50%) scale(0.98); }
  68% { transform: translate(-50%, -50%) scale(1.1); }
  100% { transform: translate(-50%, -50%) scale(1); }
}

@keyframes dustBreathe {
  0%, 100% { opacity: 0.08; }
  42% { opacity: 0.34; }
  68% { opacity: 0.16; }
}

/* Lightweight home continuation. */
.home-how {
  display: grid;
  grid-template-columns: minmax(180px, 0.38fr) minmax(0, 1fr);
  gap: clamp(28px, 6vw, 90px);
  padding: 30px 0 32px;
  border-bottom: 1px solid var(--line);
}

.home-how > p {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: 20px;
}

.home-how > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-how span {
  min-width: 0;
  padding: 2px 22px;
  border-left: 1px solid var(--line);
}

.home-how b,
.home-how em {
  display: block;
}

.home-how b {
  color: var(--green);
  font-size: 12px;
}

.home-how em {
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
  line-height: 1.55;
}

.home-feed-controls {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 14px;
}

.home-feed-filters {
  display: flex;
  gap: 7px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.home-feed-filters::-webkit-scrollbar {
  display: none;
}

.home-feed-filters button,
.home-feed-next {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

.home-feed-filters button.active {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper-solid);
}

.compact-feed {
  grid-template-columns: repeat(4, minmax(250px, 1fr));
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}

.compact-feed article {
  display: block;
  min-width: 0;
  padding: 14px 0 18px;
  scroll-snap-align: start;
}

.compact-feed img {
  width: 100%;
  height: clamp(130px, 12vw, 176px);
  margin-bottom: 12px;
}

.event-source-type {
  float: right;
  color: var(--quiet);
  font-size: 10px;
}

.artist-field-section .archive-stage {
  height: clamp(500px, 48vw, 650px);
}

/* Expandable artist directory. */
.nav-directory-button {
  flex: 0 0 auto;
  padding: 8px 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 13px;
}

.nav-directory-button.active,
.nav-directory-button:hover {
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
}

.artist-directory {
  width: min(860px, calc(100vw - 30px));
  max-height: min(820px, calc(100vh - 30px));
}

.artist-directory-panel {
  padding: 22px;
}

.artist-directory-panel .dialog-head h2 {
  margin: 4px 0 0;
  font-size: 28px;
}

.artist-directory-search {
  display: grid;
  gap: 7px;
  margin: 24px 0 14px;
  color: var(--muted);
  font-size: 12px;
}

.artist-directory-search input {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid var(--line-strong);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--ink);
  font: inherit;
}

.artist-directory-filter {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  align-items: center;
  margin-bottom: 14px;
  color: var(--muted);
  font-size: 12px;
}

.artist-directory-filter select {
  min-height: 36px;
  padding: 0 28px 0 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--paper-solid);
  color: var(--ink);
}

.artist-directory-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
}

.artist-directory-list button {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 14px;
  padding: 16px 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.artist-directory-list button:nth-child(odd) {
  border-right: 1px solid var(--line);
}

.artist-directory-list button:hover,
.artist-directory-list button:focus-visible {
  background: rgba(255, 255, 255, 0.72);
  outline: none;
}

.artist-directory-list span b,
.artist-directory-list span small {
  display: block;
}

.artist-directory-list span b {
  font-family: Georgia, "Songti SC", serif;
  font-size: 20px;
}

.artist-directory-list span small,
.artist-directory-list p {
  color: var(--muted);
  font-size: 11px;
}

.artist-directory-list strong {
  color: var(--green);
  font-size: 24px;
}

.artist-directory-list p {
  grid-column: 1 / -1;
  margin: 0;
}

.artist-directory-pagination {
  grid-column: 1 / -1;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border-bottom: 1px solid var(--line);
}

.artist-directory-pagination button {
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line) !important;
  border-radius: 50%;
  text-align: center;
}

.artist-directory-pagination button:disabled {
  opacity: 0.28;
  cursor: default;
}

.artist-directory-pagination span {
  color: var(--muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

/* Shared ten-chapter artist profile system. */
.unified-profile-hero {
  align-items: stretch;
  min-height: min(780px, calc(100vh - var(--header)));
}

.unified-profile-hero .generic-hero-copy {
  align-self: center;
}

.unified-profile-hero .generic-hero-image {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}

.unified-profile-hero .generic-hero-image img {
  height: 100%;
  min-height: 520px;
  object-fit: cover;
}

.unified-profile-hero .generic-hero-image figcaption {
  position: static;
  width: 100%;
  display: grid;
  grid-template-columns: auto auto;
  gap: 5px 12px;
  padding: 10px 2px 0;
  background: transparent;
  color: var(--muted);
}

.unified-profile-hero .generic-hero-image figcaption > p,
.unified-profile-hero .generic-hero-image figcaption > small,
.unified-profile-hero .generic-hero-image figcaption > a {
  grid-column: 1 / -1;
}

.profile-switcher {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.profile-switcher button {
  min-height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  text-align: left;
}

.profile-switcher button:nth-child(2) {
  color: var(--green);
  text-align: center;
}

.profile-switcher button:last-child {
  text-align: right;
}

.profile-chapter-nav {
  position: sticky;
  top: var(--header);
  z-index: 20;
  display: flex;
  gap: 0;
  overflow-x: auto;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
  scrollbar-width: none;
}

.profile-chapter-nav::-webkit-scrollbar {
  display: none;
}

.profile-chapter-nav a {
  flex: 1 0 auto;
  min-width: 112px;
  padding: 12px 13px;
  color: var(--muted);
  font-size: 11px;
  text-decoration: none;
  text-align: center;
}

.profile-chapter-nav a + a {
  border-left: 1px solid var(--line);
}

.profile-chapter-nav span {
  margin-right: 6px;
  color: var(--green);
}

.profile-system-section,
.scroll-section {
  scroll-margin-top: calc(var(--header) + 48px);
}

.profile-section-label {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 26px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--line-strong);
}

.profile-section-label span {
  color: var(--green);
  font-size: 12px;
}

.profile-section-label p {
  margin: 0;
  font-weight: 700;
}

.profile-opening-label {
  margin-bottom: 16px;
}

.profile-happening .dossier-opening-copy {
  max-width: 860px;
}

.profile-happening .dossier-practice-band {
  margin-top: 34px;
  padding-left: 0;
  padding-right: 0;
}

.happening-now-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.happening-now-grid article {
  min-width: 0;
  border-top: 1px solid var(--line-strong);
  padding-top: 12px;
}

.happening-now-grid figure {
  margin: 0 0 12px;
}

.happening-now-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 5px;
}

.happening-now-grid time,
.happening-now-grid a {
  color: var(--green);
  font-size: 11px;
}

.happening-now-grid h3 {
  margin: 6px 0;
  font-size: 19px;
}

.happening-now-grid p {
  color: var(--muted);
  font-size: 13px;
}

.profile-dimension-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line-strong);
}

.profile-dimension-grid article {
  padding: 16px;
  border-bottom: 1px solid var(--line);
  transition: background 240ms ease, transform 240ms ease;
}

.profile-dimension-grid article + article {
  border-left: 1px solid var(--line);
}

.profile-dimension-grid article:nth-child(3n + 1) {
  border-left: 0;
}

.profile-dimension-grid span {
  color: var(--green);
  font-size: 11px;
  font-weight: 800;
}

.profile-dimension-grid article:hover {
  background: rgba(255, 255, 255, 0.45);
  transform: translateY(-2px);
}

.pulse-direction-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pulse-direction-head .pulse-direction-value {
  font-size: clamp(28px, 3.2vw, 46px);
  line-height: 0.9;
}

.pulse-direction-head .pulse-direction-value b {
  font-size: 0.62em;
}

.profile-biography-intro {
  max-width: 62ch;
  margin: 20px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-family: Georgia, "Songti SC", "STSong", serif;
  font-size: 15px;
  line-height: 1.85;
}

.research-dimension-grid {
  margin-top: 30px;
}

.research-pulse-arrow {
  margin-right: 7px;
  font-size: 0.72em !important;
  vertical-align: baseline;
}

.research-pulse-arrow b {
  display: none;
}

.profile-dimension-grid p {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.dossier-market-copy h2 strong {
  color: var(--red);
  font-size: 1.3em;
  font-weight: 500;
}

.profile-market-records article {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.profile-market-records time,
.profile-market-records a {
  color: var(--green);
  font-size: 11px;
}

.profile-market-records h3,
.profile-market-records p {
  margin: 0 0 5px;
}

.profile-market-records p {
  color: var(--muted);
  font-size: 12px;
}

.fang-waste-focus {
  margin-top: clamp(50px, 8vw, 110px);
  padding-top: 30px;
  border-top: 1px solid var(--line-strong);
}

.fang-waste-sequence {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.fang-waste-sequence .waste-primary {
  grid-column: span 2;
  grid-row: span 2;
}

.fang-waste-sequence .dossier-figure img {
  height: 280px;
}

.fang-waste-sequence .waste-primary img {
  height: 100%;
  min-height: 620px;
}

@media (max-width: 1080px) {
  .compact-feed {
    grid-template-columns: repeat(4, minmax(270px, 42vw));
  }

  .profile-dimension-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-dimension-grid article:nth-child(odd) {
    border-left: 0;
  }

  .profile-dimension-grid article:nth-child(3n + 1) {
    border-left: 1px solid var(--line);
  }

  .profile-dimension-grid article:nth-child(odd) {
    border-left: 0;
  }

  .profile-dimension-grid article:last-child {
    grid-column: 1 / -1;
  }

}

@media (max-width: 720px) {
  .stardust-grain:nth-child(n + 18) {
    display: none;
  }

  .stardust-node {
    width: max(48px, calc(var(--star-size) + 20px));
    height: max(48px, calc(var(--star-size) + 20px));
    min-width: 48px;
    min-height: 48px;
  }

  .stardust-name,
  .stardust-node.edge-right .stardust-name {
    top: calc(50% + var(--star-size) / 2 + 8px);
    right: auto;
    left: 50%;
    width: 132px;
    text-align: center;
    transform: translate(-50%, 5px);
  }

  .stardust-node:hover .stardust-name,
  .stardust-node:focus-visible .stardust-name,
  .stardust-node.active .stardust-name {
    transform: translate(-50%, 0);
  }

  .stardust-name strong {
    font-size: 14px;
  }

  .stardust-name small {
    display: none;
  }

  .home-how {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 0;
  }

  .home-how > div {
    display: block;
  }

  .home-how span {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 10px;
    padding: 9px 0;
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
  }

  .home-how em {
    margin-top: 0;
  }

  .home-feed-controls {
    align-items: flex-end;
  }

  .home-feed-filters {
    margin-right: -14px;
  }

  .compact-feed {
    grid-template-columns: repeat(4, 82vw);
    gap: 16px;
    margin-right: -14px;
    padding-right: 14px;
  }

  .compact-feed article {
    display: block;
  }

  .compact-feed img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
  }

  .artist-field-section .archive-stage {
    height: auto;
  }

  .artist-directory {
    width: 100vw;
    max-width: 100vw;
    height: min(92vh, 820px);
    max-height: 92vh;
    margin: auto 0 0;
    border-radius: 8px 8px 0 0;
  }

  .artist-directory-list {
    grid-template-columns: 1fr;
  }

  .artist-directory-list button:nth-child(odd) {
    border-right: 0;
  }

  .unified-profile-hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .unified-profile-hero .generic-hero-copy {
    order: 2;
  }

  .unified-profile-hero .generic-hero-image {
    order: 1;
    width: 100%;
  }

  .unified-profile-hero .generic-hero-image img {
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: 58vh;
    aspect-ratio: 4 / 3;
    object-fit: contain;
  }

  .profile-switcher {
    order: 3;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }

  .profile-switcher button {
    font-size: 11px;
  }

  .profile-chapter-nav {
    top: var(--header);
    margin: 0 -14px;
    padding-left: 14px;
  }

  .profile-chapter-nav a {
    flex: 0 0 auto;
    min-width: 104px;
  }

  .happening-now-grid {
    display: flex;
    gap: 14px;
    margin-right: -14px;
    padding-right: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .happening-now-grid article {
    flex: 0 0 82vw;
    scroll-snap-align: start;
  }

  .profile-dimension-grid,
  .fang-waste-sequence {
    grid-template-columns: 1fr;
  }

  .profile-dimension-grid {
    display: flex;
    gap: 12px;
    margin-right: -14px;
    padding-right: 14px;
    border-top: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .profile-dimension-grid article,
  .profile-dimension-grid article + article,
  .profile-dimension-grid article:last-child {
    flex: 0 0 min(82vw, 360px);
    grid-column: auto;
    min-height: 210px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    border-left: 0;
    background: rgba(255, 255, 255, 0.42);
    scroll-snap-align: start;
  }

  .fang-waste-sequence .waste-primary {
    grid-column: auto;
    grid-row: auto;
  }

  .fang-waste-sequence .dossier-figure img,
  .fang-waste-sequence .waste-primary img {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    object-fit: contain;
  }
}

@media (prefers-reduced-motion: reduce) {
  .stardust-star,
  .stardust-grain {
    animation: none !important;
  }

  .stardust-field {
    --dust-x: 0px !important;
    --dust-y: 0px !important;
  }
}

.home-social-stream {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(28px, 5vw, 74px);
  border-top: 1px solid var(--line-strong);
}

.home-social-stream article {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.home-social-stream figure {
  margin: 0;
}

.home-social-stream img {
  width: 140px;
  height: 118px;
  object-fit: cover;
  border-radius: 5px;
}

.home-social-stream time {
  color: var(--green);
  font-size: 12px;
}

.home-social-stream h3 {
  margin: 3px 0;
  font-size: 22px;
}

.home-social-stream strong {
  display: block;
  margin-bottom: 7px;
}

.home-social-stream p {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 14px;
}

@media (max-width: 720px) {
  h2,
  .section h2,
  .section-head h2 {
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    writing-mode: horizontal-tb !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .section-head {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .section-head > * {
    min-width: 0;
    width: 100%;
    max-width: 100% !important;
  }

  .profile-hero {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    min-height: auto !important;
    padding-top: 22px !important;
  }

  .profile-hero > div {
    order: 2;
  }

  .profile-hero .portrait-field {
    order: 1;
    min-height: 0 !important;
    height: min(66vh, 540px) !important;
    margin: 0 -14px 6px !important;
    border-radius: 0 0 6px 6px;
  }

  .profile-hero .portrait-field::before {
    inset: 8% 3% 0 !important;
  }

  .profile-hero .portrait-field img {
    width: min(92%, 420px) !important;
    max-height: 100% !important;
    margin-bottom: -6px !important;
  }

  .generic-hero {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  .generic-hero-copy {
    order: 2;
  }

  .generic-hero-image {
    order: 1;
    width: calc(100% + 28px) !important;
    margin: 0 -14px !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 0 !important;
  }

  .generic-hero-image figcaption {
    position: relative !important;
    inset: auto !important;
    margin: 7px 14px 0 !important;
    padding: 0 !important;
    background: none !important;
    color: var(--muted) !important;
  }

  .home-social-stream {
    grid-template-columns: 1fr;
  }

  .home-social-stream article {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 14px;
  }

  .home-social-stream img {
    width: 92px;
    height: 108px;
  }
}

/* Shared, image-led artist archive on the home page. */
.artist-field-section .section-head > div {
  max-width: 720px;
}

.artist-field-section .section-head > p {
  max-width: 34em;
}

.archive-filter {
  display: flex;
  gap: 8px;
  margin-bottom: 18px;
  padding-bottom: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.archive-filter::-webkit-scrollbar {
  display: none;
}

.archive-filter [data-artist-field] {
  flex: 0 0 auto;
  width: auto;
  min-height: 42px;
  display: inline-flex;
  grid-template-columns: none;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.48);
  color: var(--muted);
  cursor: pointer;
}

.archive-filter [data-artist-field].active {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper-solid);
}

.archive-filter [data-artist-field] span,
.archive-filter [data-artist-field] strong {
  display: inline;
  grid-row: auto;
  color: inherit;
  font-family: inherit;
  font-size: 13px;
  line-height: 1;
}

.archive-filter [data-artist-field] span {
  opacity: 0.7;
}

.archive-stage {
  height: clamp(620px, 60vw, 860px);
  display: grid;
  grid-template-columns: minmax(0, 1.75fr) minmax(330px, 0.75fr);
  gap: 16px;
  min-width: 0;
}

.archive-main,
.archive-thumb {
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.archive-main figure,
.archive-thumb figure {
  height: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  margin: 0;
}

.archive-main img,
.archive-thumb img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  border-radius: 6px;
  background: rgba(23, 24, 22, 0.05);
}

.archive-main figcaption,
.archive-thumb figcaption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 6px 12px;
  align-items: baseline;
  min-height: 58px;
  padding: 10px 2px 0;
  color: var(--muted);
  font-size: 12px;
}

.archive-main figcaption span,
.archive-thumb figcaption span {
  color: var(--green);
  white-space: nowrap;
}

.archive-main figcaption strong,
.archive-thumb figcaption strong {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.archive-main figcaption small,
.archive-thumb figcaption small {
  color: var(--quiet);
  white-space: nowrap;
}

.archive-supporting {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

@media (max-width: 1080px) {
  .archive-stage {
    height: clamp(560px, 68vw, 720px);
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.8fr);
  }

  .archive-supporting {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }

  .archive-thumb:nth-child(n + 4) {
    display: none;
  }
}

@media (max-width: 720px) {
  .archive-filter {
    margin-right: -14px;
    padding-right: 14px;
  }

  .archive-stage {
    height: auto;
    display: block;
  }

  .archive-main figure {
    height: auto;
  }

  .archive-main img {
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
  }

  .archive-main figcaption,
  .archive-thumb figcaption {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 0;
    padding-top: 9px;
  }

  .archive-main figcaption span,
  .archive-thumb figcaption span {
    grid-column: 1 / -1;
  }

  .archive-supporting {
    display: flex;
    gap: 14px;
    margin-top: 24px;
    margin-right: -14px;
    padding-right: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .archive-thumb,
  .archive-thumb:nth-child(n + 4) {
    display: block;
    flex: 0 0 76vw;
    scroll-snap-align: start;
  }

  .archive-thumb figure {
    height: auto;
  }

  .archive-thumb img {
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
  }
}

/* Interactive home constellation. */
.constellation-hero {
  min-height: calc(100vh - var(--header));
  display: grid;
  grid-template-columns: minmax(340px, 0.78fr) minmax(620px, 1.22fr);
  grid-template-rows: minmax(0, 1fr) auto;
  gap: clamp(18px, 3vw, 44px);
  align-items: stretch;
  padding: clamp(22px, 3.6vw, 50px) 0 20px;
  border-bottom: 1px solid var(--line);
}

.constellation-intro {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.constellation-intro h1 {
  max-width: 9.5em;
  font-size: clamp(48px, 5.5vw, 82px);
  line-height: 0.98;
}

.constellation-intro .lead {
  max-width: 31em;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.72;
}

.hero-ark-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 24px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.hero-ark-stats span {
  min-width: 0;
  padding: 12px 12px 13px 0;
}

.hero-ark-stats span + span {
  padding-left: 12px;
  border-left: 1px solid var(--line);
}

.hero-ark-stats b {
  display: block;
  margin-bottom: 4px;
  color: var(--green);
  font-size: 11px;
}

.hero-ark-stats strong {
  display: block;
  font-size: clamp(18px, 1.8vw, 28px);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.home-signal-figure {
  min-height: 0;
  margin: auto 0 0;
  padding-top: 18px;
}

.home-signal-figure img {
  width: 100%;
  height: clamp(150px, 22vh, 230px);
  object-fit: cover;
  object-position: 50% 48%;
  border-radius: 6px;
  box-shadow: 0 15px 44px rgba(24, 28, 20, 0.1);
}

.home-signal-figure figcaption {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-top: 8px;
  color: var(--muted);
  font-size: 12px;
}

.home-signal-figure figcaption span {
  color: var(--quiet);
  white-space: nowrap;
}

.stardust-shell {
  min-width: 0;
  display: grid;
  grid-template-rows: minmax(410px, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.36);
}

.stardust-field {
  position: relative;
  min-height: 430px;
  overflow: hidden;
}

.stardust-field::before,
.stardust-field::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.stardust-field::before {
  inset: 11% 8%;
  border-top: 1px solid rgba(55, 95, 122, 0.11);
  border-bottom: 1px solid rgba(36, 93, 76, 0.09);
  transform: rotate(-5deg);
}

.stardust-field::after {
  top: 17%;
  bottom: 14%;
  left: 49%;
  border-left: 1px solid rgba(165, 74, 58, 0.09);
  transform: rotate(12deg);
}

.stardust-grain {
  position: absolute;
  left: var(--gx);
  top: var(--gy);
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: rgba(55, 95, 122, 0.34);
  animation: dustBlink 4.8s var(--gd) ease-in-out infinite;
}

.stardust-grain:nth-child(3n) {
  background: rgba(165, 74, 58, 0.28);
}

.stardust-grain:nth-child(4n) {
  width: 1px;
  height: 1px;
  background: rgba(36, 93, 76, 0.46);
}

.stardust-node {
  position: absolute;
  z-index: 2;
  left: var(--x);
  top: var(--y);
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  padding: 6px 4px;
  border: 0;
  background: transparent;
  color: rgba(23, 24, 22, 0.64);
  cursor: pointer;
  transform: translate(-50%, -50%);
  animation: nodeDrift var(--drift) var(--delay) ease-in-out infinite;
  transition: color 180ms ease, filter 180ms ease;
  white-space: nowrap;
}

.stardust-node small,
.stardust-node span {
  color: var(--quiet);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  transition: color 180ms ease;
}

.stardust-node strong {
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(17px, 1.55vw, 25px);
  font-weight: 520;
  letter-spacing: 0;
}

.stardust-node::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(55, 95, 122, 0.2);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
}

.stardust-node:hover,
.stardust-node:focus-visible,
.stardust-node.active {
  z-index: 3;
  color: var(--ink);
  filter: drop-shadow(0 5px 9px rgba(36, 93, 76, calc(0.08 + var(--pulse) * 0.12)));
  outline: none;
}

.stardust-node:hover::after,
.stardust-node:focus-visible::after,
.stardust-node.active::after {
  animation: stardustRing 1.8s ease-out infinite;
}

.stardust-node.active small,
.stardust-node.active span {
  color: var(--green);
}

.stardust-info {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(230px, 0.9fr) minmax(210px, 0.72fr) auto;
  gap: 18px;
  align-items: end;
  min-height: 174px;
  padding: 18px 20px;
  border-top: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.94);
  transition: opacity 160ms ease, transform 160ms ease;
}

.stardust-info.is-changing {
  opacity: 0.25;
  transform: translateY(5px);
}

.stardust-info-copy {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 16px;
}

.stardust-info-copy > p {
  margin: 0;
}

.stardust-info-copy > p span,
.stardust-info-copy > p strong,
.stardust-info-copy > p small {
  display: block;
}

.stardust-info-copy > p span {
  color: var(--green);
  font-size: 12px;
}

.stardust-info-copy > p strong {
  margin: 2px 0;
  font-family: Georgia, serif;
  font-size: 48px;
  font-weight: 500;
  line-height: 1;
}

.stardust-info-copy > p small {
  color: var(--quiet);
  font-size: 10px;
}

.stardust-info-copy > div b {
  color: var(--red);
  font-size: 11px;
}

.stardust-info-copy h3 {
  margin-top: 5px;
  font-size: 17px;
}

.stardust-info-copy > div p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.stardust-dimensions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
}

.stardust-dimensions span {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
}

.stardust-dimensions span:nth-child(odd) {
  padding-right: 10px;
}

.stardust-dimensions span:nth-child(even) {
  padding-left: 10px;
  border-left: 1px solid var(--line);
}

.stardust-dimensions b {
  color: var(--muted);
  font-weight: 600;
}

.stardust-dimensions em {
  color: var(--green);
  font-style: normal;
}

.stardust-dimensions em i {
  display: inline-block;
  min-width: 16px;
  margin-right: 3px;
  color: var(--red);
  font-style: normal;
  font-size: 1.15em;
  line-height: 1;
}

.stardust-actions {
  display: grid;
  grid-template-columns: auto 42px;
  gap: 7px;
}

.stardust-actions .text-button {
  grid-column: 1 / -1;
  justify-self: end;
  min-height: 32px;
  padding: 0;
}

.stardust-actions .secondary-button {
  min-height: 38px;
  padding: 0 12px;
  white-space: nowrap;
}

.constellation-note {
  align-self: end;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.constellation-next {
  justify-self: end;
  align-self: end;
  min-height: 34px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--blue);
  cursor: pointer;
  font-weight: 700;
}

@keyframes nodeDrift {
  0%, 100% { translate: 0 0; }
  19% { translate: var(--active-drift-x1, 3px) var(--active-drift-y1, -4px); }
  43% { translate: var(--active-drift-x2, -2px) var(--active-drift-y2, 3px); }
  67% { translate: var(--active-drift-x3, 4px) var(--active-drift-y3, 2px); }
  86% { translate: var(--active-drift-x4, -3px) var(--active-drift-y4, -2px); }
}

@keyframes dustBlink {
  0%, 100% { opacity: 0.18; }
  50% { opacity: 0.72; }
}

@keyframes stardustRing {
  0% { opacity: 0.36; transform: translate(-50%, -50%) scale(0.5); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.7); }
}

@media (max-width: 1180px) and (min-width: 721px) {
  .constellation-hero {
    grid-template-columns: minmax(300px, 0.7fr) minmax(560px, 1.3fr);
  }

  .stardust-info {
    grid-template-columns: minmax(210px, 1fr) minmax(190px, 0.75fr);
  }

  .stardust-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
  }
}

@media (max-width: 720px) {
  .constellation-hero {
    min-height: calc(100vh - var(--header));
    display: block;
    padding: 14px 0 16px;
  }

  .constellation-intro h1 {
    max-width: 11em;
    font-size: 38px;
    line-height: 1.04;
  }

  .constellation-intro .lead {
    margin-top: 9px;
    font-size: 14px;
    line-height: 1.58;
  }

  .constellation-intro .overline {
    margin-bottom: 8px;
    font-size: 10px;
  }

  .hero-ark-stats {
    margin-top: 12px;
  }

  .hero-ark-stats span {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .hero-ark-stats strong {
    font-size: 17px;
  }

  .home-signal-figure {
    padding-top: 10px;
  }

  .home-signal-figure img {
    height: 92px;
    object-position: 50% 43%;
  }

  .home-signal-figure figcaption {
    padding-top: 5px;
    font-size: 10px;
  }

  .stardust-shell {
    grid-template-rows: 286px auto;
    margin-top: 10px;
    border-radius: 6px;
  }

  .stardust-field {
    min-height: 286px;
  }

  .stardust-node {
    left: var(--mx);
    top: var(--my);
    gap: 4px;
    padding: 7px 3px;
  }

  .stardust-node strong {
    font-size: 14px;
  }

  .stardust-node small {
    display: none;
  }

  .stardust-info.is-initial {
    display: none;
  }

  .stardust-info {
    grid-template-columns: 1fr;
    gap: 11px;
    min-height: 0;
    padding: 14px;
    animation: infoRise 180ms ease-out;
  }

  .stardust-info-copy {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 12px;
  }

  .stardust-info-copy > p strong {
    font-size: 38px;
  }

  .stardust-dimensions span {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .stardust-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .stardust-actions .text-button {
    min-height: 38px;
  }

  .constellation-note {
    margin-top: 9px;
    font-size: 11px;
  }

  .constellation-next {
    display: flex;
    margin: 8px 0 0 auto;
    font-size: 12px;
  }
}

@keyframes infoRise {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .stardust-node,
  .stardust-grain,
  .stardust-node::after {
    animation: none !important;
  }

  .stardust-grain:nth-child(n + 15) {
    display: none;
  }
}

/* Release 111: bring the star field, ARK and personal waterway back into the product spine. */
.constellation-play {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 20px;
  color: rgba(39, 44, 40, 0.66);
  font-size: 11px;
  line-height: 1.45;
}

.constellation-play span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.constellation-play i {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(66, 97, 80, 0.28);
  border-radius: 50%;
  color: #426150;
  font-size: 9px;
  font-style: normal;
  font-variant-numeric: tabular-nums;
}

.personal-waterway {
  padding-top: clamp(62px, 8vw, 112px);
  padding-bottom: clamp(62px, 8vw, 112px);
  border-top: 1px solid var(--line);
}

.personal-waterway .section-head {
  align-items: end;
}

.personal-waterway .section-head > p {
  max-width: 38em;
}

.waterway-shell {
  position: relative;
  margin-top: 30px;
  padding: 18px 0 8px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(75, 113, 96, 0.035), rgba(255, 255, 255, 0));
}

.waterway-head {
  display: flex;
  align-items: baseline;
  gap: 9px;
  color: var(--muted);
  font-size: 11px;
}

.waterway-head strong {
  margin-left: auto;
  color: var(--green);
  font-family: Georgia, "Songti SC", serif;
  font-size: 25px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.waterway-head small {
  color: var(--quiet);
  font-size: 10px;
}

.waterway-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px 14px;
  margin-top: 27px;
  padding: 8px 0 22px;
}

.waterway-track::before {
  content: "";
  position: absolute;
  top: 20px;
  right: 8%;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(75, 113, 96, 0.44), rgba(75, 113, 96, 0.07));
}

.waterway-node {
  position: relative;
  min-width: 0;
  padding-top: 28px;
}

.waterway-node-dot {
  position: absolute;
  top: 14px;
  left: 1px;
  width: 12px;
  height: 12px;
  border: 3px solid var(--paper-solid);
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 1px rgba(75, 113, 96, 0.38), 0 0 14px rgba(75, 113, 96, 0.18);
}

.waterway-node time {
  display: block;
  margin-bottom: 8px;
  color: var(--quiet);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.waterway-node-card {
  position: relative;
  width: 100%;
  min-height: 142px;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 16px 17px 17px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
  text-align: left;
}

button.waterway-node-card {
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

button.waterway-node-card:hover,
button.waterway-node-card:focus-visible {
  border-color: rgba(75, 113, 96, 0.58);
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(30, 50, 38, 0.08);
  outline: none;
  transform: translateY(-3px);
}

.waterway-node-card > span,
.waterway-empty span {
  color: var(--green);
  font-size: 10px;
}

.waterway-node-card strong {
  padding-right: 18px;
  font-family: Georgia, "Songti SC", serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
}

.waterway-node-card p,
.waterway-empty p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}

.waterway-node-card > b {
  position: absolute;
  right: 15px;
  top: 15px;
  color: var(--green);
  font-size: 15px;
  font-weight: 500;
}

.waterway-empty {
  position: relative;
  grid-column: 1 / -1;
  min-height: 120px;
  padding: 26px 24px 24px 32px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.58);
}

.waterway-empty .waterway-node-dot {
  top: 30px;
  left: 12px;
  background: #ffffff;
}

.waterway-empty p {
  max-width: 42em;
  margin-top: 7px;
}

.waterway-empty .text-button {
  margin-top: 13px;
}

@media (max-width: 900px) {
  .waterway-track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .constellation-play {
    display: grid;
    gap: 7px;
    margin-top: 15px;
  }

  .constellation-play span {
    width: fit-content;
  }

  .personal-waterway {
    padding-top: 48px;
    padding-bottom: 52px;
  }

  .personal-waterway .section-head {
    display: grid;
    gap: 12px;
  }

  .waterway-shell {
    margin-top: 22px;
    padding-top: 15px;
  }

  .waterway-track {
    display: flex;
    gap: 10px;
    margin-right: -14px;
    padding: 8px 14px 20px 0;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .waterway-track::before {
    top: 20px;
    right: 14px;
    left: 0;
    width: 1200px;
  }

  .waterway-node {
    flex: 0 0 min(75vw, 280px);
    scroll-snap-align: start;
  }

  .waterway-empty {
    flex: 0 0 calc(100vw - 42px);
  }
}

/* Final-order overrides after legacy responsive rules. */
.unified-profile-hero .generic-hero-image figcaption {
  position: static !important;
  inset: auto !important;
  margin: 0 !important;
  padding: 10px 2px 0 !important;
  background: transparent !important;
  color: var(--muted) !important;
}

.fang-waste-focus {
  scroll-margin-top: calc(var(--header) + 60px);
}

@media (max-width: 720px) {
  .unified-profile-hero {
    display: flex !important;
    min-height: 0 !important;
    gap: 12px !important;
    padding: 16px 0 12px !important;
  }

  .unified-profile-hero .generic-hero-image {
    order: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
  }

  .unified-profile-hero .generic-hero-image img {
    width: 100% !important;
    height: 190px !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }

  .unified-profile-hero .generic-hero-image figcaption {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 28px;
    padding-top: 6px !important;
    font-size: 10px;
  }

  .unified-profile-hero .generic-hero-image figcaption p,
  .unified-profile-hero .generic-hero-image figcaption small,
  .unified-profile-hero .generic-hero-image figcaption a {
    display: none;
  }

  .unified-profile-hero .generic-hero-copy {
    order: 2 !important;
  }

  .unified-profile-hero .profile-title {
    font-size: 50px;
    line-height: 1;
  }

  .unified-profile-hero .profile-title small {
    margin-top: 8px;
    font-size: 24px;
    line-height: 1.08;
  }

  .unified-profile-hero .lead {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.58;
  }

  .unified-profile-hero .profile-meta {
    display: block;
    margin-top: 12px;
  }

  .unified-profile-hero .profile-meta span {
    display: none;
  }

  .unified-profile-hero .profile-meta span:last-child {
    display: flex;
    gap: 8px;
    align-items: baseline;
    padding: 7px 0;
  }

  .unified-profile-hero .profile-meta b {
    font-size: 20px;
  }

  .unified-profile-hero .profile-actions {
    margin-top: 10px;
  }

  .unified-profile-hero .profile-actions button {
    min-height: 40px;
  }

  .unified-profile-hero .profile-switcher {
    order: 3 !important;
    padding-top: 7px;
  }

  .profile-chapter-nav {
    top: var(--header);
  }
}

/* Release 8: keep information stars distinct inside a slowly breathing dust field. */
.stardust-grain {
  opacity: 0.18;
  animation-name: dustBreathe !important;
  animation-duration: 13s !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
  transform: translate(var(--dust-x), var(--dust-y));
  transition: transform 1.8s ease-out;
}

.stardust-grain:nth-child(3n) {
  animation-duration: 17s !important;
  transform: translate(var(--dust-x-back), var(--dust-y-back));
}

.stardust-grain:nth-child(5n) {
  animation-duration: 21s !important;
  transform: translate(var(--dust-x-far), var(--dust-y-far));
}

.stardust-star {
  filter: drop-shadow(0 0 2px rgba(55, 95, 122, 0.16));
}

@media (max-width: 720px) {
  .constellation-hero {
    min-height: 0;
  }

  .stardust-grain:nth-child(n + 25) {
    display: none;
  }

  .home-signal-figure img {
    height: 66px;
  }

  .stardust-shell {
    grid-template-rows: 248px auto;
    margin-top: 6px;
  }

  .stardust-field {
    min-height: 248px;
  }

  .constellation-note {
    margin-top: 5px;
  }

  .constellation-next {
    margin-top: 4px;
  }

  html[lang="en"] .unified-profile-hero .profile-title {
    font-size: 42px;
  }

  html[lang="en"] .unified-profile-hero .profile-title small {
    margin-top: 6px;
    font-size: 20px;
    line-height: 1.04;
  }

  html[lang="en"] .unified-profile-hero .lead {
    display: -webkit-box;
    margin-top: 9px;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.46;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .stardust-grain {
    animation: none !important;
    opacity: 0.18;
    transform: none !important;
  }
}

@media (min-width: 721px) {
  .unified-profile-hero {
    min-height: 0;
    row-gap: 24px;
    padding-top: 36px;
    padding-bottom: 20px;
  }

  .unified-profile-hero .generic-hero-image {
    align-self: center;
    height: clamp(520px, 64vh, 620px);
    min-height: 0;
  }

  .unified-profile-hero .generic-hero-image img {
    height: 100%;
    min-height: 0;
    object-fit: contain;
  }
}

.constellation-intro h1 {
  max-width: 9em;
  font-size: clamp(46px, 5vw, 72px);
  line-height: 1.04;
}

@media (max-width: 720px) {
  .constellation-intro h1 {
    font-size: 38px;
  }
}

/* Release 10: an unboxed, warm star field that belongs to the whole first screen. */
.constellation-hero {
  --hero-gutter: max(clamp(16px, 3vw, 34px), calc((100vw - 1492px) / 2));
  position: relative;
  isolation: isolate;
  width: 100vw;
  min-height: calc(100svh - var(--header) - 30px);
  margin-left: calc(50% - 50vw);
  display: block;
  overflow: hidden;
  padding: clamp(42px, 7vh, 78px) var(--hero-gutter) 58px;
  border-bottom: 1px solid rgba(68, 77, 67, 0.14);
  background: #ffffff;
}

.constellation-intro {
  position: relative;
  z-index: 5;
  width: min(38vw, 540px);
  min-width: 350px;
  display: block;
}

.constellation-intro h1 {
  max-width: 7.8em;
  color: #1f2421;
  font-size: clamp(50px, 5.2vw, 76px);
  line-height: 1.02;
}

.constellation-intro .lead {
  max-width: 31em;
  color: rgba(36, 42, 38, 0.72);
  font-size: clamp(16px, 1.25vw, 20px);
  line-height: 1.72;
}

.constellation-intro .overline {
  color: #37604f;
}

.hero-ark-stats {
  width: min(100%, 520px);
  margin-top: clamp(20px, 4vh, 38px);
  border-color: rgba(54, 67, 59, 0.2);
}

.hero-ark-stats span + span {
  border-color: rgba(54, 67, 59, 0.14);
}

.stardust-shell {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  overflow: visible;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.stardust-field {
  --sky-x: 0px;
  --sky-y: 0px;
  position: absolute;
  inset: 0;
  min-height: 0;
  overflow: visible;
}

.stardust-field::before,
.stardust-field::after {
  content: none !important;
}

.star-sky-canvas {
  position: absolute;
  z-index: 0;
  inset: -2.5%;
  width: 105%;
  height: 105%;
  opacity: 0.86;
  pointer-events: none;
  transform-origin: center;
  animation: warmSkyFloat 34s ease-in-out infinite alternate, warmSkyBreathe 23s -7s ease-in-out infinite;
  transition: opacity 500ms ease;
}

.stardust-field:has(.stardust-node:hover) .star-sky-canvas,
.stardust-field:has(.stardust-node:focus-visible) .star-sky-canvas,
.stardust-field:has(.stardust-node.active) .star-sky-canvas {
  opacity: 0.58;
}

.stardust-grain {
  display: none !important;
}

.stardust-node {
  z-index: 2;
  left: var(--x);
  top: var(--y);
  width: 56px;
  height: 56px;
  min-width: 56px;
  min-height: 56px;
  display: block;
  overflow: visible;
  padding: 0;
  border: 0;
  background: transparent;
  filter: none;
  transform: translate(-50%, -50%);
}

.stardust-star {
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--star-size);
  height: var(--star-size);
  border-radius: 50%;
  background: rgba(41, 68, 76, calc(0.62 + var(--pulse) * 0.24));
  color: transparent;
  box-shadow: 0 0 1px rgba(31, 58, 66, 0.5), 0 0 calc(5px + var(--star-size)) rgba(56, 91, 100, calc(0.08 + var(--pulse) * 0.12));
  transform: translate(-50%, -50%);
  animation: warmStarBreathe calc(8.8s - var(--pulse) * 1.5s) var(--delay) ease-in-out infinite;
  transition: background 240ms ease, box-shadow 320ms ease, opacity 240ms ease;
}

.stardust-star::before,
.stardust-star::after {
  content: none !important;
}

.stardust-star i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  transform: translate(-50%, -50%);
}

.stardust-node::after {
  width: 32px;
  height: 32px;
  border-color: rgba(47, 80, 87, 0.24);
}

.stardust-node:hover,
.stardust-node:focus-visible,
.stardust-node.active {
  z-index: 7;
  outline: none;
  filter: none;
}

.stardust-node:focus-visible {
  outline: 1px solid rgba(45, 82, 88, 0.46);
  outline-offset: -5px;
  border-radius: 50%;
}

.stardust-node:hover .stardust-star,
.stardust-node:focus-visible .stardust-star,
.stardust-node.active .stardust-star {
  background: rgba(33, 80, 89, 0.96);
  color: transparent;
  box-shadow: 0 0 2px rgba(30, 69, 77, 0.72), 0 0 14px rgba(56, 104, 111, 0.35);
  filter: none;
}

.stardust-name {
  left: calc(50% + var(--star-size) / 2 + 13px);
  width: min(196px, 22vw);
  color: #1f2927;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.85);
}

.stardust-name strong {
  color: #1e2926;
  font-size: 17px;
}

.stardust-name em {
  color: #2f6556;
}

.stardust-name small {
  color: rgba(38, 47, 43, 0.64);
}

.stardust-info {
  position: absolute;
  z-index: 8;
  right: var(--hero-gutter);
  bottom: 58px;
  width: min(760px, 52vw);
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(210px, 0.75fr) auto;
  gap: 20px;
  align-items: end;
  padding: 0;
  border: 0;
  background: transparent;
  transition: opacity 180ms ease, transform 180ms ease;
}

.stardust-info.is-initial {
  display: none;
}

.stardust-info-copy {
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 13px;
}

.stardust-info-copy > p strong {
  font-size: 34px;
}

.stardust-info-copy h3 {
  font-size: 14px;
  line-height: 1.32;
}

.stardust-info-copy > div p {
  font-size: 10px;
}

.stardust-dimensions {
  gap: 4px 16px;
  border: 0;
}

.stardust-dimensions span,
.stardust-dimensions span:nth-child(odd),
.stardust-dimensions span:nth-child(even) {
  padding: 3px 0;
  border: 0;
}

.stardust-actions .secondary-button,
.stardust-actions .icon-button {
  border: 0;
  border-bottom: 1px solid rgba(43, 77, 67, 0.34);
  border-radius: 0;
  background: transparent;
}

.constellation-note,
.constellation-next {
  position: absolute;
  z-index: 9;
  bottom: 20px;
}

.constellation-note {
  left: var(--hero-gutter);
}

.constellation-next {
  right: var(--hero-gutter);
}

.home-signal-figure {
  display: none;
}

.home-how {
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(34px, 7vw, 112px);
  align-items: center;
  padding: clamp(38px, 6vw, 82px) 0;
}

.home-how-figure {
  margin: 0;
}

.home-how-figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: 50% 48%;
  border-radius: 4px;
}

.home-how-figure figcaption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 18px;
  padding-top: 9px;
  color: var(--muted);
  font-size: 11px;
}

.home-how-figure figcaption span {
  color: var(--quiet);
  white-space: nowrap;
}

.home-how-figure figcaption p {
  grid-column: 1 / -1;
  margin: 0;
  line-height: 1.5;
}

.home-how-copy > p {
  margin: 0 0 clamp(20px, 4vw, 46px);
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(24px, 2.8vw, 42px);
  line-height: 1.15;
}

.home-how-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-how-steps span {
  min-width: 0;
  padding: 2px 18px;
  border-left: 1px solid var(--line);
}

.home-how-steps b,
.home-how-steps em {
  display: block;
}

.home-how-steps b {
  color: var(--green);
  font-size: 12px;
}

.home-how-steps em {
  margin-top: 5px;
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
  line-height: 1.55;
}

@keyframes warmSkyFloat {
  0% { transform: translate3d(calc(var(--sky-x) - 4px), calc(var(--sky-y) - 3px), 0) scale(1.018); }
  48% { transform: translate3d(calc(var(--sky-x) + 3px), calc(var(--sky-y) + 1px), 0) scale(1.022); }
  100% { transform: translate3d(calc(var(--sky-x) - 1px), calc(var(--sky-y) + 4px), 0) scale(1.018); }
}

@keyframes warmSkyBreathe {
  0%, 100% { opacity: 0.78; }
  43% { opacity: 0.88; }
  72% { opacity: 0.82; }
}

@keyframes warmStarBreathe {
  0%, 100% { opacity: 0.68; }
  54% { opacity: 1; }
}

@media (max-width: 1080px) and (min-width: 721px) {
  .constellation-intro {
    width: 39vw;
  }

  .stardust-info {
    width: 55vw;
    grid-template-columns: minmax(190px, 1fr) minmax(180px, 0.8fr);
  }

  .stardust-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .constellation-hero {
    --hero-gutter: 14px;
    min-height: calc(100svh - var(--header) - 58px);
    padding: 17px var(--hero-gutter) 48px;
  }

  .constellation-intro {
    width: 100%;
    min-width: 0;
  }

  .constellation-intro h1 {
    max-width: 10em;
    font-size: 40px;
  }

  .constellation-intro .lead {
    max-width: 345px;
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.52;
  }

  .constellation-intro .overline {
    margin-bottom: 7px;
    font-size: 9px;
  }

  .hero-ark-stats {
    width: 100%;
    margin-top: 11px;
  }

  .hero-ark-stats span {
    padding-top: 7px;
    padding-bottom: 7px;
  }

  .hero-ark-stats b {
    font-size: 9px;
  }

  .hero-ark-stats strong {
    font-size: 16px;
  }

  .stardust-shell,
  .stardust-field {
    inset: 0;
    min-height: 0;
    margin: 0;
  }

  .star-sky-canvas {
    inset: -2%;
    width: 104%;
    height: 104%;
  }

  .stardust-node {
    left: var(--mx);
    top: var(--my);
    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;
  }

  .stardust-name,
  .stardust-node.edge-right .stardust-name {
    top: calc(50% + var(--star-size) / 2 + 8px);
    right: auto;
    left: 50%;
    width: 130px;
    text-align: center;
    transform: translate(-50%, 5px);
  }

  .stardust-node:hover .stardust-name,
  .stardust-node:focus-visible .stardust-name,
  .stardust-node.active .stardust-name {
    transform: translate(-50%, 0);
  }

  .stardust-name strong {
    font-size: 14px;
  }

  .stardust-name small {
    display: none;
  }

  .stardust-info {
    right: 14px;
    bottom: 43px;
    left: 14px;
    width: auto;
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 0;
    background: transparent;
    backdrop-filter: none;
  }

  .stardust-info-copy {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
  }

  .stardust-info-copy > p strong {
    font-size: 28px;
  }

  .stardust-info-copy h3 {
    font-size: 12px;
  }

  .stardust-info-copy > div p {
    display: none;
  }

  .stardust-dimensions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
  }

  .stardust-dimensions span,
  .stardust-dimensions span:nth-child(odd),
  .stardust-dimensions span:nth-child(even) {
    display: block;
    padding: 0;
    font-size: 9px;
  }

  .stardust-dimensions b,
  .stardust-dimensions em {
    display: block;
  }

  .stardust-actions {
    display: flex;
    gap: 12px;
  }

  .stardust-actions .text-button,
  .stardust-actions .secondary-button,
  .stardust-actions .icon-button {
    min-height: 28px;
    padding: 0;
    font-size: 10px;
  }

  .stardust-actions .icon-button {
    width: 28px;
  }

  .constellation-note,
  .constellation-next {
    bottom: 10px;
    font-size: 10px;
  }

  .home-how {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 34px 0 38px;
  }

  .home-how-figure img {
    aspect-ratio: 16 / 11;
  }

  .home-how-copy > p {
    margin-bottom: 16px;
    font-size: 27px;
  }

  .home-how-steps {
    display: block;
  }

  .home-how-steps span {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 9px;
    padding: 9px 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .home-how-steps em {
    margin-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .star-sky-canvas,
  .stardust-star,
  .stardust-node {
    animation: none !important;
    transform: none;
  }

  .stardust-node {
    transform: translate(-50%, -50%);
  }

  .star-sky-canvas {
    opacity: 0.84;
  }
}

/* Release 12: shared navigation, constellation filters and archive metadata. */
@media (min-width: 1081px) {
  .nav {
    overflow: visible;
  }
}

.nav-artist-root {
  position: relative;
  flex: 0 0 auto;
}

.nav-artist-popover {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  z-index: 80;
  width: min(520px, 48vw);
  padding: 13px 18px 15px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 18px 34px rgba(28, 32, 27, 0.1);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -5px);
  transition: opacity 160ms ease, transform 180ms ease;
}

.nav-artist-popover::before {
  content: "";
  position: absolute;
  inset: -12px 0 auto;
  height: 12px;
}

.nav-artist-root.open .nav-artist-popover {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.nav-artist-search,
.nav-artist-all,
.nav-artist-list button {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
}

.nav-artist-search,
.nav-artist-all {
  min-height: 37px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  color: var(--muted);
  font-size: 12px;
}

.nav-artist-search {
  border-bottom: 1px solid var(--line);
}

.nav-artist-all {
  border-top: 1px solid var(--line);
}

.nav-artist-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
  padding: 7px 0;
}

.nav-artist-list button {
  min-height: 42px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 5px 0;
  border-bottom: 1px solid rgba(68, 77, 67, 0.1);
}

.nav-artist-list button:hover,
.nav-artist-list button:focus-visible {
  color: var(--green);
  outline: none;
}

.nav-artist-list button:hover::after,
.nav-artist-list button:focus-visible::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(36, 93, 76, 0.2);
  border-radius: 50%;
  animation: pointerRipple 800ms ease-out forwards;
}

.nav-artist-list span {
  font-family: Georgia, "Songti SC", serif;
  font-size: 16px;
}

.nav-artist-list small {
  max-width: 9em;
  overflow: hidden;
  color: var(--quiet);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.constellation-groups,
.profile-practice-groups {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 15px;
  margin-top: 18px;
}

.constellation-groups button,
.profile-practice-groups button {
  min-height: 30px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  color: var(--quiet);
  cursor: pointer;
  font-size: 11px;
  white-space: nowrap;
}

.constellation-groups button:hover,
.constellation-groups button:focus-visible,
.constellation-groups button.active,
.profile-practice-groups button:hover,
.profile-practice-groups button:focus-visible {
  border-bottom-color: var(--green);
  color: var(--green);
  outline: none;
}

.constellation-group-description {
  max-width: 34em;
  min-height: 2.9em;
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.profile-practice-groups {
  margin: 17px 0 0;
}

.dossier-work-stories.text-led {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(28px, 5vw, 76px);
  border-top: 1px solid var(--line-strong);
}

.dossier-work-stories.text-led article,
.dossier-work-stories.text-led article:nth-child(even) {
  display: block;
  min-height: 0;
  padding: 26px 0 32px;
  border-top: 0;
  border-bottom: 1px solid var(--line);
}

.source-ledger-more {
  border-bottom: 1px solid var(--line);
}

.source-ledger-more summary {
  padding: 15px 0;
  color: var(--green);
  cursor: pointer;
  font-size: 12px;
}

.art-dialog figcaption a {
  display: inline-block;
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 12px;
}

.art-dialog figcaption a[hidden] {
  display: none;
}

.dossier-figure[role="button"] {
  cursor: zoom-in;
}

.dossier-figure[role="button"]:focus-visible {
  outline: 1px solid var(--green);
  outline-offset: 5px;
}

@media (max-width: 720px) {
  .image-rights-fields {
    grid-template-columns: 1fr;
  }

  .image-rights-details {
    grid-column: auto;
  }

  .image-rights-badge {
    width: 34px;
    height: 34px;
  }
}

@media (max-width: 1080px) {
  .nav-artist-popover {
    display: none;
  }
}

@media (max-width: 720px) {
  .header-actions {
    min-width: 0;
  }

  .ark-header-button span {
    display: none;
  }

  .lang-switch button {
    min-width: 29px;
  }

  .constellation-groups {
    flex-wrap: nowrap;
    gap: 15px;
    margin-right: -14px;
    padding-right: 14px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .constellation-groups::-webkit-scrollbar {
    display: none;
  }

  .constellation-group-description {
    min-height: 2.7em;
    margin-top: 4px;
    font-size: 10px;
  }

  .profile-practice-groups {
    flex-wrap: nowrap;
    margin-right: -14px;
    padding-right: 14px;
    overflow-x: auto;
  }

  .dossier-work-stories.text-led {
    grid-template-columns: 1fr;
  }

  .dossier-work-stories.text-led article,
  .dossier-work-stories.text-led article:nth-child(even) {
    padding: 22px 0 26px;
  }

  .dossier-figure figcaption strong {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .artist-directory-list {
    grid-template-columns: 1fr;
  }

  .artist-directory-list button:nth-child(odd) {
    border-right: 0;
  }

  .artist-directory-filter {
    justify-content: space-between;
  }
}

/* Release 21: luminous artist stars in a continuous daylight field. */
.constellation-hero {
  border-bottom-color: rgba(71, 76, 69, 0.14);
  background: #ffffff;
  color: #242723;
  min-height: calc(100svh - var(--header) - 130px);
}

.constellation-hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.76) 0%, rgba(255, 255, 255, 0.38) 36%, rgba(255, 255, 255, 0.04) 68%, rgba(255, 255, 255, 0.18) 100%);
}

.constellation-intro {
  z-index: 6;
}

.constellation-intro h1,
.constellation-intro .lead {
  color: #222622;
}

.constellation-intro .lead {
  color: rgba(39, 44, 40, 0.73);
}

.constellation-intro .overline,
.hero-ark-stats b,
.constellation-groups button.active,
.constellation-groups button:hover,
.constellation-groups button:focus-visible {
  color: #426150;
}

.hero-ark-stats {
  border-color: rgba(66, 71, 65, 0.22);
}

.hero-ark-stats span + span {
  border-color: rgba(66, 71, 65, 0.14);
}

.hero-ark-stats strong {
  color: #222622;
}

.constellation-groups button {
  color: rgba(54, 60, 55, 0.58);
}

.constellation-groups button.active,
.constellation-groups button:hover,
.constellation-groups button:focus-visible {
  border-bottom-color: rgba(61, 91, 76, 0.7);
}

.constellation-group-description,
.constellation-note,
.constellation-next {
  color: rgba(51, 58, 53, 0.62);
}

.stardust-shell,
.stardust-field {
  z-index: 2;
}

.star-sky-canvas {
  opacity: 1;
  animation: none;
}

.stardust-field:has(.stardust-node:hover) .star-sky-canvas,
.stardust-field:has(.stardust-node:focus-visible) .star-sky-canvas,
.stardust-field:has(.stardust-node.active) .star-sky-canvas {
  opacity: 0.72;
}

.stardust-node {
  --star-tint: 92, 94, 88;
  --active-drift-x1: var(--drift-x1);
  --active-drift-y1: var(--drift-y1);
  --active-drift-x2: var(--drift-x2);
  --active-drift-y2: var(--drift-y2);
  --active-drift-x3: var(--drift-x3);
  --active-drift-y3: var(--drift-y3);
  --active-drift-x4: var(--drift-x4);
  --active-drift-y4: var(--drift-y4);
  z-index: 4;
  isolation: isolate;
  border-radius: 50%;
  transform: translate(calc(-50% + var(--attract-x, 0px)), calc(-50% + var(--attract-y, 0px)));
  transition: left 700ms cubic-bezier(0.22, 0.8, 0.22, 1), top 700ms cubic-bezier(0.22, 0.8, 0.22, 1), transform 240ms ease-out, opacity 520ms ease, filter 520ms ease;
}

.stardust-node:hover,
.stardust-node:focus-visible,
.stardust-node.active {
  animation-play-state: paused;
}

.stardust-node:nth-of-type(3n + 1) {
  --star-tint: 94, 103, 108;
}

.stardust-node:nth-of-type(3n + 2) {
  --star-tint: 104, 101, 91;
}

.stardust-node:nth-of-type(3n) {
  --star-tint: 116, 118, 112;
}

.stardust-star {
  width: calc(var(--star-size) * 3);
  height: calc(var(--star-size) * 3);
  background: radial-gradient(circle, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.82) 18%, rgba(var(--star-tint), 0.14) 36%, rgba(var(--star-tint), 0.055) 58%, rgba(var(--star-tint), 0) 82%);
  box-shadow: none;
  opacity: 0.94;
  animation: luminousStarBreathe calc(7.8s + var(--pulse) * 2.4s) var(--delay) ease-in-out infinite;
}

.stardust-star::before,
.stardust-star::after {
  content: "" !important;
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.stardust-star::before {
  width: calc(var(--star-size) * 1.7);
  height: calc(var(--star-size) * 1.7);
  background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.88) 36%, rgba(var(--star-tint), 0.18) 66%, rgba(var(--star-tint), 0) 88%);
}

.stardust-star::after {
  width: calc(var(--star-size) * 0.76);
  height: calc(var(--star-size) * 0.76);
  background: radial-gradient(circle at 46% 42%, #ffffff 0%, rgba(255, 255, 255, 1) 52%, rgba(var(--star-tint), 0.18) 82%, rgba(var(--star-tint), 0) 100%);
  box-shadow: 0 0 2px rgba(var(--star-tint), 0.13);
}

.stardust-star i {
  display: none;
}

.stardust-node::after {
  border-color: transparent;
  background: transparent;
}

.stardust-node.is-constellation-muted {
  z-index: 2;
  opacity: 0.22;
  filter: saturate(0.45);
}

.stardust-node.is-constellation-muted .stardust-name {
  visibility: hidden;
}

.stardust-node.is-constellation-match .stardust-star {
  opacity: 1;
  filter: brightness(1.06);
}

.constellation-hero.is-changing-sky .star-sky-canvas {
  opacity: 0.8;
}

.stardust-node.is-departing::before,
.stardust-node.is-departing::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(92, 94, 88, 0.26);
  border-radius: 50%;
  background: transparent;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.55);
  animation: daylightStarRing 410ms ease-out both;
}

.stardust-node.is-departing::after {
  animation-delay: 92ms;
}

.stardust-node.is-departing .stardust-star {
  animation: daylightStarDoubleBeat 430ms ease-out both;
}

.stardust-node:focus-visible {
  outline-color: rgba(75, 80, 73, 0.42);
}

.stardust-node:hover .stardust-star,
.stardust-node:focus-visible .stardust-star,
.stardust-node.active .stardust-star {
  background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.92) 22%, rgba(var(--star-tint), 0.21) 42%, rgba(var(--star-tint), 0.07) 64%, rgba(var(--star-tint), 0) 84%);
  box-shadow: none;
  opacity: 1;
  filter: brightness(1.04);
}

.stardust-name,
.stardust-name strong,
.stardust-name em,
.stardust-name small {
  color: #272c28;
  text-shadow: 0 1px 8px rgba(255, 255, 255, 0.96);
}

.stardust-name small {
  color: rgba(46, 53, 48, 0.64);
}

.stardust-info,
.stardust-info-copy > p strong,
.stardust-info-copy h3,
.stardust-info-copy > div b,
.stardust-dimensions b,
.stardust-dimensions em {
  color: #272c28;
}

.stardust-info-copy > p span,
.stardust-info-copy > p small,
.stardust-info-copy > div p,
.stardust-dimensions em {
  color: rgba(46, 53, 48, 0.64);
}

.stardust-actions .text-button,
.stardust-actions .secondary-button,
.stardust-actions .icon-button {
  color: #272c28;
}

.stardust-actions .secondary-button,
.stardust-actions .icon-button {
  border-bottom-color: rgba(69, 82, 74, 0.34);
}

@keyframes luminousStarBreathe {
  0%, 100% { opacity: 0.9; filter: brightness(0.98); }
  49% { opacity: 1; filter: brightness(1.08); }
}

@keyframes daylightStarRing {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.55); }
  18% { opacity: 0.34; }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(2.15); }
}

@keyframes daylightStarDoubleBeat {
  0%, 100% { transform: translate(-50%, -50%) scale(1); filter: brightness(1); }
  22% { transform: translate(-50%, -50%) scale(1.12); filter: brightness(1.16); }
  44% { transform: translate(-50%, -50%) scale(0.99); filter: brightness(1.03); }
  70% { transform: translate(-50%, -50%) scale(1.08); filter: brightness(1.13); }
}

@media (max-width: 720px) {
  .constellation-hero {
    min-height: calc(100svh - var(--header) - 58px);
    padding-bottom: 42px;
  }

  .constellation-hero::before {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.38) 46%, rgba(255, 255, 255, 0.06) 100%);
  }

  .constellation-intro .lead {
    max-width: 360px;
  }

  .stardust-shell {
    top: 330px;
    right: 0;
    bottom: 34px;
    left: 0;
  }

  .stardust-field {
    inset: 0;
  }

  .stardust-node {
    --active-drift-x1: var(--mobile-drift-x1);
    --active-drift-y1: var(--mobile-drift-y1);
    --active-drift-x2: var(--mobile-drift-x2);
    --active-drift-y2: var(--mobile-drift-y2);
    --active-drift-x3: var(--mobile-drift-x3);
    --active-drift-y3: var(--mobile-drift-y3);
    --active-drift-x4: var(--mobile-drift-x4);
    --active-drift-y4: var(--mobile-drift-y4);
  }

  .stardust-info {
    right: 14px;
    bottom: 12px;
    left: 14px;
    padding: 14px 0 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.94) 24%);
    pointer-events: none;
  }

  .stardust-info .stardust-actions,
  .stardust-info .stardust-actions button {
    pointer-events: auto;
  }

  .constellation-note,
  .constellation-next {
    bottom: 8px;
  }

  .home-how {
    padding-top: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .star-sky-canvas {
    opacity: 1;
  }

  .stardust-star {
    opacity: 0.96;
    filter: none;
  }

  .stardust-node {
    transition: opacity 1ms linear, filter 1ms linear;
  }
}

/* Release 32 final star-colour overrides must follow the daylight field. */
.constellation-groups [data-home-practice-group="language-systems"] { --group-colour: 53, 78, 96; }
.constellation-groups [data-home-practice-group="moving-image-time"] { --group-colour: 193, 154, 58; }
.constellation-groups [data-home-practice-group="material-memory"] { --group-colour: 75, 113, 96; }
.constellation-groups [data-home-practice-group="body-avatar"] { --group-colour: 177, 76, 82; }
.constellation-groups [data-home-practice-group="machine-co-creation"] { --group-colour: 76, 129, 142; }
.constellation-groups [data-home-practice-group="organisation-boundaries"] { --group-colour: 145, 99, 128; }

.constellation-groups [data-home-practice-group]:not([data-home-practice-group="all"]).active,
.constellation-groups [data-home-practice-group]:not([data-home-practice-group="all"]):hover,
.constellation-groups [data-home-practice-group]:not([data-home-practice-group="all"]):focus-visible {
  color: rgb(var(--group-colour));
  border-bottom-color: rgba(var(--group-colour), 0.7);
}

.stardust-star,
.stardust-node:hover .stardust-star,
.stardust-node:focus-visible .stardust-star,
.stardust-node.active .stardust-star {
  background: radial-gradient(circle,
    rgba(255, 255, 255, 0.99) 0%,
    rgba(255, 255, 255, 0.88) 16%,
    rgba(var(--star-tint), calc(0.06 + var(--star-strength) * 0.22)) 36%,
    rgba(var(--star-tint), calc(0.018 + var(--star-strength) * 0.08)) 61%,
    rgba(var(--star-tint), 0) 84%);
}

.stardust-star::before {
  background: radial-gradient(circle,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0.9) 34%,
    rgba(var(--star-tint), calc(0.07 + var(--star-strength) * 0.2)) 68%,
    rgba(var(--star-tint), 0) 90%);
}

.stardust-star::after {
  background: radial-gradient(circle at 46% 42%,
    #ffffff 0%,
    rgba(255, 255, 255, 1) 50%,
    rgba(var(--star-tint), calc(0.08 + var(--star-strength) * 0.18)) 82%,
    rgba(var(--star-tint), 0) 100%);
}

.stardust-node.is-evidence-building { opacity: 0.58; }
.stardust-node.is-evidence-building:hover,
.stardust-node.is-evidence-building:focus-visible,
.stardust-node.is-evidence-building.active { opacity: 0.92; }
.stardust-info-copy > p strong.is-evidence-label { max-width: 92px; font-family: inherit; font-size: 16px; line-height: 1.35; }

.nav-mobile-join {
  display: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
}

@media (max-width: 720px) {
  .nav-mobile-join {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    font-size: 12px;
  }
}

/* Release 33: sourced research profiles and a visible personal-evaluation path. */
.research-profile-image {
  min-height: 520px;
  margin: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  border-radius: 8px;
  background: #ffffff;
}

.research-profile-image img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.research-profile-image figcaption,
.research-image-strip figcaption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 12px;
  align-items: baseline;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.96);
  font-size: 12px;
}

.research-profile-image figcaption a,
.research-image-strip figcaption a {
  grid-column: 1 / -1;
  color: var(--muted);
}

.research-image-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 34px;
}

.research-image-strip figure {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #ffffff;
}

.research-image-strip img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.research-event-grid,
.research-account-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 30px;
  background: var(--line);
}

.research-event-grid article,
.research-account-grid article {
  min-height: 190px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px;
  background: var(--paper);
}

.research-event-grid time,
.research-event-grid span,
.research-account-grid span,
.research-source-list > article > span {
  color: var(--muted);
  font-size: 11px;
}

.research-event-grid h3,
.research-account-grid h3 {
  margin: 20px 0 8px;
  font-size: 18px;
  line-height: 1.35;
}

.research-event-grid a,
.research-account-grid a {
  margin-top: auto;
  color: var(--ink);
  font-size: 12px;
}

.research-source-list {
  margin-top: 36px;
  border-top: 1px solid var(--line);
}

.research-source-list > article {
  display: grid;
  grid-template-columns: minmax(100px, 16%) minmax(0, 1fr);
  gap: 22px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.research-source-list h3 {
  margin: 0 0 6px;
  font-size: 17px;
}

.research-source-list p {
  margin: 0 0 10px;
  color: var(--muted);
  line-height: 1.65;
}

.research-source-list a {
  font-size: 12px;
}

@media (max-width: 900px) {
  .research-event-grid,
  .research-account-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .research-profile-image {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .research-profile-image figcaption {
    display: none;
  }

  .research-image-strip {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .research-image-strip figure {
    flex: 0 0 82%;
    scroll-snap-align: start;
  }

  .research-event-grid,
  .research-account-grid {
    grid-template-columns: 1fr;
    margin-top: 20px;
  }

  .research-event-grid article,
  .research-account-grid article {
    min-height: 140px;
    padding: 16px;
  }

  .research-source-list > article {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

/* Keep the release 36 rhythm after the legacy release layers above. */
.access-page .display {
  max-width: 13ch;
}

.access-page > .lead {
  max-width: 680px;
  line-height: 1.85;
}

.access-flow {
  gap: 24px;
  background: transparent;
}

.access-flow li {
  min-height: 112px;
  align-content: start;
  padding: 14px 0 18px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid transparent;
  background: transparent;
  font-size: 13px;
  line-height: 1.55;
}

.access-flow li:nth-child(even) {
  margin-top: 24px;
}

.access-flow li::before {
  color: var(--green);
}

.access-form {
  margin-left: clamp(0px, 6vw, 92px);
}

.research-profile-hero .generic-hero-copy > .lead {
  max-width: 36ch;
  line-height: 1.9;
}

.research-profile-hero .profile-meta span:nth-child(2n) {
  transform: translateY(7px);
}

.research-event-grid,
.research-account-grid {
  gap: 26px;
  background: transparent;
}

.research-event-grid article,
.research-account-grid article {
  padding: 20px 0 18px;
  border-top: 1px solid var(--line-strong);
  background: transparent;
}

.research-event-grid article:nth-child(even),
.research-account-grid article:nth-child(even) {
  margin-top: 34px;
}

.research-event-grid article:nth-child(3n + 1),
.research-account-grid article:nth-child(3n + 1),
.research-dimension-grid article:nth-child(3n + 1) {
  border-top-color: var(--green);
}

.research-dimension-grid article:nth-child(3n + 3) {
  border-top-color: var(--red);
}

.research-event-grid h3,
.research-account-grid h3 {
  max-width: 22ch;
}

@media (max-width: 900px) {
  .access-form {
    margin-left: 0;
  }
}

@media (max-width: 720px) {
  .access-flow {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .access-flow li,
  .access-flow li:nth-child(even) {
    min-height: 0;
    margin-top: 0;
  }

  .research-profile-hero .profile-meta span:nth-child(2n),
  .research-event-grid article:nth-child(even),
  .research-account-grid article:nth-child(even) {
    transform: none;
    margin-top: 0;
  }

  .research-event-grid article,
  .research-account-grid article {
    padding: 16px 0;
  }
}

/* Release 39: encounters, personal viewing trail and collaboration paths. */
.daily-encounter {
  width: min(100%, 520px);
  margin-top: clamp(16px, 2.8vh, 28px);
  padding: 13px 0 14px;
  border-top: 1px solid rgba(23, 24, 22, 0.22);
  border-bottom: 1px solid rgba(23, 24, 22, 0.13);
  transition: opacity 260ms ease, transform 360ms ease;
}

.daily-encounter.is-answering {
  opacity: 0;
  transform: translateY(7px);
}

.daily-encounter-head,
.daily-encounter-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.daily-encounter-head span {
  color: var(--green);
  font-size: 11px;
  font-weight: 650;
}

.daily-encounter-head small {
  color: var(--quiet);
  font-size: 9px;
}

.daily-encounter > p {
  max-width: 39em;
  margin: 8px 0 11px;
  font-family: Georgia, "Songti SC", serif;
  font-size: 13px;
  line-height: 1.55;
}

.daily-encounter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.daily-encounter-options button {
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid rgba(23, 24, 22, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.38);
  color: var(--ink);
  font-size: 10px;
  cursor: pointer;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.daily-encounter-options button:hover,
.daily-encounter-options button:focus-visible {
  border-color: rgba(36, 93, 76, 0.58);
  background: rgba(255, 255, 255, 0.76);
  transform: translateY(-2px);
}

.daily-encounter-result {
  margin-top: 9px;
  color: var(--muted);
  font-size: 12px;
}

.encounter-fieldset {
  min-width: 0;
  margin: 20px 0 17px;
  padding: 0;
  border: 0;
}

#takeDialog {
  max-height: calc(100svh - 28px);
}

#takeDialog form {
  max-height: calc(100svh - 28px);
  overflow-y: auto;
}

.encounter-fieldset legend,
#takeTriggerLabel,
#takeReasonLabel {
  color: var(--muted);
  font-size: 12px;
}

.encounter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 9px;
}

.encounter-options button {
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}

.encounter-options button.active {
  border-color: var(--green);
  background: rgba(36, 93, 76, 0.1);
  color: var(--green);
}

.take-trigger {
  width: 100%;
  min-height: 44px;
  margin: 8px 0 17px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--ink);
  font: inherit;
}

#takeDialog .take-dialog-actions {
  position: sticky;
  z-index: 2;
  bottom: -22px;
  margin: 0 -2px;
  padding: 13px 2px 22px;
  background: linear-gradient(rgba(255, 255, 255, 0), var(--paper-solid) 22%);
}

.my-take-preview small,
.my-take-preview strong,
.my-take-preview span {
  display: block;
}

.my-take-preview small {
  margin-bottom: 5px;
  color: var(--green);
  font: 11px/1.4 -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif;
}

.my-take-preview strong {
  margin-bottom: 5px;
  font-weight: 600;
}

.my-arc-hero,
.collaboration-hero {
  min-height: min(680px, calc(100svh - var(--header)));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(70px, 9vw, 132px);
  padding-bottom: clamp(60px, 8vw, 112px);
}

.my-arc-hero .display,
.collaboration-hero .display {
  max-width: 11em;
}

.my-arc-hero > .lead,
.collaboration-hero > .lead {
  max-width: 720px;
  line-height: 1.85;
}

.arc-summary {
  width: min(820px, 100%);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: clamp(34px, 6vw, 68px) 0 26px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.arc-summary span {
  min-height: 112px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 22px;
}

.arc-summary span + span {
  border-left: 1px solid var(--line);
}

.arc-summary strong,
.arc-summary small {
  display: block;
}

.arc-summary strong {
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(28px, 3vw, 46px);
  font-weight: 500;
}

.arc-summary small {
  margin-top: 7px;
  color: var(--muted);
  font-size: 11px;
}

.arc-people-section,
.arc-encounter-section,
.arc-time-section,
.collaboration-paths,
.collaboration-form-section {
  padding-top: clamp(70px, 9vw, 130px);
  padding-bottom: clamp(70px, 9vw, 130px);
  border-top: 1px solid var(--line);
}

.arc-people-river {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(230px, 0.3fr);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  padding: 25px 0 12px;
}

.arc-people-river button {
  min-height: 150px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: end;
  gap: 6px 16px;
  padding: 22px 24px 18px 0;
  border: 0;
  border-top: 1px solid var(--line-strong);
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  scroll-snap-align: start;
  cursor: pointer;
}

.arc-people-river button.has-holding {
  min-height: 230px;
  align-content: start;
}

.arc-people-river .ark-holding.is-compact {
  grid-column: 1 / -1;
  width: 100%;
  grid-template-columns: 1fr;
  margin: 22px 0 0;
  border-bottom: 0;
}

.arc-people-river .ark-holding.is-compact span {
  padding: 9px 0;
}

.arc-people-river .ark-holding.is-compact span + span {
  padding-left: 0;
  border-left: 0;
  border-top: 1px solid var(--line);
}

.arc-people-river .ark-holding.is-compact b {
  font-size: 17px;
}

.arc-people-river button + button {
  padding-left: 24px;
}

.arc-people-river > button > span {
  font-family: Georgia, "Songti SC", serif;
  font-size: 23px;
}

.arc-people-river > button > small {
  grid-column: 1;
  color: var(--muted);
  line-height: 1.5;
}

.arc-people-river > button > .pulse-direction-value {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  color: var(--green);
  font-style: normal;
}

.encounter-ledger {
  margin-top: 30px;
  border-top: 1px solid var(--line-strong);
}

.encounter-ledger article {
  display: grid;
  grid-template-columns: minmax(120px, 18%) minmax(0, 1fr);
  gap: 28px;
  padding: 24px 0 28px;
  border-bottom: 1px solid var(--line);
}

.encounter-ledger time,
.encounter-ledger span {
  color: var(--muted);
  font-size: 11px;
}

.encounter-ledger h3 {
  max-width: 32em;
  margin: 8px 0 7px;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(20px, 2vw, 30px);
  font-weight: 500;
}

.encounter-ledger p {
  max-width: 680px;
  margin: 0 0 12px;
  color: var(--muted);
  line-height: 1.75;
  white-space: pre-wrap;
}

.arc-timeline {
  position: relative;
  width: min(820px, 100%);
  margin-top: 34px;
  padding-left: 25px;
}

.arc-timeline::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 7px;
  bottom: 7px;
  width: 1px;
  background: linear-gradient(var(--green), rgba(36, 93, 76, 0.08));
}

.arc-timeline article {
  position: relative;
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 18px;
  padding: 0 0 24px;
}

.arc-timeline article > i {
  position: absolute;
  left: -24px;
  top: 6px;
  width: 9px;
  height: 9px;
  border: 2px solid var(--bg);
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 1px rgba(36, 93, 76, 0.28);
}

.arc-timeline time {
  color: var(--quiet);
  font-size: 11px;
}

.arc-timeline p {
  margin: 0;
  line-height: 1.6;
}

.arc-empty {
  color: var(--muted);
  line-height: 1.75;
}

.arc-commercial-door {
  width: min(820px, 100%);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-top: 42px;
  padding-top: 24px;
  border-top: 1px solid var(--line-strong);
}

.arc-commercial-door p {
  max-width: 590px;
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.collaboration-river {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 32px 22px;
}

.collaboration-river article {
  grid-column: span 4;
  min-height: 250px;
  padding: 18px 0 26px;
  border-top: 1px solid var(--line-strong);
}

.collaboration-river article:nth-child(2),
.collaboration-river article:nth-child(5) {
  transform: translateY(36px);
}

.collaboration-river span {
  color: var(--green);
  font-size: 11px;
}

.collaboration-river h2 {
  max-width: 12em;
  margin: 42px 0 14px;
  font-size: clamp(22px, 2.3vw, 34px);
}

.collaboration-river p {
  max-width: 34em;
  color: var(--muted);
  line-height: 1.75;
}

.partnership-form {
  width: min(860px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 24px;
  margin-top: 42px;
}

.partnership-form label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
}

.partnership-form input,
.partnership-form select,
.partnership-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.5);
  color: var(--ink);
  font: inherit;
}

.partnership-note,
.partnership-form .access-consent,
.partnership-form .profile-actions {
  grid-column: 1 / -1;
}

.partnership-form .access-consent {
  display: flex;
}

.account-role-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  background: transparent;
}

.account-role-grid button {
  min-height: 210px;
  border-top: 1px solid var(--line-strong);
  border-right: 1px solid var(--line);
  background: transparent;
}

.account-role-grid button:last-child {
  border-right: 0;
}

@media (max-width: 1080px) and (min-width: 721px) {
  .daily-encounter {
    width: 36vw;
  }

  .daily-encounter-options button {
    min-height: 29px;
    padding: 0 8px;
    font-size: 9px;
  }
}

@media (max-width: 720px) {
  .daily-encounter {
    margin-top: 12px;
    padding: 10px 0 11px;
  }

  .daily-encounter > p {
    margin: 6px 0 8px;
    font-size: 11px;
    line-height: 1.48;
  }

  .daily-encounter-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .daily-encounter-options button {
    min-height: 30px;
    padding: 0 7px;
    font-size: 9px;
  }

  .daily-encounter-result {
    align-items: flex-start;
    font-size: 10px;
  }

  .encounter-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .encounter-options button {
    min-height: 42px;
  }

  .my-arc-hero,
  .collaboration-hero {
    min-height: auto;
    padding-top: 58px;
    padding-bottom: 70px;
  }

  .arc-summary {
    margin-top: 34px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .arc-summary span {
    min-height: 94px;
    padding: 12px 9px;
  }

  .arc-summary span:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .arc-summary span:nth-child(4) {
    border-top: 1px solid var(--line);
  }

  .ark-holding:not(.is-compact) {
    grid-template-columns: 1fr;
  }

  .ark-holding:not(.is-compact) span + span {
    padding-left: 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .arc-summary strong {
    font-size: 25px;
  }

  .arc-summary small {
    font-size: 9px;
    line-height: 1.4;
  }

  .arc-people-river {
    grid-auto-columns: 82%;
  }

  .encounter-ledger article,
  .arc-timeline article {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .arc-timeline {
    padding-left: 23px;
  }

  .arc-commercial-door {
    align-items: flex-start;
    flex-direction: column;
  }

  .collaboration-river {
    display: block;
  }

  .collaboration-river article,
  .collaboration-river article:nth-child(2),
  .collaboration-river article:nth-child(5) {
    min-height: 0;
    padding: 18px 0 30px;
    transform: none;
  }

  .collaboration-river h2 {
    margin-top: 24px;
  }

  .partnership-form {
    grid-template-columns: 1fr;
    gap: 17px;
  }

  .partnership-note,
  .partnership-form .access-consent,
  .partnership-form .profile-actions {
    grid-column: 1;
  }

  .account-role-grid {
    grid-template-columns: 1fr;
  }

  .account-role-grid button {
    min-height: 128px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
}

/* Release 40 final responsive overrides. */
@media (max-width: 720px) {
  .constellation-hero.dense-constellation {
    min-height: 1040px;
  }

  .constellation-hero.dense-constellation .stardust-shell {
    inset: 0;
    min-height: 1040px;
  }

  .constellation-hero.dense-constellation .stardust-field {
    inset: 520px 0 190px;
    min-height: 330px;
  }

  .constellation-hero.dense-constellation .stardust-info {
    right: 14px;
    bottom: 42px;
    left: 14px;
  }

  .app {
    max-width: 100vw;
    overflow-x: clip;
  }

  .home-how-figure figcaption,
  .home-how-figure figcaption span,
  .home-how-figure figcaption p {
    min-width: 0;
    max-width: 100%;
  }

  .home-how-figure figcaption span {
    display: block;
    padding: 0;
    border: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .dense-constellation .stardust-name {
    max-width: calc(100vw - 28px);
  }
}

/* Release 51 cascade guard. */
body .home-social-stream.compact-feed {
  display: block;
  columns: 3 300px;
  column-gap: clamp(16px, 2.1vw, 30px);
  overflow: visible;
  border-top: 0;
}

body .home-social-stream.compact-feed article {
  width: 100%;
  display: block;
  break-inside: avoid;
  overflow: hidden;
  margin: 0 0 clamp(18px, 2.6vw, 34px);
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.64);
}

body .home-social-stream.compact-feed article.feed-discover {
  border-top: 3px solid rgba(36, 93, 76, 0.55);
}

body .home-social-stream.compact-feed article > div:last-child {
  padding: 18px 18px 20px;
}

.home-ark-snapshot {
  width: min(100%, 560px);
  margin: 0 0 24px;
  padding: 18px 0 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.home-ark-snapshot > header,
.home-ark-snapshot > header > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.home-ark-snapshot > header span {
  font-family: Georgia, "Songti SC", serif;
  font-size: 22px;
}

.home-ark-snapshot > header strong {
  font-size: 13px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.home-ark-snapshot > header strong.pulse-direction-active,
.home-ark-holdings b.pulse-direction-active {
  color: var(--green);
}

.home-ark-snapshot > header strong.pulse-direction-cooling,
.home-ark-holdings b.pulse-direction-cooling {
  color: #9c4d43;
}

.home-ark-snapshot .hero-ark-stats {
  width: 100%;
  margin: 15px 0 0;
}

.home-ark-holdings {
  border-top: 1px solid var(--line);
}

.home-ark-holdings button,
.home-ark-empty {
  width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 9px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.home-ark-holdings button > span {
  min-width: 0;
  font-size: 13px;
}

.home-ark-holdings small {
  color: var(--muted);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.home-ark-holdings b {
  min-width: 62px;
  text-align: right;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.home-holding-artist-direction {
  font-size: 11px;
}

.home-ark-empty {
  grid-template-columns: minmax(0, 1fr) auto;
}

.home-ark-empty span {
  color: var(--muted);
  font-size: 12px;
}

.home-ark-empty b {
  color: var(--green);
  font-size: 11px;
  font-weight: 600;
}

.home-ark-snapshot > p {
  margin: 12px 0 13px;
  color: var(--quiet);
  font-size: 10px;
}

.feed-personal-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 15px -18px -20px;
  border-top: 1px solid var(--line);
}

.feed-personal-actions button {
  min-width: 0;
  min-height: 42px;
  padding: 0 6px;
  border: 0;
  border-right: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.45);
  color: var(--muted);
  cursor: pointer;
  font-size: 10px;
  white-space: normal;
}

.feed-personal-actions button:last-child {
  border-right: 0;
}

.feed-personal-actions button.active,
.feed-personal-actions button:hover,
.feed-personal-actions button:focus-visible {
  color: var(--green);
  background: rgba(36, 93, 76, 0.08);
}

body .home-social-stream.compact-feed figure {
  margin: 0;
}

body .home-social-stream.compact-feed img {
  width: 100%;
  height: auto;
  max-height: none;
  margin: 0;
  border-radius: 0;
  object-fit: cover;
}

body .artist-directory-constellations {
  grid-column: 1 / -1;
}

body .artist-directory-constellation > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 900px) {
  body .home-social-stream.compact-feed { columns: 2 280px; }
}

@media (max-width: 720px) {
  body .home-social-stream.compact-feed { columns: 1; }
  body .home-social-stream.compact-feed article > div:last-child { padding: 16px 14px 18px; }
  .feed-personal-actions { margin: 15px -14px -18px; }
  .home-ark-holdings button { grid-template-columns: minmax(0, 1fr) auto; }
  .home-ark-holdings small { display: none; }
  body .artist-directory-constellation > div { grid-template-columns: 1fr; }

  .unified-profile-hero .generic-hero-copy {
    align-self: stretch;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .unified-profile-hero .profile-title,
  .unified-profile-hero .profile-title small {
    max-width: 100%;
    word-break: normal;
    overflow-wrap: anywhere;
  }
}

/* Release 83: artwork-first home, durable feedback and quieter profile gaps. */
body .home-feed-hero {
  min-height: min(720px, calc(100svh - var(--header)));
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.78fr);
  gap: clamp(38px, 6vw, 92px);
  align-items: center;
}

body .home-feed-hero-side {
  justify-content: center;
  gap: 13px;
}

.home-hero-artwork {
  width: min(100%, 560px);
}

.home-direction-guide {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 22px;
  color: var(--muted);
  font-size: 11px;
}

.home-direction-guide span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.home-direction-guide i {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--green);
  font-style: normal;
  font-size: 13px;
}

.home-hero-artwork figure {
  position: relative;
  margin: 0;
  border: 1px solid var(--line);
  background: rgba(23, 24, 22, 0.035);
  cursor: zoom-in;
}

.home-hero-artwork img {
  width: 100%;
  height: clamp(220px, 24vw, 330px);
  display: block;
  object-fit: contain;
}

.home-hero-artwork figcaption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 16px;
  padding: 11px 13px 12px;
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.9);
}

.home-hero-artwork figcaption span,
.home-hero-artwork figcaption strong,
.home-hero-artwork figcaption small {
  min-width: 0;
}

.home-hero-artwork figcaption span {
  color: var(--green);
  font-size: 11px;
}

.home-hero-artwork figcaption strong {
  grid-column: 1;
  overflow-wrap: anywhere;
  font-family: Georgia, "Songti SC", serif;
  font-size: 15px;
  font-weight: 500;
}

.home-hero-artwork figcaption small {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  color: var(--quiet);
  font-size: 10px;
}

.home-hero-artwork > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-top: 9px;
}

.home-hero-artwork > div p {
  max-width: 36em;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}

.home-hero-artwork > div button {
  flex: 0 0 auto;
}

body .home-feed-hero-side > .hero-register-prompt,
body .home-feed-hero-side > .home-ark-snapshot {
  margin: 0;
}

body .home-feed-hero-side .home-start-scrolling {
  min-height: 58px;
}

body .home-social-stream.compact-feed article.feed-daily-question {
  padding: 18px;
  border-top: 3px solid rgba(36, 93, 76, 0.58);
  background: rgba(36, 93, 76, 0.055);
}

.feed-daily-question .daily-encounter {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}

.feed-daily-question .daily-encounter > p {
  margin: 12px 0 15px;
  font-size: 16px;
  line-height: 1.62;
}

.feed-personal-status {
  margin: 13px 0 -3px;
  color: var(--green) !important;
  font-size: 10px !important;
  line-height: 1.5 !important;
}

body .home-social-stream.compact-feed article > div:last-child > p:not(.feed-personal-status) {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.arc-nearby-section {
  padding-top: clamp(70px, 9vw, 130px);
  padding-bottom: clamp(70px, 9vw, 130px);
  border-top: 1px solid var(--line);
}

.arc-nearby-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 30px;
  border-top: 1px solid var(--line-strong);
}

.arc-nearby-grid article {
  min-width: 0;
  padding: 0 18px 24px;
  border-bottom: 1px solid var(--line);
}

.arc-nearby-grid article + article {
  border-left: 1px solid var(--line);
}

.arc-nearby-grid figure,
.arc-nearby-grid .feed-story-mark {
  height: 210px;
  margin: 0 -18px 18px;
  background: rgba(23, 24, 22, 0.035);
}

.arc-nearby-grid img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.arc-nearby-grid article > div:last-child > span {
  color: var(--green);
  font-size: 10px;
}

.arc-nearby-grid h3 {
  margin: 7px 0 10px;
  font-family: Georgia, "Songti SC", serif;
  font-size: 25px;
  font-weight: 500;
}

.arc-nearby-grid p {
  min-height: 4.8em;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.research-profile-sky.research-image-open > strong {
  position: relative;
  z-index: 1;
  display: block;
  color: var(--green);
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(52px, 8vw, 108px);
  font-weight: 400;
}

@media (max-width: 900px) {
  body .home-feed-hero {
    grid-template-columns: minmax(0, 1fr) minmax(310px, 0.78fr);
    gap: 30px;
  }

  .arc-nearby-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .site-header {
    backdrop-filter: none;
  }

  body .home-feed-hero {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 44px 14px 32px;
  }

  body .home-feed-hero h1 {
    font-size: 43px;
    line-height: 1.05;
  }

  .home-direction-guide {
    margin-top: 17px;
    gap: 7px 14px;
    font-size: 10px;
  }

  .home-hero-artwork img {
    height: min(63vw, 250px);
  }

  .home-hero-artwork > div {
    display: block;
  }

  .home-hero-artwork > div button {
    margin-top: 7px;
  }

  .feed-daily-question .daily-encounter > p {
    font-size: 15px;
  }

  .arc-nearby-grid {
    grid-template-columns: 1fr;
  }

  .arc-nearby-grid article + article {
    border-left: 0;
  }

  .arc-nearby-grid p {
    min-height: 0;
  }
}

/* Release 85: clearer direction context, balanced type and warmer return visits. */
.artist-direction[data-direction-open] {
  position: relative;
  cursor: pointer;
  transition: color 160ms ease, transform 160ms ease;
}

.artist-direction[data-direction-open]:hover {
  color: var(--green);
  transform: translateY(-1px);
}

.direction-dialog-panel {
  padding: 26px;
}

.direction-dialog-panel .dialog-head h2 {
  margin: 4px 0 0;
  font-size: clamp(32px, 5vw, 52px);
}

.direction-dialog-status {
  margin: 26px 0 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: 20px;
  line-height: 1.55;
}

.direction-dialog-updated {
  margin: 8px 0 22px;
  color: var(--muted);
  font-size: 11px;
}

.direction-dialog-reasons {
  display: grid;
  gap: 0;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
  counter-reset: direction-reason;
  border-top: 1px solid var(--line-strong);
}

.direction-dialog-reasons li {
  position: relative;
  padding: 15px 0 15px 34px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
  counter-increment: direction-reason;
}

.direction-dialog-reasons li::before {
  content: counter(direction-reason, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 17px;
  color: var(--green);
  font-size: 10px;
}

.method-page .display,
.my-arc-hero .display,
.collaboration-hero .display,
.access-page .display {
  max-width: 13em;
  font-size: clamp(50px, 6.3vw, 96px);
  line-height: 0.98;
  text-wrap: balance;
  word-break: normal;
  overflow-wrap: normal;
}

.unified-profile-hero .profile-title small {
  max-width: 18em;
  font-size: clamp(24px, 2.6vw, 39px);
  line-height: 1.13;
  text-wrap: balance;
  word-break: normal;
  overflow-wrap: normal;
}

.profile-related-section,
.arc-recently-viewed {
  padding-top: clamp(70px, 9vw, 126px);
  padding-bottom: clamp(70px, 9vw, 126px);
  border-top: 1px solid var(--line);
}

.profile-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 30px;
  border-top: 1px solid var(--line-strong);
}

.profile-related-grid article {
  min-width: 0;
  padding: 0 18px 24px;
  border-bottom: 1px solid var(--line);
}

.profile-related-grid article + article {
  border-left: 1px solid var(--line);
}

.profile-related-grid figure {
  height: 230px;
  margin: 0 -18px 18px;
  background: rgba(23, 24, 22, 0.035);
}

.profile-related-grid img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.profile-related-grid article > div > span {
  color: var(--green);
  font-size: 10px;
}

.profile-related-grid h3 {
  margin: 7px 0 10px;
  font-family: Georgia, "Songti SC", serif;
  font-size: 25px;
  font-weight: 500;
}

.profile-related-grid p {
  min-height: 4.8em;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

.arc-summary.guest-arc-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.saved-partnership-briefs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 24px;
  padding: 18px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.saved-partnership-briefs span,
.saved-partnership-briefs strong {
  display: block;
}

.saved-partnership-briefs span {
  margin-bottom: 5px;
  color: var(--green);
  font-size: 10px;
}

.saved-partnership-briefs strong {
  font-family: Georgia, "Songti SC", serif;
  font-size: 22px;
  font-weight: 500;
}

@media (max-width: 900px) {
  .profile-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-related-grid article:nth-child(3) {
    display: none;
  }
}

@media (max-width: 720px) {
  .direction-dialog-panel {
    padding: 20px;
  }

  .method-page .display,
  .my-arc-hero .display,
  .collaboration-hero .display,
  .access-page .display {
    font-size: 43px;
    line-height: 1.04;
  }

  .unified-profile-hero .profile-title small {
    font-size: 23px;
    line-height: 1.16;
  }

  .profile-related-grid {
    grid-template-columns: 1fr;
  }

  .profile-related-grid article + article {
    border-left: 0;
  }

  .profile-related-grid article:nth-child(3) {
    display: block;
  }

  .profile-related-grid figure {
    height: min(68vw, 280px);
  }

  .profile-related-grid p {
    min-height: 0;
  }

  .arc-summary.guest-arc-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .arc-summary.guest-arc-summary span,
  .arc-summary.guest-arc-summary span:nth-child(3) {
    grid-column: auto;
    min-height: 92px;
    border-left: 1px solid var(--line);
  }

  .arc-summary.guest-arc-summary span:first-child {
    border-left: 0;
  }

  .saved-partnership-briefs {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Release 94: mobile-first home feed with a shorter first screen. */
.feed-quiet-label {
  display: inline-flex;
  margin: 0 8px 8px 0;
  padding: 4px 7px;
  border: 1px solid rgba(36, 93, 76, 0.22);
  border-radius: 999px;
  background: rgba(36, 93, 76, 0.06);
  color: var(--green);
  font-size: 9px;
  font-weight: 700;
}

body .home-social-stream.compact-feed article.is-quiet-find {
  border-top-color: rgba(55, 95, 122, 0.5);
}

@media (max-width: 720px) {
  :root {
    --header: 64px;
  }

  body {
    padding-bottom: calc(62px + env(safe-area-inset-bottom));
  }

  .site-header {
    min-height: var(--header);
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px 12px;
  }

  .brand {
    min-width: 0;
    gap: 8px;
  }

  .brand-mark {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
  }

  .brand-mark::before {
    width: 22px;
    height: 22px;
    left: 8px;
    top: 7px;
  }

  .brand-mark::after {
    width: 14px;
    height: 14px;
    right: 9px;
    bottom: 10px;
  }

  .brand strong {
    font-size: 15px;
  }

  .brand small {
    max-width: 138px;
    margin-top: 2px;
    overflow: hidden;
    font-size: 8px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .beta-label {
    margin-left: 5px;
    padding-left: 5px;
    font-size: 8px;
  }

  .header-actions {
    flex-wrap: nowrap;
    gap: 5px;
  }

  .ark-header-button {
    min-height: 32px;
    padding: 0 9px;
  }

  .ark-header-button strong {
    display: none;
  }

  .lang-switch {
    padding: 2px;
  }

  .lang-switch button {
    width: 28px;
    height: 28px;
  }

  .nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 70;
    width: 100%;
    min-height: calc(58px + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0 6px env(safe-area-inset-bottom);
    overflow: visible;
    border-top: 1px solid var(--line-strong);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 -8px 24px rgba(24, 28, 20, 0.07);
    backdrop-filter: blur(18px);
  }

  .nav > a,
  .nav > .nav-artist-root,
  .nav > .nav-mobile-join {
    min-width: 0;
    height: 58px;
    margin: 0;
  }

  .nav > a,
  .nav-directory-button,
  .nav-mobile-join {
    width: 100%;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
    font-size: 10px;
    font-weight: 600;
    text-align: center;
  }

  .nav > a.active,
  .nav-directory-button.active {
    background: transparent;
    color: var(--ink);
    box-shadow: inset 0 2px 0 var(--green);
  }

  .nav-artist-popover {
    display: none;
  }

  .app {
    padding: 0 14px calc(30px + env(safe-area-inset-bottom));
  }

  body .home-feed-hero {
    min-height: 0;
    gap: 17px;
    margin: 0 -14px;
    padding: 20px 16px 18px;
    background:
      linear-gradient(rgba(23, 24, 22, 0.04) 1px, transparent 1px) 0 0 / 100% 64px,
      var(--bg);
  }

  .home-feed-hero .overline {
    margin-bottom: 7px;
    font-size: 10px;
  }

  body .home-feed-hero h1 {
    max-width: 8.5em;
    margin: 0 0 10px;
    font-size: 37px;
    line-height: 1.06;
  }

  body .home-feed-hero .lead {
    max-width: 24em;
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
  }

  .home-direction-guide {
    gap: 6px 12px;
    margin-top: 13px;
    font-size: 9px;
  }

  .home-direction-guide i {
    width: 20px;
    height: 20px;
    font-size: 11px;
  }

  body .home-feed-hero-side {
    gap: 8px;
  }

  .home-hero-artwork img {
    height: min(54vw, 220px);
  }

  .home-hero-artwork figcaption {
    padding: 9px 10px 10px;
  }

  .home-hero-artwork figcaption strong {
    font-size: 14px;
  }

  .home-hero-artwork > div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 7px;
  }

  .home-hero-artwork > div p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 10px;
    line-height: 1.45;
  }

  .home-hero-artwork > div button {
    margin: 0;
    white-space: nowrap;
  }

  .hero-register-prompt {
    min-height: 58px;
    margin-top: 0;
    padding: 10px 0;
  }

  .hero-register-prompt b {
    font-size: 13px;
  }

  .hero-register-prompt span {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    font-size: 9px;
  }

  .home-ark-snapshot {
    margin-bottom: 0;
    padding-top: 12px;
  }

  .home-ark-snapshot > header span {
    font-size: 18px;
  }

  .home-ark-holdings button:nth-child(n + 3) {
    display: none;
  }

  body .home-feed-hero-side .home-start-scrolling {
    display: none;
  }

  .home-social-section {
    margin: 0 -14px;
    padding: 22px 0 70px;
    border-top: 0;
  }

  .home-social-section .section-head {
    display: block;
    margin: 0;
    padding: 0 16px 15px;
  }

  .home-social-section .section-head .overline {
    margin-bottom: 6px;
    font-size: 10px;
  }

  .home-social-section .section-head h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1.12;
  }

  .home-social-section .section-head > p {
    max-width: 29em;
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.55;
  }

  .home-feed-controls {
    position: sticky;
    top: var(--header);
    z-index: 24;
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 8px;
    margin: 0;
    padding: 8px 12px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line-strong);
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(16px);
  }

  .home-feed-filters {
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
  }

  .home-feed-filters button {
    min-height: 32px;
    padding: 0 10px;
    font-size: 10px;
  }

  .home-directory-entry {
    flex: 0 0 auto;
    font-size: 10px;
    white-space: nowrap;
  }

  body .home-social-stream.compact-feed {
    margin: 0;
    columns: 1;
  }

  body .home-social-stream.compact-feed article,
  body .home-social-stream.compact-feed article.feed-discover {
    margin: 0;
    border-right: 0;
    border-bottom: 8px solid rgba(23, 24, 22, 0.055);
    border-left: 0;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.72);
  }

  body .home-social-stream.compact-feed article > div:last-child {
    padding: 14px 16px 13px;
  }

  body .home-social-stream.compact-feed figure {
    background: rgba(23, 24, 22, 0.035);
  }

  body .home-social-stream.compact-feed img {
    width: 100%;
    height: auto;
    max-height: 72svh;
    aspect-ratio: auto;
    object-fit: contain;
  }

  .home-social-stream h3 {
    margin: 8px 0 10px;
    font-size: 24px;
    line-height: 1.12;
  }

  .home-social-stream h3 small {
    font-size: 9px;
  }

  body .home-social-stream.compact-feed article > div:last-child > p:not(.feed-personal-status) {
    margin: 8px 0 12px;
    -webkit-line-clamp: 3;
    font-size: 13px;
    line-height: 1.62;
  }

  .feed-card-actions {
    margin-top: 10px;
  }

  .feed-personal-actions {
    margin: 13px -16px -13px;
  }

  .feed-personal-actions button {
    min-height: 44px;
    font-size: 10px;
  }

  body .home-social-stream.compact-feed article.feed-daily-question {
    padding: 16px;
  }

  .home-feed-more {
    min-height: 62px;
    margin: 0;
    background: rgba(255, 255, 255, 0.56);
  }

  .toast {
    bottom: calc(76px + env(safe-area-inset-bottom));
  }
}

/* Release 95: material-and-style browsing with a faster mobile feed. */
.profile-practice-groups > span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.52);
  color: var(--muted);
  font-size: 10px;
  white-space: nowrap;
}

body .home-social-stream.compact-feed article.feed-register-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 22px;
  border-top: 3px solid var(--green);
  background: rgba(36, 93, 76, 0.07);
}

.feed-register-card > div {
  min-width: 0;
}

.feed-register-card span,
.feed-register-card strong,
.feed-register-card p {
  display: block;
}

.feed-register-card span {
  color: var(--green);
  font-size: 10px;
}

.feed-register-card strong {
  margin-top: 4px;
  font-family: Georgia, "Songti SC", serif;
  font-size: 22px;
  font-weight: 500;
}

.feed-register-card p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.feed-register-card button {
  flex: 0 0 auto;
}

/* Release 98: make the core action clear without turning the hero into instructions. */
.home-play-action {
  width: min(100%, 310px);
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 22px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 650;
  letter-spacing: 0;
}

.home-play-action i {
  font-style: normal;
  font-size: 18px;
}

@media (max-width: 720px) {
  .ark-header-button::before {
    content: attr(data-mobile-label);
    color: var(--green);
    font-size: 9px;
    font-weight: 700;
  }

  body .home-feed-hero {
    gap: 10px;
    padding: 12px 14px 10px;
  }

  .home-feed-hero .overline {
    display: none;
  }

  body .home-feed-hero h1 {
    max-width: none;
    margin-bottom: 6px;
    font-size: 30px;
    line-height: 1.1;
  }

  body .home-feed-hero .lead {
    max-width: none;
    font-size: 12px;
    line-height: 1.4;
  }

  .home-play-action {
    width: 100%;
    min-height: 44px;
    margin-top: 11px;
    padding: 0 14px;
    font-size: 13px;
  }

  .home-direction-guide {
    flex-wrap: nowrap;
    gap: 12px;
    margin-top: 9px;
    font-size: 9px;
  }

  .home-direction-guide i {
    width: 18px;
    height: 18px;
    font-size: 10px;
  }

  .home-hero-artwork figure {
    overflow: hidden;
  }

  .home-hero-artwork img {
    height: min(46vw, 184px);
  }

  .home-hero-artwork figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 7px 9px 8px;
    border-top: 1px solid rgba(23, 24, 22, 0.12);
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
  }

  .home-hero-artwork figcaption span {
    font-size: 9px;
  }

  .home-hero-artwork figcaption strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .home-hero-artwork figcaption small {
    font-size: 9px;
  }

  .home-hero-artwork > div,
  body .home-feed-hero-side > .hero-register-prompt {
    display: none;
  }

  .home-social-section {
    padding-top: 12px;
  }

  .home-social-section .section-head {
    padding-bottom: 10px;
  }

  .home-social-section .section-head .overline {
    display: none;
  }

  .home-social-section .section-head h2 {
    font-size: 23px;
  }

  .home-social-section .section-head > p {
    margin-top: 5px;
  }

  body .home-social-stream.compact-feed article.feed-register-card {
    padding: 17px 16px;
  }

  .feed-register-card strong {
    font-size: 19px;
  }

  .feed-register-card p {
    max-width: 18em;
    line-height: 1.45;
  }

  .feed-register-card button {
    min-height: 40px;
    padding: 0 15px;
  }

  .profile-practice-groups {
    gap: 6px;
  }

  .profile-practice-groups > span {
    min-height: 27px;
    font-size: 9px;
  }
}

/* Release 99: tighter mobile rhythm and language-aware typesetting. */
main h1,
main h2,
main h3,
main strong {
  text-wrap: balance;
}

main p,
main li,
main dd,
main figcaption {
  text-wrap: pretty;
}

.feed-card-meta {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--quiet);
  font-size: 10px;
}

.feed-card-meta .feed-quiet-label {
  flex: 0 0 auto;
  margin: 0;
}

.feed-card-meta time {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.feed-card-meta .event-source-type {
  flex: 0 0 auto;
  float: none;
  margin-left: auto;
  white-space: nowrap;
}

.feed-artist-heading > span {
  min-width: 0;
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}

.feed-artist-name {
  min-width: 0;
  color: inherit;
  font: inherit;
  overflow-wrap: break-word;
}

.feed-update-title {
  line-height: 1.45;
}

html[lang="en"] .home-feed-hero h1 {
  max-width: 13ch;
  font-size: clamp(46px, 5vw, 74px);
  line-height: 1.02;
}

html[lang="en"] .home-feed-hero .lead,
html[lang="en"] .method-page .lead,
html[lang="en"] .unified-profile-hero .lead {
  max-width: 58ch;
}

html[lang="en"] .section-head h2,
html[lang="en"] .profile-title,
html[lang="en"] .method-page .display {
  letter-spacing: 0;
}

.method-page > .lead {
  max-width: 52ch;
}

.dossier-opening-copy > p,
.dossier-practice-copy p,
.dossier-market-copy p {
  max-width: 68ch;
}

@media (max-width: 720px) {
  .brand small {
    max-width: 140px;
    overflow: visible;
    font-size: 7.5px;
    line-height: 1.18;
    text-overflow: clip;
    white-space: normal;
  }

  .brand small > span {
    display: inline;
  }

  .beta-label {
    font-size: 7.5px;
  }

  body .home-feed-hero h1 {
    max-width: 11em;
    font-size: 29px;
    line-height: 1.08;
  }

  html[lang="en"] .home-feed-hero h1 {
    max-width: 15ch;
    font-size: 29px;
    line-height: 1.08;
  }

  body .home-feed-hero .lead,
  html[lang="en"] .home-feed-hero .lead {
    max-width: 34em;
    font-size: 12px;
    line-height: 1.45;
  }

  .home-hero-artwork img {
    height: min(43vw, 172px);
  }

  .home-social-section .section-head h2 {
    font-size: 22px;
    line-height: 1.16;
  }

  .home-social-section .section-head > p {
    max-width: 34em;
    font-size: 11px;
    line-height: 1.5;
  }

  .home-feed-controls {
    padding: 7px 10px;
  }

  .home-feed-filters {
    gap: 5px;
  }

  .home-feed-filters button {
    min-height: 34px;
    padding: 0 9px;
  }

  body .home-social-stream.compact-feed article,
  body .home-social-stream.compact-feed article.feed-discover {
    border-bottom-width: 6px;
  }

  body .home-social-stream.compact-feed figure {
    display: grid;
    place-items: center;
  }

  body .home-social-stream.compact-feed img {
    width: 100%;
    height: auto;
    max-height: 390px;
    object-fit: contain;
  }

  body .home-social-stream.compact-feed article > div:last-child {
    padding: 12px 14px 11px;
  }

  .feed-card-meta {
    gap: 6px;
    font-size: 9px;
  }

  .feed-card-meta .event-source-type {
    max-width: 42%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .feed-quiet-label {
    padding: 3px 6px;
    font-size: 8px;
  }

  .home-social-stream h3.feed-artist-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin: 7px 0 7px;
    font-size: 22px;
    line-height: 1.14;
  }

  .feed-artist-heading > span {
    flex: 1 1 auto;
  }

  html[lang="en"] .feed-artist-heading > span {
    font-size: 20px;
  }

  .home-social-stream h3.feed-artist-heading small {
    flex: 0 1 44%;
    max-width: 44%;
    line-height: 1.35;
    text-align: right;
    white-space: normal;
  }

  .feed-update-title {
    margin-bottom: 5px !important;
    font-size: 15px;
    line-height: 1.42;
  }

  body .home-social-stream.compact-feed article > div:last-child > p:not(.feed-personal-status) {
    margin: 6px 0 8px;
    font-size: 12.5px;
    line-height: 1.56;
    -webkit-line-clamp: 2;
  }

  body .home-social-stream.compact-feed article.feed-discover > div:last-child > p:not(.feed-personal-status) {
    -webkit-line-clamp: 3;
  }

  .feed-card-actions {
    min-height: 34px;
    margin-top: 5px;
  }

  .feed-card-actions .text-button {
    min-height: 34px;
    padding: 0;
  }

  .feed-personal-actions {
    margin: 8px -14px -11px;
  }

  .feed-personal-actions button {
    min-height: 42px;
  }

  body .home-social-stream.compact-feed article.feed-register-card {
    gap: 14px;
    padding: 16px 14px;
  }

  .feed-register-card strong {
    font-size: 18px;
  }

  .feed-register-card p {
    max-width: 20em;
    font-size: 10px;
  }

  .method-page .display,
  .my-arc-hero .display,
  .collaboration-hero .display,
  .access-page .display {
    font-size: 37px;
    line-height: 1.08;
  }

  html[lang="en"] .method-page .display,
  html[lang="en"] .my-arc-hero .display,
  html[lang="en"] .collaboration-hero .display,
  html[lang="en"] .access-page .display {
    font-size: 36px;
    line-height: 1.06;
  }

  .method-page > .lead {
    max-width: 31em;
    font-size: 16px;
    line-height: 1.62;
  }

  .method-story {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    margin-top: 28px;
    padding: 19px 0 21px;
  }

  .method-story > span {
    font-size: 23px;
  }

  .method-story h2 {
    font-size: 22px;
    line-height: 1.2;
  }

  .method-story p {
    margin-top: 11px;
    font-size: 14px;
    line-height: 1.68;
  }

  .method-note.section {
    margin-top: 22px;
  }

  .method-note {
    gap: 0;
  }

  .method-note article,
  .method-note article:nth-child(3),
  .method-note article:nth-child(6) {
    padding: 18px 0 20px 34px;
  }

  .method-note article::before {
    top: 20px;
  }

  .method-note h3 {
    font-size: 18px;
    line-height: 1.3;
  }

  .method-note p {
    margin-top: 7px;
    font-size: 15px;
    line-height: 1.64;
  }

  .unified-profile-hero {
    gap: 9px !important;
    padding: 10px 0 10px !important;
  }

  .unified-profile-hero .generic-hero-image img {
    height: 176px !important;
  }

  .unified-profile-hero .generic-hero-image figcaption {
    min-height: 24px;
    padding-top: 5px !important;
    font-size: 9px;
  }

  .unified-profile-hero .profile-title {
    font-size: 42px;
    line-height: 1.02;
  }

  html[lang="en"] .unified-profile-hero .profile-title {
    font-size: 37px;
    line-height: 1.02;
  }

  .unified-profile-hero .profile-title small {
    max-width: 16em;
    margin-top: 6px;
    font-size: 20px;
    line-height: 1.14;
  }

  html[lang="en"] .unified-profile-hero .profile-title small {
    font-size: 18px;
    line-height: 1.16;
  }

  .unified-profile-hero .lead,
  html[lang="en"] .unified-profile-hero .lead {
    margin-top: 9px;
    font-size: 14px;
    line-height: 1.62;
  }

  html[lang="en"] .unified-profile-hero .lead {
    -webkit-line-clamp: 4;
  }

  .unified-profile-hero .profile-meta {
    margin-top: 8px;
  }

  .unified-profile-hero .profile-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 8px;
  }

  .unified-profile-hero .profile-actions button {
    min-width: 0;
    min-height: 42px;
    padding: 5px 7px;
    font-size: 10px;
    line-height: 1.25;
    white-space: normal;
  }

  .profile-chapter-nav a {
    min-width: 90px;
    min-height: 42px;
    padding: 0 10px;
  }

  .dossier-opening {
    gap: 18px;
    padding-top: 42px;
  }

  .profile-system-section .section-head h2,
  .dossier-opening-copy h2,
  .dossier-practice-band h2,
  .dossier-market-copy h2 {
    font-size: 29px;
    line-height: 1.18;
  }

  .profile-happening .dossier-opening-copy > .lead {
    font-size: 16px;
    line-height: 1.72;
  }

  .dossier-practice-copy p,
  .dossier-opening-copy > p:not(.lead),
  .dossier-market-copy p {
    font-size: 15px;
    line-height: 1.72;
  }
}

@media (max-width: 370px) {
  .brand small {
    max-width: 112px;
    font-size: 7px;
  }

  .home-directory-entry {
    font-size: 9px;
  }

  .home-feed-filters button {
    padding: 0 8px;
  }
}

/* release 158 · cultural spaces and a quieter, non-ranked feed */
.social-feed-promise {
  margin: 0;
  padding: 12px 16px;
  color: #756d68;
  border-bottom: 1px solid rgba(40, 31, 27, .08);
  font-size: 12px;
  line-height: 1.55;
}

.discover-spaces {
  margin: 52px 0;
  padding: 30px;
  border: 1px solid rgba(40, 31, 27, .1);
  border-radius: 28px;
  background: #ffffff;
}

.discover-spaces > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr);
  gap: 28px;
  align-items: end;
}

.discover-spaces h2 {
  max-width: 660px;
  margin: 6px 0 0;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.discover-spaces > header > p {
  margin: 0;
  color: #6f6660;
  line-height: 1.7;
}

.discover-space-types {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 28px;
}

.discover-space-types article {
  display: flex;
  min-height: 160px;
  flex-direction: column;
  justify-content: space-between;
  padding: 18px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(54, 39, 30, .06);
}

.discover-space-types span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #a14437;
  background: #ffffff;
  font-size: 15px;
}

.discover-space-types strong {
  margin-top: auto;
  padding-top: 22px;
  font-size: 16px;
}

.discover-space-types small {
  margin-top: 7px;
  color: #786f69;
  line-height: 1.45;
}

.discover-space-actions {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-top: 22px;
}

.discover-space-note {
  margin: 18px 0 0;
  color: #746b66;
  font-size: 12px;
  line-height: 1.6;
}

.discover-night {
  margin: 52px 0 0;
  padding: 30px;
  border-radius: 28px;
  background: #211f25;
  color: #fff;
}

.discover-night > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .58fr);
  gap: 28px;
  align-items: end;
}

.discover-night h2 {
  max-width: 680px;
  margin: 6px 0 0;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.discover-night > header > p {
  margin: 0;
  color: rgba(255, 255, 255, .68);
  line-height: 1.7;
}

.discover-night-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 28px;
}

.discover-night-links button {
  display: grid;
  min-height: 145px;
  align-content: end;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 20px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  text-align: left;
  cursor: pointer;
}

.discover-night-links button:hover,
.discover-night-links button:focus-visible {
  border-color: rgba(255, 255, 255, .55);
  background: rgba(255, 255, 255, .1);
}

.discover-night-links span {
  margin-bottom: auto;
  color: #f2a087;
  font-size: 18px;
}

.discover-night-links strong,
.discover-night-links small {
  display: block;
}

.discover-night-links strong {
  font-size: 16px;
}

.discover-night-links small {
  margin-top: 7px;
  color: rgba(255, 255, 255, .62);
  line-height: 1.45;
}

.method-clean-feed {
  margin: 52px 0;
  padding: 32px;
  border-radius: 28px;
  background: #ffffff;
}

.method-clean-feed h2 {
  max-width: 760px;
  margin: 8px 0 24px;
  font-size: clamp(28px, 4.5vw, 52px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.method-clean-feed > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border-radius: 18px;
  background: rgba(45, 35, 30, .1);
}

.method-clean-feed article {
  min-height: 170px;
  padding: 20px;
  background: #fff;
}

.method-clean-feed strong {
  display: block;
  margin-bottom: 16px;
  font-size: 16px;
}

.method-clean-feed p {
  margin: 0;
  color: #706862;
  font-size: 13px;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .discover-spaces > header { grid-template-columns: 1fr; gap: 12px; }
  .discover-night > header { grid-template-columns: 1fr; gap: 12px; }
  .discover-space-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .discover-night-links { grid-template-columns: repeat(3, minmax(190px, 1fr)); overflow-x: auto; }
  .method-clean-feed > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .social-feed-promise { padding: 10px 12px; font-size: 11px; }
  .discover-spaces { margin: 30px 0; padding: 20px 16px; border-radius: 22px; }
  .discover-spaces h2 { font-size: 29px; }
  .discover-night { margin: 30px 0 0; padding: 20px 16px; border-radius: 22px; }
  .discover-night h2 { font-size: 29px; }
  .discover-night-links { display: flex; margin-inline: -16px; padding: 0 16px 6px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .discover-night-links button { min-width: 210px; min-height: 132px; scroll-snap-align: start; }
  .discover-space-types { display: flex; margin-inline: -16px; padding: 0 16px 6px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .discover-space-types article { min-width: 190px; min-height: 145px; scroll-snap-align: start; }
  .discover-space-actions { align-items: flex-start; flex-direction: column; }
  .method-clean-feed { margin: 34px 0; padding: 22px 16px; border-radius: 22px; }
  .method-clean-feed h2 { font-size: 29px; }
  .method-clean-feed > div { grid-template-columns: 1fr; }
  .method-clean-feed article { min-height: 0; }
}

/* Release 132: event discovery, controlled contact and plain-language policy surfaces. */
.events-page,
.messages-page {
  max-width: 1080px;
  margin-inline: auto;
}

.events-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  padding-block: 18px 42px;
  border-bottom: 1px solid var(--line, #ffffff);
}

.events-hero .display,
.messages-page .display {
  max-width: 740px;
  margin: 8px 0 14px;
}

.events-hero .lead,
.messages-page > .lead {
  max-width: 680px;
}

.event-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 20px 0;
}

.event-filter-row button {
  min-height: 36px;
  padding: 7px 14px;
  border: 1px solid var(--line, #ffffff);
  border-radius: 999px;
  background: #fff;
  color: var(--ink, #222);
  cursor: pointer;
}

.event-filter-row button.active,
.event-filter-row button:hover {
  border-color: var(--ink, #222);
  background: var(--ink, #222);
  color: #fff;
}

.event-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.event-card,
.event-empty,
.message-policy-grid article,
.message-history article {
  border: 1px solid var(--line, #ffffff);
  background: #fff;
  padding: 20px;
}

.event-card {
  display: flex;
  min-height: 220px;
  flex-direction: column;
}

.event-card-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted, #777);
  font-size: 12px;
}

.event-card-top span {
  color: var(--accent, #b13d34);
  font-weight: 700;
}

.event-card-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.event-card-badges span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #ffffff;
  color: #5f5651;
  font-size: 10px;
  line-height: 1;
}

.event-card h3 {
  margin: 30px 0 8px;
  font-size: 21px;
  line-height: 1.2;
}

.event-card p {
  margin: 0 0 10px;
  color: var(--muted, #777);
  line-height: 1.55;
}

.event-card .event-card-place {
  color: var(--ink, #222);
  font-size: 14px;
}

.event-card .event-content-notice {
  padding: 10px 12px;
  border-radius: 8px;
  background: #ffffff;
  color: #695e57;
  font-size: 12px;
}

.event-content-notice strong {
  display: block;
  margin-bottom: 3px;
  color: #3b342f;
}

.event-card-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  padding-top: 16px;
}

.event-card-actions a,
.event-card-actions button {
  color: var(--ink, #222);
  font-size: 13px;
}

.event-empty {
  grid-column: 1 / -1;
  padding: 34px;
}

.event-empty strong {
  display: block;
  margin-bottom: 8px;
  font-size: 21px;
}

.event-empty p {
  max-width: 560px;
  color: var(--muted, #777);
  line-height: 1.6;
}

.event-boundary {
  margin: 24px 0 0;
  color: var(--muted, #777);
  font-size: 13px;
  line-height: 1.6;
}

.event-publish-section {
  max-width: 880px;
  margin-inline: auto;
  scroll-margin-top: 92px;
}

.event-publish-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
}

.event-publish-form .access-consent,
.event-publish-form .form-note,
.event-publish-form .profile-actions {
  grid-column: 1 / -1;
}

.event-publish-form .profile-actions {
  justify-content: flex-start;
}

.message-policy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 34px 0 54px;
}

.message-policy-grid strong {
  font-size: 18px;
}

.message-policy-grid p {
  margin: 10px 0 0;
  color: var(--muted, #777);
  line-height: 1.6;
}

.message-history {
  max-width: 760px;
}

.message-history article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 18px;
  margin-bottom: 10px;
}

.message-history article time,
.message-history article small {
  color: var(--muted, #777);
  font-size: 12px;
}

.message-history article p,
.message-history article small {
  grid-column: 2;
  margin: 0;
}

.method-boundary {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--line, #ffffff);
}

.method-boundary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.method-boundary-grid article {
  padding: 18px;
  border: 1px solid var(--line, #ffffff);
  background: #fff;
}

.method-boundary-grid strong {
  font-size: 16px;
}

.method-boundary-grid p {
  margin: 8px 0 0;
  color: var(--muted, #777);
  line-height: 1.55;
}

.contact-dialog {
  width: min(620px, calc(100vw - 28px));
}

.contact-dialog .access-form {
  margin: 0;
}

@media (max-width: 720px) {
  .events-hero {
    display: block;
    padding-bottom: 28px;
  }

  .events-hero .primary-button {
    width: 100%;
    margin-top: 18px;
  }

  .event-filter-row {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-block: 14px;
    scrollbar-width: none;
  }

  .event-filter-row::-webkit-scrollbar {
    display: none;
  }

  .event-filter-row button {
    flex: 0 0 auto;
  }

  .event-list,
  .message-policy-grid,
  .event-publish-form,
  .method-boundary-grid {
    grid-template-columns: 1fr;
  }

  .event-card,
  .event-empty {
    padding: 16px;
  }

  .event-card h3 {
    margin-top: 22px;
    font-size: 19px;
  }

  .event-publish-form .access-consent,
  .event-publish-form .form-note,
  .event-publish-form .profile-actions {
    grid-column: auto;
  }

  .message-history article {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .message-history article p,
  .message-history article small {
    grid-column: auto;
  }

  .contact-dialog {
    padding: 0;
  }
}

/* Social app shell: one-column, one-thumb feed for touch-first use. */
:root {
  --bg: #ffffff;
  --paper: #ffffff;
  --paper-solid: #ffffff;
  --ink: #151515;
  --muted: #696969;
  --quiet: #969696;
  --line: rgba(21, 21, 21, 0.12);
  --line-strong: rgba(21, 21, 21, 0.22);
  --green: #1f6b53;
  --header: 64px;
}

html,
body {
  background: #fff !important;
}

body {
  min-width: 0;
  padding-bottom: 0;
}

.site-header {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom-color: rgba(21, 21, 21, 0.1) !important;
  backdrop-filter: blur(18px);
}

.site-header .brand-mark {
  position: relative;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  overflow: hidden;
  border: 0 !important;
  border-radius: 12px;
  border: 1px solid rgba(233, 71, 63, .2) !important;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(184, 83, 73, .16), inset 0 0 0 1px rgba(255, 255, 255, .72);
  isolation: isolate;
}

.site-header .brand-logo {
  display: block;
  width: 100%;
  height: 100%;
}

.site-header .brand-mark::before,
.site-header .brand-mark::after {
  content: none;
}

.site-header .brand-mark::before {
  left: 5px;
  top: 17px;
  width: 24px;
  height: 11px;
  border: 2px solid rgba(255, 255, 255, .97);
  border-top: 0;
  border-radius: 0 0 15px 15px;
  background: rgba(255, 255, 255, .14);
  color: transparent;
  transform: rotate(-5deg) skewX(-8deg);
  filter: drop-shadow(0 1px 1px rgba(69, 27, 69, .25));
}

.site-header .brand-mark::after {
  left: 13px;
  top: 5px;
  width: 12px;
  height: 16px;
  border: 0;
  border-radius: 2px 90% 3px 72%;
  background: rgba(255, 255, 255, .96);
  color: transparent;
  transform: rotate(12deg) skewY(-8deg);
  filter: drop-shadow(0 1px 1px rgba(69, 27, 69, .25));
}

.site-header .brand-mark i {
  position: absolute;
  z-index: 2;
  left: 7px;
  top: 23px;
  width: 20px;
  height: 4px;
  border-bottom: 1.5px solid rgba(255, 255, 255, .86);
  border-radius: 50%;
  transform: rotate(-4deg);
}

.site-header .brand-mark b {
  position: absolute;
  z-index: 3;
  left: 17px;
  top: 19px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #ff6b45;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .68);
}

/* Keep the social shell quiet and white; interaction ripples still appear on demand. */
.flow-canvas {
  display: none !important;
}

.social-home {
  width: min(100%, 760px);
  margin: 0 auto;
  padding: clamp(28px, 5vw, 58px) 20px 120px;
}

.social-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding: 10px 0 30px;
}

.social-kicker {
  display: block;
  margin-bottom: 11px;
  color: #b44262;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.social-intro h1 {
  max-width: 15em;
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(28px, 4.4vw, 46px);
  font-weight: 520;
  line-height: 1.12;
}

.social-intro p {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.social-intro-note {
  display: block;
  margin-top: 10px;
  color: var(--quiet);
  font-size: 11px;
  line-height: 1.55;
}

.social-intro-note button {
  margin-left: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #a83c73;
  font: inherit;
  cursor: pointer;
}

.social-join-cta,
.social-ark-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  white-space: nowrap;
  cursor: pointer;
}

.social-join-cta span,
.social-ark-button span {
  font-size: 18px;
  line-height: 1;
}

.social-feed-shell {
  border-top: 1px solid rgba(180, 66, 98, .52);
}

.social-feed-toolbar {
  position: sticky;
  top: var(--header);
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(16px);
}

.social-feed-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}

.social-feed-tabs::-webkit-scrollbar {
  display: none;
}

.social-feed-tabs button {
  min-height: 36px;
  padding: 0 11px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  white-space: nowrap;
  cursor: pointer;
}

.social-feed-tabs button.active {
  background: #a83c73;
  color: #fff;
  box-shadow: 0 4px 12px rgba(168, 60, 115, .2);
}

.social-refresh {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.social-feed-list {
  display: grid;
  gap: 46px;
  padding-top: 28px;
}

.social-post {
  min-width: 0;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}

.social-post-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 55px;
  padding: 0 0 12px;
}

/* A small, discipline-specific line sits above the image. It is the quick
   read for the first layer; the longer story remains behind a tap. */
.social-post-glance {
  display: grid;
  gap: 4px;
  min-height: 44px;
  margin: 0 0 10px;
  padding: 0 2px 2px;
}

.social-post-glance small {
  color: var(--quiet);
  font-size: 10px;
  letter-spacing: .06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.social-post-glance p {
  max-width: 38em;
  margin: 0;
  color: var(--ink);
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.32;
}

.social-glance-music small { color: #1685aa; }
.social-glance-research small { color: #8d5e35; }
.social-glance-theatre small { color: #a83c73; }
.social-glance-dance small { color: #c3453c; }
.social-glance-photo small { color: #9a7514; }
.social-glance-film small { color: #376e97; }
.social-glance-craft small,
.social-glance-heritage small { color: #ad5a2f; }
.social-glance-illustration small { color: #b44262; }
.social-glance-design small { color: #376e97; }
.social-glance-words small { color: #52647a; }
.social-glance-space small { color: #7b5d38; }

.social-post[data-social-category="ideas"] .social-avatar {
  border-color: rgba(108, 76, 122, .55);
  color: #6c4c7a;
}

.social-post[data-social-category="spaces"] .social-avatar {
  border-color: rgba(123, 93, 56, .55);
  color: #7b5d38;
}

.social-post[data-social-format="research"] .social-post-glance p {
  max-width: 31em;
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 500;
}

.social-post[data-social-format="music"] .social-post-glance p {
  font-size: clamp(17px, 2.2vw, 22px);
}

.social-creator {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.social-avatar {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  font-family: Georgia, "Songti SC", serif;
  font-size: 16px;
}

.social-post[data-social-category="music"] .social-avatar { border-color: rgba(57, 172, 211, .72); color: #1685aa; }
.social-post[data-social-category="theatre"] .social-avatar { border-color: rgba(168, 60, 115, .68); color: #a83c73; }
.social-post[data-social-category="dance"] .social-avatar { border-color: rgba(233, 71, 63, .68); color: #c3453c; }
.social-post[data-social-category="photo"] .social-avatar { border-color: rgba(246, 196, 69, .82); color: #9a7514; }
.social-post[data-social-category="illustration"] .social-avatar { border-color: rgba(239, 132, 159, .76); color: #b44262; }
.social-post[data-social-category="design"] .social-avatar { border-color: rgba(70, 137, 184, .72); color: #376e97; }
.social-post[data-social-category="heritage"] .social-avatar { border-color: rgba(221, 111, 54, .72); color: #ad5a2f; }

.social-creator strong,
.social-creator small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.social-creator strong {
  font-size: 13px;
  font-weight: 700;
}

.social-creator small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.social-follow,
.social-community-mark {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.social-follow.active {
  border-color: #b44262;
  color: #b44262;
}

.social-community-mark {
  border-color: transparent;
  color: #b44262;
}

.social-post-image {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(46, 34, 43, .08);
  cursor: pointer;
  touch-action: manipulation;
}

.social-work-frame {
  position: relative;
}

.social-work-like {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 50%;
  background: rgba(0, 0, 0, .34);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
  touch-action: manipulation;
}

.social-work-like.active {
  background: rgba(196, 71, 61, .9);
}

.social-post-image-hint {
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 5px 8px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 999px;
  background: rgba(0, 0, 0, .35);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  opacity: .86;
}

.social-media-link {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 1;
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  max-width: calc(100% - 76px);
  padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 999px;
  background: rgba(0, 0, 0, .38);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.social-media-link:hover,
.social-media-link:focus-visible {
  background: rgba(0, 0, 0, .62);
  color: #fff;
}

.social-post-image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  transition: transform 260ms ease;
}

.social-post-image:hover img {
  transform: scale(1.015);
  filter: saturate(1.05);
}

.social-live-media {
  overflow: hidden;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(46, 34, 43, .08);
}

.social-media-story-hit {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 86px;
  padding: 18px 20px;
  border: 0;
  border-bottom: 1px solid rgba(21, 21, 21, .1);
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.social-media-story-hit strong,
.social-media-story-hit small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.social-media-story-hit strong {
  font-size: 15px;
}

.social-media-story-hit small {
  color: var(--muted);
  font-size: 11px;
}

.social-media-type {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  color: #a83c73;
  font-size: 21px;
}

.social-live-media audio,
.social-live-media video {
  display: block;
  width: 100%;
  max-width: 100%;
}

.social-live-media audio {
  height: 44px;
  padding: 0 10px 8px;
  background: #ffffff;
}

.social-live-media video {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #161616;
}

.social-text-media {
  display: grid;
  align-content: space-between;
  min-height: 310px;
  padding: 24px;
  border-radius: 9px;
  background: #ffffff;
  color: #151515;
  border: 0;
  text-align: left;
  cursor: pointer;
}

.social-text-media span {
  font-size: 42px;
  line-height: 1;
}

.social-text-media strong {
  max-width: 12em;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(27px, 5vw, 46px);
  font-weight: 500;
  line-height: 1.08;
}

.social-post-body {
  display: none;
  padding: 14px 2px 20px;
}

.social-post.show-story .social-post-body {
  display: block;
  animation: social-story-in 180ms ease-out both;
}

.social-post.show-story .social-post-image,
.social-post.show-story .social-text-media {
  display: none;
}

.social-story-back {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

@keyframes social-story-in {
  from { opacity: 0; transform: translateX(10px); }
  to { opacity: 1; transform: translateX(0); }
}

.social-feed-ark-note {
  margin: 10px 0 0;
  color: var(--quiet);
  font-size: 11px;
}

.social-post-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
}

.social-icon-button {
  position: relative;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
  touch-action: manipulation;
}

.social-like-chooser {
  position: fixed;
  right: auto;
  bottom: auto;
  z-index: 80;
  width: min(var(--chooser-width, 248px), calc(100vw - 24px));
  padding: 11px 12px 12px;
  border: 1px solid rgba(44, 57, 48, .18);
  border-radius: 16px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 16px 40px rgba(38, 47, 41, .17), 0 2px 8px rgba(38, 47, 41, .08);
  color: var(--ink);
  backdrop-filter: blur(12px);
  animation: social-chooser-in 180ms cubic-bezier(.2,.8,.2,1) both;
}

.social-like-chooser::before {
  position: absolute;
  left: 50%;
  top: -5px;
  width: 10px;
  height: 10px;
  border-top: 1px solid rgba(44, 57, 48, .18);
  border-left: 1px solid rgba(44, 57, 48, .18);
  background: rgba(255, 255, 255, .97);
  content: "";
  transform: translateX(-50%) rotate(45deg);
}

.social-like-chooser > span {
  display: block;
  margin: 0 1px 9px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.social-like-chooser > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.social-like-chooser button {
  min-width: 49px;
  min-height: 32px;
  padding: 5px 9px;
  border: 1px solid rgba(66, 97, 80, .23);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: #426150;
  font: inherit;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.social-like-chooser button:hover,
.social-like-chooser button:focus-visible {
  border-color: #426150;
  background: #edf3ee;
  outline: none;
  transform: translateY(-1px);
}

.social-like-chooser button.active {
  border-color: #426150;
  background: #426150;
  color: #fff;
}

.social-like-chooser button.remove {
  border-color: rgba(196, 71, 61, .3);
  color: #a4473d;
}

@keyframes social-chooser-in {
  from { opacity: 0; transform: translateY(5px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.feed-personal-actions .social-home-like {
  width: auto;
  height: auto;
  border-radius: 0;
  font-size: 22px;
}

.feed-personal-actions .social-home-like.active {
  color: #c4473d;
}

.social-icon-button.active {
  color: #c4473d;
}

.social-like-burst {
  position: absolute;
  left: 50%;
  top: -9px;
  color: #c4473d;
  font-size: 11px;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 5px);
  animation: social-like-burst 800ms ease-out forwards;
}

@keyframes social-like-burst {
  0% { opacity: 0; transform: translate(-50%, 7px); }
  20% { opacity: .88; }
  100% { opacity: 0; transform: translate(-50%, -22px); }
}

.social-like-count {
  display: block;
  margin: 0 0 9px;
  color: var(--muted);
  font-size: 11px;
}

.social-post-body h2 {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(22px, 3vw, 29px);
  font-weight: 520;
  line-height: 1.2;
}

.social-post-body p {
  max-width: 42em;
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.social-post-source {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-top: 13px;
  color: #b44262;
  font-size: 11px;
  text-decoration: none;
}

.social-post-source:hover,
.social-post-source:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.social-post-sources {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 12px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  color: var(--quiet);
  font-size: 11px;
}

.social-post-sources small {
  flex: 0 0 100%;
  color: var(--muted);
}

.social-post-sources a {
  color: var(--muted);
  text-decoration: none;
}

.social-post-sources a:hover,
.social-post-sources a:focus-visible {
  color: #b44262;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.feed-scout-status {
  margin-top: 13px;
  color: var(--muted);
  font-size: 11px;
}

.social-post-source {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-top: 13px;
  color: #b44262;
  font-size: 11px;
  text-decoration: none;
}

.social-post-source:hover,
.social-post-source:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.social-post-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 17px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--quiet);
  font-size: 11px;
}

/* Cross-disciplinary artist pages share the same quiet, work-first frame. */
.social-creator-page {
  width: min(100% - 32px, 920px);
  margin: 0 auto;
  padding: clamp(26px, 5vw, 64px) 0 96px;
}

.social-creator-page-head {
  display: grid;
  gap: 8px;
  margin-bottom: 26px;
}

.social-creator-page-head .text-button {
  justify-self: start;
  margin-bottom: 18px;
}

.social-creator-page-head h1 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(34px, 6vw, 68px);
  font-weight: 500;
  line-height: 1.04;
}

.social-creator-page-tag {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.social-creator-page-image,
.social-creator-image-pending {
  width: min(100%, 760px);
  margin: 0 auto 30px;
  border-radius: 10px;
  overflow: hidden;
}

.social-creator-page-image img {
  display: block;
  width: 100%;
  max-height: min(72vh, 720px);
  object-fit: contain;
  background: #ffffff;
}

.social-creator-page-image figcaption {
  padding: 8px 2px 0;
  color: var(--quiet);
  font-size: 11px;
}

.social-creator-image-pending {
  display: grid;
  align-content: end;
  min-height: clamp(260px, 48vw, 520px);
  padding: clamp(22px, 5vw, 48px);
  border: 1px solid var(--line);
  background: #ffffff;
}

.social-creator-image-pending > span {
  display: block;
  margin-bottom: 18px;
  color: #b44262;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(46px, 12vw, 110px);
  line-height: .8;
}

.social-creator-image-pending strong {
  font-size: 16px;
}

.social-creator-image-pending p {
  max-width: 34em;
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}

.social-creator-page-story {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(180px, .65fr);
  gap: clamp(24px, 6vw, 72px);
  align-items: start;
  margin: 0 auto 34px;
  padding: 24px 0 34px;
  border-bottom: 1px solid var(--line);
}

.social-creator-page-story h2,
.social-creator-score h2,
.social-creator-latest h2 {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(24px, 4vw, 38px);
  font-weight: 500;
  line-height: 1.18;
}

.social-creator-page-story p,
.social-creator-score p,
.social-creator-latest p {
  margin: 11px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

.social-creator-score,
.social-creator-latest {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  margin: 0 auto 20px;
  padding: 22px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.social-creator-work-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: -10px auto 40px;
}

.social-creator-work-grid figure {
  min-width: 0;
  margin: 0;
}

.social-creator-work-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
  background: #f5f6f8;
}

.social-creator-work-grid figcaption {
  margin-top: 7px;
  color: var(--quiet);
  font-size: 10px;
  line-height: 1.45;
}

.social-creator-archive-note {
  display: block;
  margin-top: 14px;
  color: var(--quiet);
  font-size: 11px;
  line-height: 1.55;
}

.social-creator-record-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  margin: 34px 0 22px;
  padding: 22px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.social-creator-record-status h2 {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1.18;
}

.social-creator-record-status p {
  max-width: 40em;
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}

.social-creator-record-status > span {
  color: var(--quiet);
  font-size: 11px;
  white-space: nowrap;
}

.social-creator-score-direction {
  margin-right: 5px;
}

.social-creator-latest time {
  display: block;
  margin: 6px 0 8px;
  color: var(--quiet);
  font-size: 11px;
}

.social-creator-latest > a {
  white-space: nowrap;
}

.social-creator-page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 26px auto 32px;
}

.social-creator-sources {
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.social-creator-sources > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 15px;
}

.social-creator-sources a {
  color: var(--muted);
  font-size: 12px;
  text-decoration: none;
}

.social-creator-sources a:hover,
.social-creator-sources a:focus-visible {
  color: #b44262;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cultural-visual-pending {
  display: grid;
  align-content: end;
  min-height: 420px;
  padding: clamp(24px, 5vw, 48px);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #ffffff;
}

.cultural-visual-pending strong {
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 500;
}

.cultural-visual-pending p,
.cultural-source-empty {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}

@media (max-width: 640px) {
  .social-creator-page {
    width: min(100% - 24px, 920px);
    padding-top: 22px;
  }

  .social-creator-page-image,
  .social-creator-image-pending {
    border-radius: 8px;
  }

  .social-creator-score,
  .social-creator-latest,
  .social-creator-record-status,
  .social-creator-page-story {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .social-creator-work-grid {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    margin-bottom: 34px;
    padding-bottom: 6px;
    scroll-snap-type: x proximity;
  }

  .social-creator-work-grid figure {
    flex: 0 0 min(78vw, 300px);
    scroll-snap-align: start;
  }

  .social-creator-record-status > span {
    white-space: normal;
  }

  .cultural-visual-pending {
    min-height: 280px;
    border-radius: 9px;
  }

  .social-creator-page-actions > * {
    flex: 1 1 auto;
    justify-content: center;
  }
}

.social-support {
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--green);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.social-support:disabled {
  color: var(--quiet);
  cursor: default;
}

.social-load-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 56px;
  margin-top: 10px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid var(--line-strong);
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}

.social-load-more span {
  font-size: 19px;
}

.social-ark-strip {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 22px;
  margin-top: 72px;
  padding: 24px 0 0;
  border-top: 1px solid var(--line-strong);
}

.social-ark-strip h2 {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(24px, 4vw, 34px);
  font-weight: 520;
  line-height: 1.12;
}

.social-ark-strip p {
  max-width: 32em;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.mobile-tabbar {
  display: none;
}

.discover-page {
  width: min(100%, 920px);
  margin: 0 auto;
  padding: clamp(30px, 5vw, 72px) 24px 120px;
}

.artist-directory-node-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--line);
}

.artist-directory-node-grid > button {
  min-height: 142px;
  background: #fff;
}

.cultural-profile {
  width: min(100%, 1060px);
  margin: 0 auto;
  padding: clamp(34px, 6vw, 88px) 24px 120px;
}

.cultural-profile-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
  align-items: center;
  gap: clamp(32px, 7vw, 96px);
  min-height: min(720px, calc(100vh - var(--header)));
  border-bottom: 1px solid var(--line-strong);
}

.cultural-profile-hero h1 {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(48px, 8vw, 92px);
  font-weight: 500;
  line-height: .98;
}

.cultural-role {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.cultural-profile blockquote {
  max-width: 17em;
  margin: 44px 0 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(23px, 3.5vw, 38px);
  font-weight: 500;
  line-height: 1.35;
}

.cultural-profile-hero figure {
  margin: 0;
}

.cultural-profile-hero img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
  background: #ffffff;
}

.space-profile .cultural-profile-hero img {
  aspect-ratio: 4 / 5;
}

.cultural-profile-hero figcaption {
  margin-top: 9px;
  color: var(--quiet);
  font-size: 10px;
  line-height: 1.5;
}

.cultural-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 38px;
}

.cultural-actions a {
  text-decoration: none;
}

.cultural-profile-section {
  display: grid;
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr);
  gap: clamp(28px, 7vw, 100px);
  padding: clamp(52px, 8vw, 96px) 0;
  border-bottom: 1px solid var(--line);
}

.cultural-profile-section h2 {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(29px, 4vw, 48px);
  font-weight: 500;
  line-height: 1.12;
}

.cultural-profile-section > p,
.cultural-profile-section > div > p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

.cultural-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-content: start;
}

.cultural-tags span {
  padding: 7px 11px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  font-size: 12px;
}

.cultural-source-list {
  border-top: 1px solid var(--line-strong);
}

.cultural-source-list a {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 13px;
  text-decoration: none;
}

.cultural-source-list a:hover span,
.cultural-source-list a:focus-visible span {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.cultural-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 26px;
  color: var(--quiet);
  font-size: 11px;
}

.discover-verified-spaces {
  margin-top: 48px;
  padding: 26px 0 6px;
  border-top: 1px solid var(--line-strong);
}

.discover-verified-spaces > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.discover-verified-spaces h2 {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(25px, 4vw, 35px);
  font-weight: 520;
}

.discover-verified-spaces > header > p {
  max-width: 30em;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.discover-verified-spaces > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.discover-verified-spaces button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.discover-verified-spaces img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 7px;
}

.discover-verified-spaces span,
.discover-verified-spaces b,
.discover-verified-spaces small {
  display: block;
}

.discover-verified-spaces span { padding-top: 9px; }
.discover-verified-spaces b { font-size: 13px; }
.discover-verified-spaces small { margin-top: 3px; color: var(--muted); font-size: 11px; }

.discover-head {
  max-width: 620px;
  padding-bottom: 30px;
}

.discover-head h1 {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(32px, 5vw, 58px);
  font-weight: 520;
  line-height: 1.08;
}

.discover-head > p:last-child {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.discover-prompts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.discover-prompts button {
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: 132px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.discover-prompts button:hover {
  border-color: var(--ink);
}

.discover-prompts button:last-child {
  grid-column: span 2;
}

.discover-prompts strong {
  max-width: 16em;
  font-family: Georgia, "Songti SC", serif;
  font-size: 22px;
  font-weight: 520;
  line-height: 1.15;
}

.discover-prompts small {
  max-width: 30em;
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.discover-prompts span {
  position: absolute;
  right: 16px;
  bottom: 14px;
  font-size: 19px;
}

.discover-scouts {
  margin-top: 46px;
  padding: 24px 0 4px;
  border-top: 1px solid var(--line-strong);
}

.discover-scouts > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.discover-scouts h2 {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(25px, 4vw, 35px);
  font-weight: 520;
}

.discover-scouts > header > p {
  max-width: 34em;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.discover-scout-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.discover-scout-grid button {
  display: grid;
  align-content: start;
  overflow: hidden;
  min-height: 150px;
  padding: 0 16px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.discover-scout-cover {
  display: block;
  width: calc(100% + 32px);
  height: 104px;
  margin: 0 -16px 14px;
  object-fit: cover;
  background: #ffffff;
}

.discover-scout-grid button:hover,
.discover-scout-grid button:focus-visible {
  border-color: var(--ink);
}

.discover-scout-symbol {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-bottom: 22px;
  border: 1px solid rgba(180, 66, 98, .48);
  border-radius: 50%;
  color: #b44262;
  font-family: Georgia, "Songti SC", serif;
}

.discover-scout-grid strong,
.discover-scout-grid small,
.discover-scout-grid em {
  display: block;
}

.discover-scout-grid strong {
  font-size: 14px;
}

.discover-scout-grid small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}

.discover-scout-grid em {
  margin-top: auto;
  color: #b44262;
  font-size: 11px;
  font-style: normal;
}

.discover-research-curators {
  margin-top: 48px;
  padding: 26px 0 6px;
  border-top: 1px solid var(--line-strong);
}

.discover-research-curators > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.discover-research-curators h2 {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(25px, 4vw, 35px);
  font-weight: 520;
}

.discover-research-curators > header > p {
  max-width: 30em;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.discover-research-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.discover-research-grid button {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.discover-research-grid button:hover strong,
.discover-research-grid button:focus-visible strong {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.discover-research-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 7px;
  background: #f1f1f1;
}

.discover-research-grid span {
  display: grid;
  align-content: start;
  gap: 3px;
  padding-top: 9px;
}

.discover-research-grid strong,
.discover-research-grid small,
.discover-research-grid em {
  display: block;
}

.discover-research-grid strong {
  font-size: 14px;
}

.discover-research-grid small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.discover-research-grid em {
  margin-top: 8px;
  color: var(--red);
  font-size: 11px;
  font-style: normal;
}

.discover-nearby {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-top: 56px;
  padding: 24px 0;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
}

.discover-nearby h2,
.discover-people h2 {
  margin: 0;
  font-family: Georgia, "Songti SC", serif;
  font-size: clamp(25px, 4vw, 35px);
  font-weight: 520;
}

.discover-nearby > div > p:last-child {
  max-width: 38em;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.discover-people {
  margin-top: 56px;
}

.discover-people > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 16px;
}

.discover-people-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.discover-people-grid button {
  display: block;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.discover-people-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 7px;
  background: #f1f1f1;
}

.discover-people-grid span {
  display: block;
  padding-top: 9px;
}

.discover-people-grid strong,
.discover-people-grid small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.discover-people-grid strong {
  font-size: 13px;
}

.discover-people-grid small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

@media (max-width: 720px) {
  .artist-directory-node-grid {
    grid-template-columns: 1fr;
  }

  .cultural-profile {
    padding: 22px 14px 98px;
  }

  .cultural-profile-hero {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 24px;
    min-height: 0;
    padding-bottom: 34px;
  }

  .cultural-profile-hero h1 {
    font-size: clamp(44px, 15vw, 68px);
  }

  .cultural-profile blockquote {
    margin-top: 26px;
    font-size: 25px;
    line-height: 1.32;
  }

  .cultural-profile-hero img,
  .space-profile .cultural-profile-hero img {
    aspect-ratio: 1 / 1.04;
    border-radius: 9px;
  }

  .cultural-actions {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 26px;
  }

  .cultural-actions > * {
    width: 100%;
  }

  .cultural-profile-section {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 48px 0;
  }

  .cultural-status {
    display: grid;
    gap: 10px;
  }

  .discover-verified-spaces > header {
    display: block;
  }

  .discover-verified-spaces > header > p {
    margin-top: 10px;
  }

  .discover-verified-spaces > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-header .brand-mark {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    border-radius: 10px;
    box-shadow: 0 3px 9px rgba(184, 83, 73, .14), inset 0 0 0 1px rgba(255, 255, 255, .72);
  }

  .site-header .brand-mark::before {
    left: 4px;
    top: 16px;
    width: 22px;
    height: 10px;
  }

  .site-header .brand-mark::after {
    left: 12px;
    top: 4px;
    width: 11px;
    height: 15px;
  }

  .site-header .brand-logo {
    width: 100%;
    height: 100%;
  }

  .site-header .brand-mark i {
    left: 6px;
    top: 21px;
    width: 18px;
  }

  .site-header .brand-mark b {
    left: 16px;
    top: 17px;
  }

  .site-header {
    position: sticky !important;
    top: 0;
    z-index: 20;
  }

  .site-header .nav,
  .site-header .search-toggle,
  .site-header .ark-header-button,
  .site-header .account-toggle,
  .site-header #accountToggle {
    display: none !important;
  }

  .site-header .header-actions {
    gap: 4px;
  }

  .site-header .brand small {
    display: none;
  }

  .social-home {
    padding: 22px 14px 98px;
  }

  .social-intro {
    display: block;
    padding-bottom: 22px;
  }

  .social-intro h1 {
    max-width: 12em;
    font-size: 32px;
  }

  .social-intro p {
    margin-top: 10px;
    font-size: 13px;
  }

  .social-join-cta {
    width: 100%;
    margin-top: 17px;
  }

  .social-feed-toolbar {
    top: var(--header);
    margin-inline: -14px;
    padding: 0 14px;
  }

  .social-feed-list {
    gap: 34px;
    padding-top: 20px;
  }

  .social-post-glance {
    min-height: 40px;
    margin-bottom: 8px;
  }

  .social-post-glance p {
    font-size: 17px;
    line-height: 1.3;
  }

  .social-post[data-social-format="research"] .social-post-glance p {
    font-size: 15px;
  }

  .social-post-image img {
    aspect-ratio: 1 / 1.08;
  }

  .social-text-media {
    min-height: 260px;
    padding: 20px;
  }

  .social-post-body {
    padding-top: 11px;
  }

  .social-post-body p {
    font-size: 13px;
    line-height: 1.62;
  }

  .social-ark-strip {
    display: block;
    margin-top: 54px;
    padding-bottom: 18px;
  }

  .social-ark-button {
    width: 100%;
    margin-top: 18px;
  }

  .discover-page {
    padding: 24px 14px 98px;
  }

  .discover-head {
    padding-bottom: 22px;
  }

  .discover-head h1 {
    font-size: 34px;
  }

  .discover-prompts {
    grid-template-columns: 1fr;
  }

  .discover-prompts button,
  .discover-prompts button:last-child {
    grid-column: auto;
    min-height: 108px;
  }

  .discover-prompts strong {
    font-size: 21px;
  }

  .discover-nearby {
    display: block;
    margin-top: 42px;
  }

  .discover-scouts {
    margin-top: 38px;
  }

  .discover-scouts > header {
    display: block;
  }

  .discover-scouts > header > p {
    margin-top: 10px;
  }

  .discover-scout-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .discover-scout-grid button {
    min-height: 132px;
    padding: 0 14px 14px;
  }

  .discover-scout-cover {
    width: calc(100% + 28px);
    height: 78px;
    margin-inline: -14px;
    margin-bottom: 11px;
  }

  .discover-research-curators {
    margin-top: 38px;
  }

  .discover-research-curators > header {
    display: block;
  }

  .discover-research-curators > header > p {
    margin-top: 10px;
  }

  .discover-research-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 10px;
  }

  .discover-nearby .primary-button {
    width: 100%;
    margin-top: 18px;
  }

  .discover-people {
    margin-top: 42px;
  }

  .discover-people-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 10px;
  }

  .mobile-tabbar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 62px;
    padding: 5px 8px calc(5px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(21, 21, 21, .1);
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(18px);
  }

  .mobile-tabbar a,
  .mobile-tabbar button {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 2px;
    min-height: 50px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font: inherit;
    cursor: pointer;
  }

  .mobile-tabbar a:first-child,
  .mobile-tabbar a.active,
  .mobile-tabbar button:focus-visible {
    color: var(--ink);
  }

  .mobile-tabbar span {
    font-size: 23px;
    line-height: 1;
  }

  .mobile-tabbar small {
    font-size: 10px;
  }

  .site-footer {
    padding-bottom: 88px !important;
  }
}

/* Release 104: returning visitors sign in without repeating registration. */
.join-auth-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 520px);
  margin: 24px 0 18px;
  padding: 4px;
  border: 1px solid rgba(27, 26, 23, 0.16);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.38);
}

.join-auth-switch button {
  min-height: 42px;
  padding: 9px 14px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
}

.join-auth-switch button.active {
  background: var(--ink);
  color: var(--paper);
}

.access-signin-form {
  min-height: 0;
}

@media (max-width: 720px) {
  .join-auth-switch {
    width: 100%;
    margin: 18px 0 14px;
  }

  .join-auth-switch button {
    min-height: 44px;
    padding-inline: 8px;
  }
}

/* Release 103: role-aware accounts, mainland notices and operator analytics. */
.site-footer {
  position: relative;
  z-index: 2;
  width: min(100% - 56px, 1380px);
  margin: 72px auto 0;
  padding: 24px 0 34px;
  border-top: 1px solid var(--line-strong);
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(420px, 1.6fr) auto;
  gap: 20px;
  align-items: start;
  color: var(--muted);
}

.site-footer > div {
  display: grid;
  gap: 5px;
}

.site-footer strong {
  color: var(--ink);
  font-size: 15px;
}

.site-footer span,
.site-footer p,
.site-footer a {
  font-size: 11px;
  line-height: 1.5;
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}

.site-footer a {
  color: var(--muted);
  text-decoration: none;
}

.site-footer a:hover,
.site-footer a.active {
  color: var(--green);
}

.site-footer p {
  margin: 0;
  text-align: right;
}

.home-ark-movement {
  padding-top: 54px;
  padding-bottom: 22px;
}

.home-ark-guide {
  padding-top: 54px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--line);
}

.home-ark-guide .section-head {
  align-items: end;
}

.home-ark-guide-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 26px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.home-ark-guide-steps article {
  min-width: 0;
  min-height: 132px;
  padding: 16px 18px 18px 0;
  border-right: 1px solid var(--line);
}

.home-ark-guide-steps article + article {
  padding-left: 18px;
}

.home-ark-guide-steps article:last-child {
  border-right: 0;
}

.home-ark-guide-steps span {
  color: var(--green);
  font-size: 10px;
}

.home-ark-guide-steps h3 {
  margin: 20px 0 6px;
  font-size: 17px;
}

.home-ark-guide-steps p,
.home-ark-guide-note {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.home-ark-guide-note {
  margin: 12px 0 0;
}

.home-ark-movement-list {
  margin-top: 25px;
  border-top: 1px solid var(--line-strong);
}

.home-ark-movement-list button {
  width: 100%;
  min-height: 64px;
  display: grid;
  grid-template-columns: 34px minmax(180px, 0.7fr) minmax(220px, 1fr) 24px;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.home-ark-movement-list button:hover strong {
  color: var(--green);
}

.home-ark-movement-list button > span,
.home-ark-movement-list button > small {
  color: var(--muted);
  font-size: 11px;
}

.home-ark-movement-list button > strong {
  font-size: 17px;
}

.home-ark-movement-list button > i {
  color: var(--green);
  font-style: normal;
  font-size: 18px;
  text-align: right;
}

.ark-movement-direction {
  margin-left: 5px;
}

.account-workspace .profile-actions {
  max-width: 880px;
}

.account-privacy-link {
  margin-top: 22px;
}

.account-update-section {
  padding-top: 36px;
}

/* Creator publishing and operator metrics share the same quiet, form-first rhythm. */
.creator-post-section {
  border-top: 1px solid var(--line-strong);
}

.community-tip-section {
  border-top: 1px solid var(--line-strong);
}

.creator-post-form {
  max-width: 860px;
  gap: 16px;
  margin-top: 28px;
  padding: 24px 0 8px;
  border-top: 0;
}

.community-tip-form {
  max-width: 860px;
  gap: 16px;
  margin-top: 28px;
  padding: 24px 0 8px;
  border-top: 0;
}

.community-tip-form .primary-button {
  justify-self: start;
  min-width: 150px;
}

.creator-post-form label > span {
  line-height: 1.45;
}

.creator-post-form .access-consent {
  padding-top: 2px;
  padding-bottom: 2px;
}

.creator-post-form .primary-button {
  justify-self: start;
  min-width: 150px;
}

.creator-post-history {
  width: min(860px, 100%);
  margin-top: 28px;
  border-top: 1px solid var(--line);
}

.creator-post-history .section-head {
  margin: 0;
  padding: 18px 0 12px;
}

.creator-post-history .section-head h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 560;
}

.creator-post-history > article {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 13px 0;
  border-top: 1px solid var(--line);
}

.creator-post-history > article > span,
.creator-post-history > article > small {
  color: var(--muted);
  font-size: 11px;
}

.creator-post-history > article > strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
}

.admin-kpi-section {
  margin-top: 62px;
  padding-top: 2px;
  border-top: 1px solid var(--line-strong);
}

.admin-kpi-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 22px;
}

.admin-kpi-grid article {
  background: rgba(255, 255, 255, 0.44);
}

.admin-kpi-grid strong {
  color: var(--green);
}

.registration-policy-links {
  display: flex;
  gap: 18px;
  margin: -4px 0 4px;
  padding-left: min(29%, 280px);
}

.legal-page,
.admin-page {
  padding-top: 72px;
}

.legal-page > .display,
.admin-page > .display,
.admin-head .display {
  max-width: 15em;
}

.legal-page > .lead {
  max-width: 760px;
}

.legal-section-list {
  max-width: 920px;
  margin-top: 46px;
  border-top: 1px solid var(--line-strong);
}

.legal-section-list article {
  display: grid;
  grid-template-columns: minmax(140px, 0.35fr) minmax(0, 1fr);
  gap: 34px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.legal-section-list h2,
.legal-section-list p {
  margin: 0;
}

.legal-section-list h2 {
  font-size: 18px;
}

.legal-section-list p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.legal-page > .profile-actions {
  margin-top: 30px;
}

.support-request-form {
  max-width: 900px;
}

.admin-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
}

.admin-head p {
  color: var(--muted);
}

.admin-overview,
.admin-queues {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 38px;
  border-top: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line);
}

.admin-overview article,
.admin-queues article {
  min-width: 0;
  padding: 18px;
}

.admin-overview article + article,
.admin-queues article + article {
  border-left: 1px solid var(--line);
}

.admin-overview strong,
.admin-queues strong {
  display: block;
  font-size: 26px;
  line-height: 1.1;
}

.admin-overview span,
.admin-queues span {
  display: block;
  margin-top: 9px;
  color: var(--muted);
  font-size: 11px;
}

.admin-queue-section,
.admin-long-reviews,
.admin-users {
  margin-top: 62px;
}

.admin-queue-list {
  display: grid;
  margin-top: 20px;
  border-top: 1px solid var(--line);
}

.admin-queue-list > article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.admin-queue-list strong,
.admin-queue-list small {
  display: block;
}

.admin-queue-list small,
.admin-queue-list p,
.admin-queue-list a {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.admin-queue-list p {
  max-width: 720px;
  margin: 8px 0 0;
}

.admin-queue-list a {
  display: inline-block;
  margin-top: 7px;
  color: var(--ink);
}

.admin-long-review-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 20px;
}

.admin-long-review-list > article {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--paper);
}

.admin-long-review-list header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.admin-long-review-list header strong,
.admin-long-review-list header span,
.admin-long-review-list header small {
  display: block;
}

.admin-long-review-list header span,
.admin-long-review-list header small,
.admin-review-status {
  color: var(--muted);
  font-size: 11px;
}

.admin-long-review-list > article > p {
  max-height: 12em;
  overflow: auto;
  font-size: 13px;
  line-height: 1.65;
  white-space: pre-wrap;
}

.admin-long-review-list .profile-actions {
  margin-top: 16px;
}

.admin-breakdowns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px 52px;
  margin-top: 62px;
}

.admin-breakdown {
  min-width: 0;
}

.admin-breakdown h3 {
  margin: 0 0 20px;
  font-size: 18px;
}

.admin-breakdown > div {
  display: grid;
  grid-template-columns: minmax(92px, 0.45fr) minmax(80px, 1fr) 30px;
  gap: 10px;
  align-items: center;
  min-height: 30px;
  border-top: 1px solid var(--line);
}

.admin-breakdown span,
.admin-breakdown b {
  font-size: 11px;
}

.admin-breakdown i {
  width: var(--bar);
  height: 4px;
  display: block;
  border-radius: 2px;
  background: var(--green);
}

.admin-breakdown b {
  text-align: right;
}

.admin-table-wrap {
  width: 100%;
  overflow-x: auto;
  border-top: 1px solid var(--line-strong);
}

.admin-table-wrap table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
}

.admin-table-wrap th,
.admin-table-wrap td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
  text-align: left;
  vertical-align: top;
}

.admin-table-wrap th {
  color: var(--muted);
  font-weight: 600;
}

@media (max-width: 900px) {
  .site-footer {
    grid-template-columns: 1fr 2fr;
  }

  .site-footer > p {
    grid-column: 1 / -1;
    text-align: left;
  }

  .admin-overview,
  .admin-queues {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-overview article:nth-child(4),
  .admin-queues article:nth-child(4) {
    border-left: 0;
  }
}

@media (max-width: 720px) {
  .site-footer {
    width: calc(100% - 28px);
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 46px;
    padding: 20px 0 92px;
  }

  .site-footer nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
  }

  .site-footer > p {
    grid-column: auto;
  }

  .home-ark-movement {
    padding-top: 38px;
    padding-bottom: 8px;
  }

  .home-ark-guide {
    padding-top: 34px;
    padding-bottom: 22px;
  }

  .home-ark-guide .section-head {
    display: grid;
    gap: 12px;
  }

  .home-ark-guide-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 20px;
  }

  .home-ark-guide-steps article,
  .home-ark-guide-steps article + article {
    min-height: 120px;
    padding: 14px 12px 15px 0;
  }

  .home-ark-guide-steps article:nth-child(even) {
    padding-left: 12px;
    padding-right: 0;
    border-right: 0;
  }

  .home-ark-guide-steps article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .home-ark-guide-steps h3 {
    margin-top: 14px;
    font-size: 16px;
  }

  .home-ark-movement-list {
    display: flex;
    gap: 10px;
    margin-right: -14px;
    padding: 12px 14px 10px 0;
    overflow-x: auto;
    border-bottom: 1px solid var(--line);
    scroll-snap-type: x proximity;
  }

  .home-ark-movement-list button {
    width: min(78vw, 294px);
    min-width: min(78vw, 294px);
    min-height: 138px;
    grid-template-columns: 28px minmax(0, 1fr) 20px;
    grid-template-rows: auto 1fr;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.52);
    scroll-snap-align: start;
  }

  .home-ark-movement-list button > strong {
    font-size: 17px;
  }

  .home-ark-movement-list button > small {
    grid-column: 2 / 4;
    align-self: end;
    font-size: 11px;
    line-height: 1.45;
  }

  .home-ark-movement-list button > i {
    grid-column: 3;
    grid-row: 1;
  }

  .registration-policy-links {
    padding-left: 0;
  }

  .creator-post-section {
    padding-top: 30px;
  }

  .community-tip-section {
    padding-top: 30px;
  }

  .creator-post-form {
    gap: 13px;
    margin-top: 18px;
    padding-top: 4px;
  }

  .community-tip-form {
    gap: 13px;
    margin-top: 18px;
    padding-top: 4px;
  }

  .creator-post-form .primary-button {
    width: 100%;
  }

  .community-tip-form .primary-button {
    width: 100%;
  }

  .creator-post-history {
    margin-top: 22px;
  }

  .creator-post-history > article {
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 5px 10px;
    padding: 12px 0;
  }

  .creator-post-history > article > small {
    grid-column: 2;
    font-size: 10px;
  }

  .admin-kpi-section {
    margin-top: 44px;
  }

  .admin-kpi-grid {
    margin-top: 16px;
  }

  .legal-page,
  .admin-page {
    padding-top: 34px;
  }

  .legal-page > .display,
  .admin-page > .display,
  .admin-head .display {
    max-width: 12em;
    font-size: 33px;
    line-height: 1.08;
  }

  html[lang="en"] .legal-page > .display,
  html[lang="en"] .admin-page > .display,
  html[lang="en"] .admin-head .display {
    max-width: 15ch;
    font-size: 31px;
    overflow-wrap: anywhere;
  }

  .legal-section-list {
    margin-top: 30px;
  }

  .legal-section-list article {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 0;
  }

  .legal-section-list h2 {
    font-size: 17px;
  }

  .legal-section-list p {
    font-size: 13.5px;
    line-height: 1.65;
  }

  .admin-head {
    align-items: start;
    flex-direction: column;
  }

  .admin-overview,
  .admin-queues {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-overview article,
  .admin-queues article {
    padding: 14px 10px;
    border-left: 0 !important;
    border-bottom: 1px solid var(--line);
  }

  .admin-overview article:nth-child(even),
  .admin-queues article:nth-child(even) {
    border-left: 1px solid var(--line) !important;
  }

  .admin-breakdowns {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .admin-long-review-list {
    grid-template-columns: 1fr;
  }

  .admin-queue-list > article {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .admin-queue-list .secondary-button {
    width: 100%;
  }
}

/* Release 101: shorter onboarding, clearer discovery, steadier mobile type. */
.daily-encounter-hint {
  display: block;
  margin: -5px 0 12px;
  color: var(--quiet);
  font-size: 10px;
  line-height: 1.45;
}

.feed-daily-question .daily-encounter > p {
  margin-bottom: 8px;
}

.access-optional,
.join-contribution-more {
  min-width: 0;
}

.access-optional {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.access-optional > summary,
.join-contribution-more > summary {
  cursor: pointer;
  list-style: none;
}

.access-optional > summary::-webkit-details-marker,
.join-contribution-more > summary::-webkit-details-marker {
  display: none;
}

.access-optional > summary {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: var(--ink);
  font-size: 13px;
}

.access-optional > summary::after,
.join-contribution-more > summary::after {
  content: "+";
  color: var(--green);
  font-size: 18px;
}

.access-optional[open] > summary::after,
.join-contribution-more[open] > summary::after {
  content: "−";
}

.access-optional > summary small {
  margin-left: auto;
  color: var(--quiet);
  font-size: 10px;
}

.access-optional-fields {
  display: grid;
  gap: 18px;
  padding: 4px 0 20px;
}

.access-optional-fields > label {
  display: grid;
  grid-template-columns: minmax(130px, 0.3fr) minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.join-contribution-more {
  margin: 0 auto;
  border-top: 1px solid var(--line-strong);
}

.join-contribution-more > summary {
  width: min(760px, calc(100% - 40px));
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  color: var(--ink);
  font-size: 14px;
}

.join-contribution-more > .contribution-ways {
  padding-top: 28px;
}

@media (max-width: 720px) {
  main p,
  main li,
  main dd,
  main figcaption {
    overflow-wrap: break-word;
  }

  html[lang="en"] main p,
  html[lang="en"] main li,
  html[lang="en"] main dd {
    hyphens: auto;
  }

  .access-page {
    padding-top: 38px;
  }

  .access-page > .lead {
    max-width: 28em;
    font-size: 15px;
    line-height: 1.55;
  }

  .access-form {
    gap: 14px;
    margin-top: 28px;
    padding-top: 20px;
  }

  .access-optional > summary {
    min-height: 50px;
  }

  .access-optional-fields > label {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .daily-encounter-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .daily-encounter-options button {
    width: 100%;
    min-height: 38px;
  }

  .join-contribution-more > summary {
    width: calc(100% - 28px);
    min-height: 62px;
  }

  .join-contribution-more > .contribution-ways {
    padding-top: 18px;
  }
}

/* Release 102: shorter copy, clearer links and calmer mobile reading. */
.external-link-fallback {
  font-weight: 700;
}

.external-link-restricted {
  color: var(--muted) !important;
}

@media (max-width: 720px) {
  .method-page,
  .my-arc-hero,
  .collaboration-hero,
  .access-page {
    padding-top: 32px;
  }

  .method-page .display,
  .my-arc-hero .display,
  .collaboration-hero .display,
  .access-page .display {
    max-width: 12em;
    font-size: 33px;
    line-height: 1.08;
  }

  html[lang="en"] .method-page .display,
  html[lang="en"] .my-arc-hero .display,
  html[lang="en"] .collaboration-hero .display,
  html[lang="en"] .access-page .display {
    max-width: 15ch;
    font-size: 31px;
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .method-page > .lead,
  .access-page > .lead,
  .my-arc-hero > .lead,
  .collaboration-hero > .lead {
    max-width: 31em;
    font-size: 14px;
    line-height: 1.55;
  }

  .method-story {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 9px;
    margin-top: 24px;
    padding: 17px 0 18px;
  }

  .method-story > span {
    font-size: 20px;
  }

  .method-story h2 {
    font-size: 20px;
  }

  .method-story p {
    margin-top: 8px;
    font-size: 13.5px;
    line-height: 1.55;
  }

  .method-note.section {
    margin-top: 14px;
  }

  .method-note article,
  .method-note article:nth-child(3),
  .method-note article:nth-child(6) {
    padding: 14px 0 15px 31px;
  }

  .method-note article::before {
    top: 16px;
  }

  .method-note h3 {
    font-size: 17px;
  }

  .method-note p {
    margin-top: 5px;
    font-size: 13.5px;
    line-height: 1.52;
  }

  .home-social-stream h3.feed-artist-heading {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    gap: 3px;
  }

  .home-social-stream h3.feed-artist-heading small,
  html[lang="en"] .home-social-stream h3.feed-artist-heading small {
    flex: none;
    max-width: 100%;
    text-align: left;
  }

  .feed-daily-question .daily-encounter {
    padding: 17px 14px 18px;
  }

  .daily-encounter-head {
    gap: 10px;
  }

  .daily-encounter-head span {
    font-size: 11px;
  }

  .daily-encounter > p {
    margin-top: 14px;
    font-size: 20px;
    line-height: 1.25;
  }

  .daily-encounter-hint {
    margin: -3px 0 10px;
    font-size: 10.5px;
  }

  .daily-encounter-options {
    gap: 7px;
  }

  .daily-encounter-options button {
    min-height: 42px;
    padding: 7px 8px;
    font-size: 11px;
    line-height: 1.3;
    white-space: normal;
  }

  .unified-profile-hero .profile-title {
    font-size: 37px;
    line-height: 1.05;
  }

  html[lang="en"] .unified-profile-hero .profile-title {
    font-size: 33px;
    overflow-wrap: anywhere;
  }

  .unified-profile-hero .profile-title small,
  html[lang="en"] .unified-profile-hero .profile-title small {
    margin-top: 6px;
    font-size: 18px;
    line-height: 1.2;
  }

  .unified-profile-hero .lead,
  html[lang="en"] .unified-profile-hero .lead {
    font-size: 14px;
    line-height: 1.58;
  }

  .unified-profile-hero .profile-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-system-section .section-head h2,
  .dossier-opening-copy h2,
  .dossier-practice-band h2,
  .dossier-market-copy h2 {
    font-size: 25px;
    line-height: 1.2;
  }

  .profile-happening .dossier-opening-copy > .lead,
  .dossier-practice-copy p,
  .dossier-opening-copy > p:not(.lead),
  .dossier-market-copy p {
    font-size: 14px;
    line-height: 1.62;
  }

  .research-event-grid article,
  .research-account-grid article {
    min-height: 0;
    padding: 14px 0;
  }

  .research-event-grid h3,
  .research-account-grid h3 {
    margin: 12px 0 7px;
    font-size: 17px;
  }

  .research-source-list p {
    font-size: 13.5px;
    line-height: 1.55;
  }

  .access-consent {
    align-items: flex-start;
    font-size: 13px;
    line-height: 1.5;
  }

  .registration-privacy-note,
  .form-note {
    font-size: 11px;
    line-height: 1.5;
  }
}

@media (max-width: 370px) {
  .method-page .display,
  .my-arc-hero .display,
  .collaboration-hero .display,
  .access-page .display {
    font-size: 30px;
  }

  .daily-encounter-options button {
    padding-inline: 5px;
    font-size: 10.5px;
  }
}

/* ArtistArk UI Kit V1.1 · release 163
   The product keeps its 240 cultural nodes and account features; this final
   layer gives every public route the same white, touch-first interface. */
:root {
  --aa-tenghuang: #f3b61f;
  --aa-orange: #ee7623;
  --aa-zhusha: #d94a32;
  --aa-haitang: #d83a64;
  --aa-baolan: #2456b8;
  --aa-ink: #171a20;
  --aa-secondary: #60646c;
  --aa-muted: #9297a1;
  --aa-line: #e7e9ed;
  --aa-surface: #ffffff;
  --aa-paper: #fff;
  --aa-gradient: linear-gradient(135deg, #f3b61f 0%, #ee7623 28%, #d94a32 52%, #d83a64 72%, #2456b8 100%);
  --aa-radius-sm: 8px;
  --aa-radius-md: 12px;
  --aa-radius-lg: 20px;
  --aa-fast: 160ms;
  --aa-normal: 240ms;
  --bg: var(--aa-paper);
  --paper: var(--aa-paper);
  --paper-solid: var(--aa-paper);
  --ink: var(--aa-ink);
  --muted: var(--aa-secondary);
  --quiet: var(--aa-muted);
  --line: var(--aa-line);
  --line-strong: #d5d8de;
  --green: var(--aa-ink);
  --header: 64px;
  font-family: Inter, "PingFang SC", "Noto Sans SC", sans-serif;
}

html,
body {
  color: var(--aa-ink);
  background: var(--aa-paper) !important;
}

body,
button,
input,
select,
textarea {
  font-family: Inter, "PingFang SC", "Noto Sans SC", sans-serif;
}

button,
a,
input,
select,
summary {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--aa-baolan);
  outline-offset: 2px;
}

.flow-canvas,
.ripple-layer {
  display: none !important;
}

.site-header {
  position: sticky !important;
  top: 0;
  z-index: 30;
  width: 100%;
  min-height: var(--header);
  padding: 0 max(20px, calc((100vw - 1180px) / 2));
  border-bottom: 1px solid var(--aa-line) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
}

.site-header .brand {
  min-width: 190px;
  gap: 10px;
}

.site-header .brand-mark {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  overflow: hidden;
  border: 0 !important;
  border-radius: 10px;
  background: transparent !important;
  box-shadow: none !important;
}

.site-header .brand-logo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.site-header .brand > span:last-child {
  display: grid;
  gap: 1px;
}

.site-header .brand strong {
  color: var(--aa-ink);
  font-size: 15px;
  font-weight: 680;
  letter-spacing: -.02em;
}

.site-header .brand small {
  color: var(--aa-muted);
  font-size: 9px;
}

.beta-label {
  color: var(--aa-haitang);
}

.nav {
  gap: 2px;
}

.nav a,
.nav button,
.header-actions button {
  min-height: 44px;
}

.nav a,
.nav-directory-button {
  padding-inline: 12px;
  border-radius: 999px;
  color: var(--aa-secondary);
  font-size: 12px;
}

.nav a.active,
.nav a:hover,
.nav-directory-button.active,
.nav-directory-button:hover {
  background: var(--aa-surface);
  color: var(--aa-ink);
}

.header-actions {
  gap: 6px;
}

.quiet-button,
.ark-header-button,
.lang-switch {
  border-color: var(--aa-line) !important;
  background: #fff !important;
  box-shadow: none !important;
}

.lang-switch {
  min-height: 38px;
  padding: 3px;
  border-radius: 999px;
}

.lang-switch button {
  min-width: 36px;
  min-height: 32px;
  border-radius: 999px;
}

.lang-switch button.active {
  background: var(--aa-ink) !important;
  color: #fff !important;
}

.app {
  min-height: calc(100svh - var(--header));
  padding: 0;
}

.primary-button,
.secondary-button,
.text-button,
.icon-button,
.social-join-cta,
.social-follow,
.social-load-more {
  min-height: 44px;
  border-radius: var(--aa-radius-md);
  box-shadow: none !important;
}

.primary-button {
  border-color: var(--aa-ink) !important;
  background: var(--aa-ink) !important;
  color: #fff !important;
}

.primary-button:hover,
.primary-button:focus-visible {
  background: #2a2e35 !important;
}

.secondary-button {
  border-color: var(--aa-line) !important;
  background: #fff !important;
  color: var(--aa-ink) !important;
}

.overline,
.social-kicker {
  color: var(--aa-haitang) !important;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}

/* Home · works first, story second. */
.social-home {
  width: min(100%, 720px);
  margin: 0 auto;
  padding: 0 20px 120px;
}

.social-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  min-height: 176px;
  padding: 40px 0 28px;
}

.social-intro h1 {
  max-width: 16em;
  margin: 0;
  font-family: "Source Han Serif SC", "Noto Serif SC", "Songti SC", Georgia, serif;
  font-size: clamp(31px, 5vw, 47px);
  font-weight: 560;
  letter-spacing: -.035em;
  line-height: 1.1;
}

.social-intro p {
  margin: 12px 0 0;
  color: var(--aa-secondary);
  font-size: 14px;
}

.social-intro-note {
  margin-top: 9px;
  color: var(--aa-muted);
  font-size: 11px;
}

.social-intro-note button {
  color: var(--aa-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.social-join-cta {
  min-width: 104px;
  border-color: var(--aa-ink);
  border-radius: 999px;
}

.social-feed-shell {
  border-top: 0;
}

.social-feed-mode {
  position: sticky;
  top: var(--header);
  z-index: 8;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto;
  align-items: center;
  gap: 3px;
  min-height: 58px;
  padding: 8px 0;
  border-bottom: 1px solid var(--aa-line);
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(18px);
}

.social-feed-mode button {
  min-height: 40px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--aa-secondary);
  font: inherit;
  font-size: 12px;
  white-space: nowrap;
  cursor: pointer;
}

.social-feed-mode button.active {
  background: var(--aa-ink);
  color: #fff;
}

.social-feed-mode .social-feed-why {
  padding-inline: 10px;
  color: var(--aa-muted);
  font-size: 10px;
}

.social-feed-mode .social-feed-contribute {
  border: 1px solid var(--aa-ink);
  color: var(--aa-ink);
  font-weight: 600;
}

.social-feed-toolbar {
  position: relative;
  top: auto;
  z-index: 1;
  min-height: 60px;
  border-bottom: 1px solid var(--aa-line);
  background: #fff;
  backdrop-filter: none;
}

.social-feed-tabs {
  gap: 8px;
  padding-block: 8px;
}

.social-feed-tabs button {
  min-height: 38px;
  padding-inline: 15px;
  border: 1px solid var(--aa-line);
  background: #fff;
  color: var(--aa-secondary);
}

.social-feed-tabs button.active {
  border-color: var(--aa-ink);
  background: var(--aa-ink);
  color: #fff;
  box-shadow: none;
}

.social-refresh {
  width: 44px;
  height: 44px;
  border-color: var(--aa-line);
  color: var(--aa-secondary);
}

.social-feed-empty {
  margin-top: 24px;
  padding: 24px;
  border-radius: var(--aa-radius-md);
  background: var(--aa-surface);
}

.social-feed-empty strong,
.social-feed-empty p {
  display: block;
  margin: 0;
}

.social-feed-empty p {
  margin-top: 8px;
  color: var(--aa-secondary);
  font-size: 13px;
}

.social-feed-empty button {
  min-height: 44px;
  margin-top: 16px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: var(--aa-ink);
  color: #fff;
}

.social-feed-list {
  display: grid;
  gap: 28px;
  padding-top: 24px;
}

.social-post {
  overflow: visible;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--aa-line);
}

.social-post-head {
  min-height: 52px;
  padding: 0 0 12px;
}

.social-avatar {
  width: 38px;
  height: 38px;
  flex-basis: 38px;
  border-color: var(--aa-line) !important;
  background: var(--aa-surface);
  color: var(--aa-ink) !important;
  font-family: Inter, "PingFang SC", "Noto Sans SC", sans-serif;
  font-size: 14px;
  font-weight: 700;
}

.social-creator strong {
  font-size: 13px;
}

.social-creator small,
.social-post-date {
  color: var(--aa-muted);
  font-size: 10.5px;
}

.social-follow,
.social-community-mark {
  min-height: 34px;
  padding: 0 12px;
  border-color: var(--aa-line);
  color: var(--aa-ink);
}

.social-follow.active {
  border-color: var(--aa-haitang);
  color: var(--aa-haitang);
}

.social-post-image,
.social-live-media,
.social-text-media {
  border-radius: var(--aa-radius-md);
  background: var(--aa-surface);
  box-shadow: none;
}

.social-post-image img {
  aspect-ratio: 4 / 5;
  background: var(--aa-surface);
  object-fit: cover;
  transition: transform var(--aa-normal) ease;
}

.social-post-image-hint {
  right: 12px;
  bottom: 12px;
  padding: 6px 9px;
  border: 0;
  background: rgba(23, 26, 32, .62);
  font-size: 10px;
}

.social-work-like {
  right: 12px;
  bottom: 12px;
  z-index: 3;
  width: 48px;
  height: 48px;
  border-color: rgba(255,255,255,.75);
  background: rgba(23, 26, 32, .5);
}

.social-work-like.active {
  background: var(--aa-gradient);
}

.social-work-frame .social-post-image-hint + .social-work-like,
.social-work-frame:has(.social-work-like) .social-post-image-hint {
  right: 68px;
}

.social-post-caption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 16px;
  padding: 14px 2px 0;
}

.social-post-caption strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--aa-ink);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.social-post-caption span {
  grid-column: 1;
  display: -webkit-box;
  overflow: hidden;
  color: var(--aa-secondary);
  font-size: 12px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.social-post-caption button {
  grid-column: 2;
  grid-row: 1 / 3;
  min-height: 44px;
  align-self: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--aa-secondary);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.social-post.show-story .social-work-frame,
.social-post.show-story .social-post-caption {
  display: none;
}

.social-post-body {
  padding: 20px 2px 10px;
}

.social-post.show-story .social-post-body {
  display: block;
  min-height: min(66svh, 640px);
  animation: social-story-in var(--aa-normal) ease-out both;
}

.social-post-body h2 {
  max-width: 16em;
  margin: 38px 0 18px;
  font-family: "Source Han Serif SC", "Noto Serif SC", "Songti SC", Georgia, serif;
  font-size: clamp(27px, 5vw, 40px);
  font-weight: 560;
  letter-spacing: -.03em;
  line-height: 1.18;
}

.social-post-body > p {
  max-width: 39em;
  color: var(--aa-secondary);
  font-size: 14px;
  line-height: 1.8;
}

.social-story-back {
  min-height: 44px;
}

.social-post-actions {
  margin-top: 8px;
}

.social-icon-button {
  width: 44px;
  height: 44px;
}

.social-like-chooser {
  border-color: var(--aa-line);
  border-radius: var(--aa-radius-lg);
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 46px rgba(23,26,32,.14);
}

.social-like-chooser button {
  min-height: 38px;
  border-color: var(--aa-line);
  background: var(--aa-surface);
  color: var(--aa-ink);
}

.social-load-more {
  width: 100%;
  min-height: 54px;
  margin-top: 20px;
  border: 1px solid var(--aa-line);
  background: #fff;
  color: var(--aa-ink);
}

/* Discover · search, doors and nearby cultural life. */
.discover-page {
  width: min(100%, 980px);
  padding: 56px 24px 120px;
}

.discover-head {
  padding-bottom: 30px;
  border-bottom: 0;
}

.discover-head h1 {
  max-width: 16em;
  margin-top: 10px;
  font-family: "Source Han Serif SC", "Noto Serif SC", "Songti SC", Georgia, serif;
  font-size: clamp(34px, 6vw, 58px);
  font-weight: 560;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.discover-head > p:last-child {
  max-width: 40em;
  color: var(--aa-secondary);
}

.discover-prompts {
  gap: 12px;
}

.discover-prompts button {
  min-height: 122px;
  padding: 20px;
  border: 1px solid var(--aa-line);
  border-radius: var(--aa-radius-md);
  background: #fff;
  box-shadow: none;
}

.discover-prompts button:hover {
  border-color: var(--aa-ink);
  transform: translateY(-2px);
}

.discover-prompts strong {
  font-size: 19px;
}

.discover-prompts small {
  color: var(--aa-secondary);
}

.discover-scouts,
.discover-research-curators,
.discover-verified-spaces,
.discover-night,
.discover-spaces,
.discover-nearby,
.discover-people {
  margin-top: 72px;
}

.discover-scout-grid button,
.discover-research-grid button,
.discover-verified-spaces button,
.discover-people-grid button {
  border-radius: var(--aa-radius-md);
  box-shadow: none !important;
}

.discover-nearby {
  border-radius: var(--aa-radius-lg);
  background: var(--aa-surface);
}

/* Profiles · the image and a human introduction arrive before the ledger. */
.generic-hero,
.section,
.cultural-profile,
.social-creator-page,
.method-page,
.my-arc-hero,
.access-page,
.legal-page,
.admin-page {
  width: min(calc(100% - 48px), 1040px);
  margin-inline: auto;
}

.generic-hero,
.unified-profile-hero {
  min-height: min(760px, calc(100svh - var(--header)));
  gap: clamp(34px, 7vw, 94px);
  padding-top: clamp(48px, 8vw, 92px);
  padding-bottom: 50px;
  border-bottom: 1px solid var(--aa-line);
}

.generic-hero-copy .profile-title {
  font-family: "Source Han Serif SC", "Noto Serif SC", "Songti SC", Georgia, serif;
  font-size: clamp(48px, 8vw, 88px);
  font-weight: 560;
  letter-spacing: -.045em;
  line-height: 1;
}

.generic-hero-copy .profile-title small {
  margin-top: 12px;
  color: var(--aa-secondary);
  font-family: Inter, "PingFang SC", "Noto Sans SC", sans-serif;
  font-size: 20px;
  font-weight: 450;
  letter-spacing: 0;
  line-height: 1.4;
}

.unified-profile-hero .lead,
.profile-biography-intro {
  max-width: 38em;
  color: var(--aa-secondary);
  font-size: 15px;
  line-height: 1.75;
}

.generic-hero-image,
.research-profile-image {
  overflow: hidden;
  border-radius: var(--aa-radius-md);
  background: var(--aa-surface);
  box-shadow: none !important;
}

.generic-hero-image img,
.research-profile-image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.profile-actions {
  gap: 10px;
}

.profile-actions > * {
  min-height: 46px;
}

.profile-section-label {
  color: var(--aa-muted);
}

.profile-practice-groups span,
.cultural-tags span {
  border-color: var(--aa-line);
  border-radius: 999px;
  background: var(--aa-surface);
}

.profile-system-section {
  padding-top: 76px;
  padding-bottom: 76px;
  border-bottom-color: var(--aa-line);
}

.dossier-image-sequence,
.research-image-strip {
  gap: 12px;
}

.dossier-image-sequence figure,
.research-image-strip figure,
.dossier-site-mosaic figure {
  overflow: hidden;
  border-radius: var(--aa-radius-md);
  background: var(--aa-surface);
}

.profile-dimension-grid article,
.research-event-grid article,
.research-account-grid article,
.source-row,
.dossier-work-stories article {
  border-color: var(--aa-line) !important;
  box-shadow: none !important;
}

.cultural-profile {
  padding: 0 0 120px;
}

.cultural-profile-hero {
  min-height: min(740px, calc(100svh - var(--header)));
  border-bottom-color: var(--aa-line);
}

.cultural-profile-hero h1 {
  font-family: "Source Han Serif SC", "Noto Serif SC", "Songti SC", Georgia, serif;
}

.cultural-profile-hero figure {
  overflow: hidden;
  border-radius: var(--aa-radius-md);
  background: var(--aa-surface);
}

.cultural-profile blockquote {
  color: var(--aa-ink);
}

.cultural-profile-section {
  border-bottom-color: var(--aa-line);
}

.social-creator-page {
  padding-top: 58px;
  padding-bottom: 120px;
}

.social-creator-page-image,
.social-creator-page-story,
.social-creator-latest,
.social-creator-score,
.social-creator-sources {
  border-color: var(--aa-line) !important;
  box-shadow: none !important;
}

/* My ARK · one clear balance card, then the personal record. */
.my-arc-hero {
  padding-top: 66px;
}

.my-arc-hero .display {
  font-family: "Source Han Serif SC", "Noto Serif SC", "Songti SC", Georgia, serif;
  font-size: clamp(42px, 7vw, 74px);
  font-weight: 560;
  letter-spacing: -.04em;
}

.arc-summary {
  overflow: hidden;
  gap: 0;
  margin-top: 38px;
  border: 0;
  border-radius: var(--aa-radius-lg);
  background: var(--aa-gradient);
  color: #fff;
}

.arc-summary span {
  min-height: 126px;
  padding: 24px;
  border-color: rgba(255,255,255,.26) !important;
}

.arc-summary strong,
.arc-summary small {
  color: #fff !important;
}

.arc-summary strong {
  font-size: clamp(24px, 4vw, 38px);
}

.arc-people-river button,
.arc-nearby-grid article,
.encounter-ledger article {
  border-color: var(--aa-line) !important;
  border-radius: var(--aa-radius-md);
  box-shadow: none !important;
}

/* Dialogs become reachable bottom sheets on touch screens. */
.dialog,
.art-dialog {
  border: 0;
  border-radius: var(--aa-radius-lg);
  box-shadow: 0 24px 80px rgba(23,26,32,.2);
}

.ark-desk {
  background: rgba(23,26,32,.38);
}

.ark-desk-panel {
  border-radius: var(--aa-radius-lg) var(--aa-radius-lg) 0 0;
  background: #fff;
  box-shadow: 0 -20px 70px rgba(23,26,32,.16);
}

.ark-desk-panel .primary-button,
.take-dialog-actions .primary-button {
  border: 0 !important;
  background: var(--aa-gradient) !important;
}

.site-footer {
  width: min(calc(100% - 48px), 1040px);
  border-top-color: var(--aa-line);
}

.site-footer a:hover,
.site-footer a.active {
  color: var(--aa-ink);
}

.mobile-tabbar svg {
  width: 22px;
  height: 22px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.mobile-tabbar a:first-child svg path {
  fill: none;
}

@media (max-width: 720px) {
  :root {
    --header: 58px;
  }

  body {
    padding-bottom: calc(66px + env(safe-area-inset-bottom));
  }

  .site-header {
    min-height: var(--header);
    padding: 0 12px;
  }

  .site-header .brand {
    min-width: 0;
  }

  .site-header .brand-mark {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-radius: 8px;
  }

  .site-header .brand strong {
    font-size: 14px;
  }

  .site-header .brand small,
  .site-header .nav,
  .site-header .search-toggle,
  .site-header .ark-header-button,
  .site-header .account-toggle,
  .site-header #accountToggle {
    display: none !important;
  }

  .lang-switch button {
    min-width: 34px;
  }

  .social-home {
    width: 100%;
    padding: 0 16px 38px;
  }

  .social-intro {
    display: grid;
    min-height: 0;
    padding: 22px 0 18px;
  }

  .social-intro h1 {
    max-width: 11em;
    font-size: 31px;
  }

  .social-intro p {
    margin-top: 8px;
    font-size: 13px;
  }

  .social-intro-note {
    line-height: 1.5;
  }

  .social-join-cta {
    position: absolute;
    top: calc(var(--header) + 18px);
    right: 16px;
    width: auto;
    min-width: 82px;
    min-height: 40px;
    margin: 0;
  }

  .social-feed-mode {
    margin-inline: -16px;
    padding-inline: 16px;
  }

  .social-feed-mode button {
    min-height: 40px;
    padding-inline: 10px;
  }

  .social-feed-mode .social-feed-why {
    display: none;
  }

  .social-feed-mode {
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  }

  .social-feed-mode .social-feed-contribute {
    padding-inline: 9px;
    font-size: 11px;
  }

  .social-feed-toolbar {
    margin-inline: -16px;
    padding: 0 16px;
  }

  .social-feed-list {
    gap: 22px;
    padding-top: 18px;
  }

  .social-post {
    padding-bottom: 22px;
  }

  .social-post-head {
    padding-bottom: 10px;
  }

  .social-post-image img {
    aspect-ratio: 1 / 1.12;
  }

  .social-post-caption {
    padding-top: 12px;
  }

  .social-post-caption strong {
    font-size: 12.5px;
  }

  .social-post-caption span {
    font-size: 11.5px;
  }

  .social-post-caption button {
    min-width: 62px;
  }

  .social-post.show-story .social-post-body {
    min-height: calc(100svh - var(--header) - 100px);
  }

  .social-post-body h2 {
    margin-top: 30px;
    font-size: 29px;
  }

  .social-post-body > p {
    font-size: 13.5px;
    line-height: 1.75;
  }

  .discover-page,
  .social-creator-page,
  .method-page,
  .my-arc-hero,
  .access-page,
  .legal-page,
  .admin-page,
  .generic-hero,
  .section,
  .cultural-profile {
    width: calc(100% - 32px);
  }

  .discover-page {
    padding: 26px 0 42px;
  }

  .discover-head {
    padding-bottom: 22px;
  }

  .discover-head h1 {
    font-size: 34px;
  }

  .discover-prompts {
    grid-template-columns: 1fr;
  }

  .discover-prompts button,
  .discover-prompts button:last-child {
    grid-column: auto;
    min-height: 102px;
    padding: 17px;
  }

  .discover-scouts,
  .discover-research-curators,
  .discover-verified-spaces,
  .discover-night,
  .discover-spaces,
  .discover-nearby,
  .discover-people {
    margin-top: 48px;
  }

  .generic-hero,
  .unified-profile-hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
    gap: 24px;
    padding-top: 22px;
    padding-bottom: 28px;
  }

  .generic-hero-image,
  .research-profile-image {
    order: -1;
    width: 100%;
  }

  .generic-hero-image img,
  .research-profile-image img {
    aspect-ratio: 1 / 1.05;
  }

  .generic-hero-copy .profile-title,
  .unified-profile-hero .profile-title {
    font-size: 38px;
  }

  .generic-hero-copy .profile-title small {
    font-size: 17px;
  }

  .unified-profile-hero .lead,
  .profile-biography-intro {
    font-size: 14px;
    line-height: 1.65;
  }

  .profile-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .profile-actions > * {
    width: 100%;
    margin: 0;
  }

  .profile-system-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .cultural-profile {
    padding-bottom: 40px;
  }

  .cultural-profile-hero {
    display: flex;
    flex-direction: column-reverse;
    min-height: 0;
    gap: 26px;
    padding-top: 22px;
    padding-bottom: 34px;
  }

  .cultural-profile-hero h1 {
    font-size: 48px;
  }

  .cultural-profile blockquote {
    margin-top: 26px;
    font-size: 24px;
  }

  .cultural-profile-hero img {
    aspect-ratio: 1 / 1.02;
  }

  .my-arc-hero {
    padding-top: 32px;
  }

  .my-arc-hero .display {
    font-size: 38px;
  }

  .arc-summary {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }

  .arc-summary span {
    min-height: 94px;
    padding: 18px 20px;
    border-left: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.25) !important;
  }

  .mobile-tabbar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 64px;
    padding: 4px 8px calc(4px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--aa-line);
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(18px);
  }

  .mobile-tabbar a,
  .mobile-tabbar button {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 2px;
    min-height: 52px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--aa-muted);
    font: inherit;
  }

  .mobile-tabbar a.active,
  .mobile-tabbar button:focus-visible {
    color: var(--aa-ink);
  }

  .mobile-tabbar span {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
  }

  .mobile-tabbar small {
    font-size: 10px;
  }

  .dialog:not(.artist-directory),
  .art-dialog {
    width: 100%;
    max-width: none;
    max-height: min(88svh, 760px);
    margin: auto 0 0;
    border-radius: var(--aa-radius-lg) var(--aa-radius-lg) 0 0;
  }

  .site-footer {
    width: calc(100% - 32px);
    padding-bottom: 90px !important;
  }
}

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

/* Release 163 · one clean white canvas.
   Older routes still carry paper-toned backgrounds, so the final layer keeps
   all page, directory and content surfaces white. Neutral grey remains only
   where it helps identify an input, disabled state or unloaded image. */
:root {
  --aa-surface: #ffffff;
  --bg: #ffffff;
  --paper: #ffffff;
  --paper-solid: #ffffff;
}

html,
body,
.app,
main,
.site-header,
.site-footer,
.social-home,
.discover-page,
.social-creator-page,
.method-page,
.my-arc-hero,
.access-page,
.legal-page,
.admin-page,
.generic-hero,
.unified-profile-hero,
.section,
.cultural-profile,
.cultural-profile-hero,
.cultural-profile-section,
.discover-scouts,
.discover-research-curators,
.discover-verified-spaces,
.discover-night,
.discover-spaces,
.discover-nearby,
.discover-people,
.method-clean-feed,
.account-hub,
.account-hub-panel {
  background-color: #ffffff !important;
  background-image: none !important;
}

.nav-artist-popover,
.artist-directory,
.artist-directory-panel,
.artist-directory-panel form,
.dialog:not(.art-dialog),
.dialog:not(.art-dialog) form,
.direction-dialog-panel,
.ark-desk-panel,
.contact-dialog,
.image-rights-dialog {
  background: #ffffff !important;
}

.artist-directory-search input,
.artist-directory-filter select,
.nav-artist-search,
.artist-directory-list,
.artist-directory-list button,
.artist-directory-list button:hover,
.artist-directory-list button:focus-visible,
.artist-directory-node-grid,
.artist-directory-node-grid > button,
.artist-directory-node-grid > button:hover,
.artist-directory-node-grid > button:focus-visible,
.artist-directory-constellation > header,
.discover-prompts button,
.discover-scout-grid button,
.discover-research-grid button,
.discover-verified-spaces button,
.discover-people-grid button,
.discover-night-links button,
.discover-space-types article,
.social-avatar,
.social-feed-empty,
.social-text-media,
.social-live-media,
.profile-practice-groups span,
.cultural-tags span,
.arc-people-river button,
.arc-nearby-grid article,
.encounter-ledger article,
.method-boundary-grid article {
  background: #ffffff !important;
  background-image: none !important;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
button:disabled,
[aria-disabled="true"] {
  background-color: #f5f6f8;
}

.social-post-image img,
.discover-scout-cover,
.generic-hero-image,
.research-profile-image,
.dossier-image-sequence figure,
.research-image-strip figure,
.dossier-site-mosaic figure,
.cultural-profile-hero figure,
.image-rights-on-hold {
  background: #f5f6f8 !important;
}

.discover-space-types span,
.icon-button,
.social-like-chooser,
.social-like-chooser::before {
  background: #ffffff !important;
}

.discover-space-types span {
  border: 1px solid var(--aa-line);
}

.ark-select,
#takeSourceUrl,
.image-rights-fields select,
.access-form input,
.access-form select,
.access-form textarea,
.partnership-form input,
.partnership-form select,
.partnership-form textarea {
  background: #f5f6f8 !important;
}

/* Release 164 · remove the closed ARK scrim and tighten shared typography. */
.ark-desk:not(.open) {
  display: none !important;
  visibility: hidden !important;
  background: transparent !important;
  backdrop-filter: none !important;
}

.ark-desk.open {
  display: grid !important;
  visibility: visible !important;
  background: rgba(23, 26, 32, .38) !important;
}

.site-header {
  height: 64px;
  min-height: 64px;
  grid-template-columns: minmax(330px, 1fr) auto minmax(330px, 1fr);
  gap: 24px;
  padding-top: 0;
  padding-bottom: 0;
  background: #ffffff !important;
  backdrop-filter: none !important;
}

.site-header .brand {
  justify-self: start;
  align-items: center;
}

.site-header .brand > span:last-child {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
}

.site-header .brand strong {
  line-height: 1;
}

.site-header .brand small {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: var(--aa-secondary);
  line-height: 1;
  white-space: nowrap;
}

.site-header .beta-label {
  margin: 0;
  padding-left: 7px;
  line-height: 1;
}

.site-header .nav {
  justify-self: center;
  align-items: center;
  overflow: visible;
}

.site-header .nav a,
.site-header .nav button,
.site-header .header-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.site-header .header-actions {
  justify-self: end;
  align-items: center;
}

.site-header .quiet-button,
.site-header .ark-header-button,
.site-header .lang-switch {
  min-height: 38px;
}

.display,
.profile-title,
.discover-head h1,
.social-intro h1,
.cultural-profile-hero h1,
.section-head h2,
.discover-page h2 {
  text-align: left;
  text-wrap: balance;
}

.method-page,
.my-arc-hero,
.access-page,
.legal-page,
.admin-page,
.collaboration-hero,
.social-creator-page,
.cultural-profile,
.generic-hero,
.section {
  text-align: left;
}

.section-head,
.discover-scouts > header,
.discover-research-curators > header,
.discover-verified-spaces > header,
.discover-night > header,
.discover-spaces > header,
.discover-people > header,
.discover-nearby,
.admin-head {
  align-items: start;
}

.section-head > p,
.discover-scouts > header > p,
.discover-research-curators > header > p,
.discover-verified-spaces > header > p,
.discover-night > header > p,
.discover-spaces > header > p {
  padding-top: 4px;
}

.lead,
.section-head > p,
.discover-page header > p,
.cultural-profile-section > p,
.cultural-profile-section > div > p {
  max-width: 42em;
}

@media (max-width: 1180px) {
  .site-header {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
  }

  .site-header .nav {
    overflow-x: auto;
  }
}

@media (max-width: 720px) {
  .site-header {
    height: 58px;
    min-height: 58px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 0 12px;
  }

  .site-header .brand {
    gap: 8px;
  }

  .site-header .brand > span:last-child {
    gap: 2px;
  }

  .site-header .brand small {
    display: flex !important;
    max-width: none;
    overflow: visible;
    font-size: 9px;
    line-height: 1;
    text-overflow: clip;
    white-space: nowrap;
  }

  .site-header .beta-label {
    display: none;
  }

  .site-header .header-actions {
    display: flex !important;
    align-items: center;
    gap: 6px;
  }

  .site-header .search-toggle {
    display: inline-grid !important;
    place-items: center;
    width: 38px;
    min-width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid var(--aa-line);
    border-radius: 50%;
    background: #fff;
  }

  .site-header .search-toggle .search-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .site-header .search-toggle .search-icon {
    width: 16px;
    height: 16px;
  }

  .site-header .lang-switch {
    display: flex !important;
  }

  .section-head,
  .discover-scouts > header,
  .discover-research-curators > header,
  .discover-verified-spaces > header,
  .discover-night > header,
  .discover-spaces > header,
  .discover-people > header,
  .discover-nearby,
  .admin-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .section-head > p,
  .discover-scouts > header > p,
  .discover-research-curators > header > p,
  .discover-verified-spaces > header > p,
  .discover-night > header > p,
  .discover-spaces > header > p {
    padding-top: 0;
  }
}

@media (max-width: 720px) {
  .site-header .search-toggle {
    display: inline-grid !important;
  }
}
.artist-directory-search-section { display: grid; gap: 10px; margin-bottom: 20px; }
.artist-directory-search-section > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--aa-line); }
.artist-directory-search-section > header strong { font-size: 13px; }
.artist-directory-search-section > header small { color: var(--aa-muted); }
.artist-directory-search-section > div:not(.artist-directory-node-grid) { display: grid; gap: 8px; }
/* release-169 · administrator-only feature flags */
.admin-feature-flags form { display: grid; gap: 18px; }
.admin-feature-flag-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.admin-feature-flag-grid label { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 52px; padding: 12px 14px; border: 1px solid rgba(20, 20, 20, 0.12); border-radius: 14px; background: #fff; }
.admin-feature-flag-grid input { width: 20px; height: 20px; accent-color: #e5484d; }
@media (max-width: 720px) { .admin-feature-flag-grid { grid-template-columns: 1fr; } }

.space-operating-notice{margin:24px 0;padding:20px 24px;border-left:3px solid currentColor;background:var(--paper,#ffffff)}.space-operating-notice p{margin:8px 0 0;line-height:1.8}

/* Release 187: editorial entry points and quiet personal reading controls. */
.experience-note, .experience-city-label, .experience-calendar-controls label { color: var(--muted); font-size: 14px; line-height: 1.65; }
.experience-note button, .experience-note a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.experience-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.experience-tabs button { min-height: 44px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 24px; background: transparent; color: var(--muted); font-size: 14px; }
.experience-tabs button[aria-pressed="true"] { color: var(--ink); border-color: var(--ink); background: rgba(127,127,127,.09); }
.experience-story-row { border-top: 1px solid var(--line); padding: 18px 0; }
.experience-story-row summary { display: flex; align-items: center; gap: 14px; justify-content: space-between; cursor: pointer; min-height: 48px; }
.experience-story-row summary > span { min-width: 0; }
.experience-story-row summary strong { display: block; font-size: 19px; line-height: 1.5; font-weight: 500; margin-top: 5px; overflow-wrap: anywhere; }
.experience-story-row summary small { color: var(--muted); font-size: 14px; line-height: 1.5; }
.experience-story-row summary::after { content: '+'; flex: 0 0 auto; font-size: 23px; color: var(--muted); }
.experience-story-row details[open] > summary::after { content: '−'; }
.experience-story-row details > p { font-size: 16px; line-height: 1.8; max-width: 72ch; margin: 18px 0; }
.experience-unread { flex-shrink: 0; font-size: 12px; font-weight: 400; color: var(--ink); padding: 4px 9px; border: 1px solid var(--line); border-radius: 16px; white-space: nowrap; }
.experience-unread[hidden] { display: none; }
.experience-story-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 10px; }
.experience-story-actions button, .experience-story-actions a { color: var(--muted); font-size: 14px; line-height: 1.7; min-height: 40px; padding: 7px 0; }
.experience-story-actions button[aria-pressed="true"], .social-post-quick-actions button[aria-pressed="true"] { color: var(--ink); text-decoration: underline; text-underline-offset: 5px; }
.experience-related { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 8px 0; }
.social-post > .experience-related { padding: 10px 24px; }
.experience-related > span { display: inline-flex; gap: 9px; align-items: center; }
.experience-related button { min-height: 40px; font-size: 14px; color: var(--ink); }
.experience-related button[data-social-follow] { font-size: 12px; color: var(--muted); padding: 6px 10px; border: 1px solid var(--line); border-radius: 20px; }
.work-entry-guide { margin: 24px 0; padding: 20px 0 4px; border-top: 1px solid var(--line); max-width: 65ch; }
.work-entry-guide .overline { margin: 0 0 8px; font-size: 12px; letter-spacing: .14em; }
.work-entry-guide h2 { font-size: clamp(21px,2vw,28px); line-height: 1.4; margin: 8px 0; font-weight: 500; }
.work-entry-guide > p:not(.overline) { font-size: 16px; line-height: 1.8; color: var(--ink); margin: 14px 0; }
.work-entry-guide > small { color: var(--muted); font-size: 12px; line-height: 1.7; }
.experience-calendar-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; margin-top: 28px; }
.experience-calendar-controls label, .experience-city-label { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.experience-city-label { margin: 0 0 22px; }
.experience-calendar-controls select, .experience-city-label select { min-height: 44px; max-width: 100%; border: 1px solid var(--line); border-radius: 6px; padding: 8px 32px 8px 12px; font: inherit; font-size: 16px; color: var(--ink); background: var(--paper, #ffffff); }
.experience-calendar-controls .experience-tabs { margin: 0; }
.event-card-top time { white-space: normal; text-align: right; line-height: 1.5; }
.event-filter-row { flex-wrap: wrap; }
.experience-how { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; margin: 36px 0; }
.experience-how article { border-top: 1px solid var(--line); padding-top: 20px; }
.experience-how h2 { font-size: 22px; line-height: 1.5; font-weight: 500; }
.experience-how p { font-size: 16px; line-height: 1.8; color: var(--muted); }
.social-like-chooser p { margin: 10px 0 16px; font-size: 14px; line-height: 1.6; color: var(--muted); }
.social-like-chooser { max-height: calc(100dvh - 24px); overflow-y: auto; }
.social-feed-mode { flex-wrap: wrap; }
@media (max-width: 640px) {
  .experience-how { grid-template-columns: 1fr; gap: 20px; }
  .experience-calendar-controls { align-items: flex-start; }
  .experience-story-row summary { gap: 10px; }
  .experience-story-row summary strong { font-size: 17px; }
  .social-post > .experience-related { padding: 8px 16px; }
  .social-feed-mode button { flex-shrink: 0; }
  .experience-calendar-controls .experience-tabs { gap: 6px; }
  .experience-tabs button { padding: 9px 12px; }
}
.social-feed-mode { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.social-feed-mode button { font-size: 14px; min-height: 44px; }
.social-post.is-name-card .social-post-image img { aspect-ratio: 3 / 2; object-fit: contain; transform: none; }
.social-post.is-name-card .social-post-image:hover img { transform: none; }
.experience-story-actions button, .experience-related button, .experience-note button { border: 0; background: transparent; font-family: inherit; cursor: pointer; }
.experience-related button[data-social-follow] { border: 1px solid var(--line); }
.experience-story-actions button:focus-visible, .experience-related button:focus-visible, .experience-note button:focus-visible, .experience-story-row summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.social-like-chooser button { min-height: 44px; font-size: 14px; }
.social-intro-note { line-height: 1.8; }
.social-intro-note button + button { margin-left: 12px; }

/* Release 188: a white reading surface and complete, uncropped artwork previews. */
:root { color-scheme: light; --bg:#fff; --paper:#fff; --paper-solid:#fff; --aa-surface:#fff; }
.reading-page { width:min(1080px,100%); margin-inline:auto; padding:40px 24px 80px; background:#fff; }
.reading-heading { max-width:800px; margin:28px 0 42px; }
.reading-heading h1 { font-size:clamp(30px,4vw,48px); line-height:1.35; font-weight:500; letter-spacing:-.02em; margin:14px 0 20px; }
.reading-deck { font-size:19px; line-height:1.85; color:var(--muted); }
.reading-meta { color:var(--muted); font-size:13px; line-height:1.6; margin:0 0 10px; }
.reading-teaser { margin:24px auto 36px; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); width:100%; background:#fff; }
.reading-teaser>header { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:22px; }
.reading-teaser h2 { font-size:22px; line-height:1.45; font-weight:500; margin:4px 0; }
.reading-teaser .overline { margin:0 0 6px; }
.reading-teaser-grid, .reading-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.reading-card { min-width:0; background:#fff; }
.reading-card h3 { font-weight:500; font-size:24px; line-height:1.5; margin:6px 0 12px; overflow-wrap:anywhere; }
.reading-card h3 a { color:var(--ink); text-decoration:none; }
.reading-card p:not(.reading-meta) { font-size:16px; line-height:1.8; color:var(--muted); margin:8px 0 12px; }
.reading-cover { display:flex; align-items:center; justify-content:center; width:100%; height:280px; background:#fff; margin-bottom:20px; }
.reading-cover img { display:block; width:100%; height:100%; object-fit:contain; }
.reading-card.is-compact { display:grid; grid-template-columns:100px minmax(0,1fr); gap:18px; align-items:center; }
.reading-card.is-compact .reading-cover { height:108px; margin:0; }
.reading-card.is-compact h3 { font-size:18px; margin:5px 0 8px; }
.reading-link { font-size:14px; color:var(--ink); text-underline-offset:5px; line-height:1.7; display:inline-block; padding:8px 0; }
.reading-breadcrumb { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; font-size:14px; }
.reading-breadcrumb a { color:var(--muted); padding:8px 0; }
.reading-group { padding:28px 0 44px; border-top:1px solid var(--line); }
.reading-group>header { display:flex; gap:22px; margin-bottom:32px; align-items:baseline; }
.reading-number { font-size:14px; color:var(--muted); }
.reading-group h2 { font-size:25px; font-weight:500; margin:0 0 12px; }
.reading-group>header p { max-width:65ch; font-size:16px; line-height:1.8; color:var(--muted); }
.reading-figure { width:100%; margin:0 0 40px; background:#fff !important; }
.reading-figure img { display:block; width:100%; max-height:70vh; min-height:0; height:auto; object-fit:contain; background:#fff; }
.reading-figure figcaption { background:#fff; padding:18px 0; }
.reading-prose { max-width:700px; margin-inline:auto; }
.reading-prose>p { font-size:18px; line-height:2; margin:0 0 28px; overflow-wrap:anywhere; }
.reading-citation { font-size:12px; color:var(--muted); vertical-align:super; text-decoration:underline; white-space:nowrap; }
.reading-prose .reading-record-note { font-size:13px; color:var(--muted); border-left:2px solid var(--line); padding-left:16px; line-height:1.8; }
.reading-sources { border-top:1px solid var(--line); padding-top:24px; margin-top:40px; }
.reading-sources h2, .reading-city h2 { font-size:21px; font-weight:500; }
.reading-sources p,.reading-sources li,.reading-city p { font-size:14px; line-height:1.8; color:var(--muted); }
.reading-sources li { margin:12px 0; }
.reading-sources a { color:var(--ink); text-underline-offset:4px; overflow-wrap:anywhere; }
.reading-next,.reading-city { margin-top:50px; border-top:1px solid var(--line); padding-top:24px; }
.reading-next .reading-card { margin-bottom:20px; max-width:700px; }
.reading-page a:focus-visible,.reading-teaser a:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.image-load-note { background:#fff !important; color:var(--muted) !important; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; padding:24px; min-height:130px; }
.image-retry-button { color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:6px; padding:10px 16px; min-height:44px; cursor:pointer; font:inherit; }
@media (max-width:700px) {
 .reading-page { padding:24px 18px 70px; }
 .reading-heading { margin:24px 0 32px; }
 .reading-deck { font-size:17px; }
 .reading-teaser>header { align-items:flex-start; flex-wrap:wrap; gap:4px; }
 .reading-teaser-grid,.reading-grid { grid-template-columns:1fr; gap:28px; }
 .reading-card.is-compact { grid-template-columns:90px minmax(0,1fr); gap:16px; }
 .reading-cover { height:250px; }
 .reading-prose>p { font-size:17px; line-height:1.95; }
 .reading-group>header { gap:15px; }
 .reading-breadcrumb { font-size:13px; }
}

/* Release 190. White surfaces; original artworks retain their own colours. */
.discovery-190 { max-width:1280px; }
.discovery-190 .discover-head { max-width:950px; margin-bottom:22px; }
.discovery-190 .discover-head h1 { font-size:clamp(32px,4vw,54px); }
.discovery-shortcuts,.discovery-city-tabs,.reading-topic-nav { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 30px; }
.discovery-shortcuts>a,.discovery-shortcuts>button,.discovery-city-tabs>button,.reading-topic-nav>button { font:inherit; font-size:14px; line-height:1.6; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:5px; padding:10px 16px; min-height:44px; text-decoration:none; cursor:pointer; }
.discovery-city-tabs>button[aria-pressed="true"] { background:var(--ink); color:#fff; border-color:var(--ink); }
.discovery-section-head { display:flex; justify-content:space-between; align-items:end; gap:28px; margin:0 0 28px; }
.discovery-section-head h2,.discovery-browse h2 { font-size:clamp(24px,2.6vw,34px); line-height:1.4; font-weight:500; margin:8px 0 0; }
.discovery-section-head>p { max-width:390px; color:var(--muted); font-size:15px; line-height:1.8; margin:0; }
.discovery-featured,.discovery-updates,.discovery-venues,.discovery-browse { margin:42px 0 54px; padding-top:34px; border-top:1px solid var(--line); background:#fff; }
.discovery-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.discovery-feature-grid .reading-cover { height:220px; }
.discovery-feature-grid .reading-card h3 { font-size:23px; }
.discovery-update-grid,.discovery-venue-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.discovery-update-card,.discovery-venue-card { min-width:0; background:#fff; border:1px solid var(--line); padding:24px; border-radius:7px; }
.discovery-update-card h3,.discovery-venue-card h3 { margin:6px 0 12px; font-size:22px; line-height:1.5; font-weight:500; overflow-wrap:anywhere; }
.discovery-update-card p,.discovery-venue-card p { font-size:15px; line-height:1.85; color:var(--muted); }
.discovery-update-card>div { display:flex; flex-wrap:wrap; gap:10px 24px; }
.discovery-update-card a,.discovery-venue-card a { color:var(--ink); text-underline-offset:4px; line-height:1.6; overflow-wrap:anywhere; }
.discovery-update-card>div a { font-size:14px; padding:8px 0; }
.discovery-venue-card h3 a { text-decoration:none; }
.discovery-city-summary { font-size:14px; color:var(--muted); margin:0 0 20px; }
.venue-event { border-top:1px solid var(--line); padding:15px 0; }
.venue-event time { display:block; color:var(--muted); font-size:12px; margin-bottom:7px; }
.venue-event a { font-size:16px; }
.discovery-venue-card .venue-closed { color:var(--ink); border-left:2px solid var(--ink); padding-left:12px; }
.discovery-venues>.text-button { margin-top:22px; }
.reading-topic-nav { margin-bottom:35px; }
.reading-topic-nav button { text-align:left; }
.reading-group { scroll-margin-top:100px; }
.discovery-190 a:focus-visible,.discovery-190 button:focus-visible,.reading-topic-nav button:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
@media(max-width:850px) {
 .discovery-feature-grid { grid-template-columns:1fr; }
 .discovery-feature-grid .reading-card { display:grid; grid-template-columns:minmax(130px,36%) minmax(0,1fr); gap:22px; align-items:start; }
 .discovery-feature-grid .reading-cover { height:190px; }
 .discovery-section-head { align-items:start; flex-direction:column; gap:12px; }
}
@media(max-width:620px) {
 .discovery-update-grid,.discovery-venue-grid { grid-template-columns:1fr; }
 .discovery-update-card,.discovery-venue-card { padding:20px; }
 .discovery-feature-grid .reading-card { display:block; }
 .discovery-feature-grid .reading-cover { height:240px; }
 .discovery-city-tabs { gap:8px; }
 .discovery-city-tabs>button { padding:9px 13px; }
 .discovery-shortcuts { gap:8px; }
 .reading-topic-nav { flex-direction:column; }
}

/* Release 192: concise browsing, with full records behind clear directory links. */
.discovery-192,.places-page-192 { width:min(1080px,100%); margin:auto; padding:32px 24px 64px; background:#fff; }
.compact-heading-192 { margin:0 0 16px; }
.compact-heading-192 h1 { font-size:34px; line-height:1.3; font-weight:550; margin:8px 0; letter-spacing:-.025em; }
.compact-heading-192 p { font-size:15px; color:var(--muted); line-height:1.6; margin:10px 0 20px; }
.discovery-192 .discovery-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:16px 0 24px; gap:10px; }
.discovery-192 .discovery-shortcuts>a,.discovery-192 .discovery-shortcuts>button { text-align:center; min-height:46px; padding:11px 8px; border-radius:6px; }
.discovery-shortcuts span { color:var(--muted); font-size:12px; margin-left:4px; }
.discovery-192 .discovery-featured,.discovery-192 .discovery-updates,.discovery-192 .discovery-venues { margin:24px 0 30px; padding:22px 0 0; }
.discovery-192 .discovery-section-head { flex-direction:row; align-items:center; gap:12px; margin:0 0 14px; }
.discovery-192 .discovery-section-head h2 { font-size:22px; font-weight:550; margin:0; }
.discovery-192 .discovery-section-head .reading-link { white-space:nowrap; min-height:44px; display:flex; align-items:center; font-size:13px; text-decoration:none; }
.discovery-192 .discovery-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.discovery-192 .reading-card.is-compact { display:block; }
.discovery-192 .reading-card.is-compact .reading-cover { height:175px; margin:0 0 12px; }
.discovery-192 .reading-card h3 { font-size:18px; margin:5px 0 0; }
.discovery-192 .reading-card .reading-link,.reading-card.is-compact .reading-link { display:none; }
.discovery-192 .reading-meta { margin:0; font-size:12px; }
.discovery-192 .discovery-update-grid { grid-template-columns:1fr; gap:0; }
.update-row-192 { display:grid; grid-template-columns:minmax(0,1fr) 20px; align-items:center; gap:16px; padding:16px 0; text-decoration:none; color:var(--ink); border-bottom:1px solid var(--line); }
.update-row-192.has-photo { grid-template-columns:80px minmax(0,1fr) 20px; }
.update-row-192 img { width:80px; height:80px; object-fit:contain; }
.update-row-192 small,.place-card-192 small { display:block; font-size:12px; color:var(--muted); line-height:1.6; }
.update-row-192 strong { display:block; font-size:17px; line-height:1.6; font-weight:500; margin-top:4px; }
.update-row-192 b,.place-card-192>b { font-weight:400; color:var(--muted); }
.places-grid-192 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; }
.discovery-192 .places-grid-192 { grid-template-columns:1fr; }
.place-card-192 { display:grid; grid-template-columns:minmax(0,1fr) 20px; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; min-width:0; min-height:96px; }
.place-card-192.has-photo { grid-template-columns:100px minmax(0,1fr) 20px; }
.place-card-192 img { width:100px; height:84px; object-fit:contain; border-radius:3px; }
.place-card-192 strong { display:block; font-size:17px; font-weight:500; line-height:1.6; overflow-wrap:anywhere; }
.place-card-192 em { display:inline-block; font-size:12px; font-style:normal; border:1px solid var(--line); border-radius:3px; padding:2px 6px; margin-top:5px; }
.city-select-192 { display:flex; align-items:center; gap:12px; font-size:14px; }
.city-select-192 select { min-height:44px; padding:8px 32px 8px 12px; background-color:#fff; color:var(--ink); border:1px solid var(--line); border-radius:5px; font:inherit; max-width:100%; }
.places-controls-192 { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0 14px; border-bottom:1px solid var(--line); }
.places-controls-192>span { color:var(--muted); font-size:13px; }
.city-events-192,.places-more-192 { font:inherit; font-size:14px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:5px; min-height:46px; padding:10px 16px; margin-top:20px; cursor:pointer; }
.places-more-192 { width:100%; }
.places-more-192 span { color:var(--muted); margin-left:12px; font-size:12px; }
.places-note-192,.places-empty-192 { font-size:14px; line-height:1.7; color:var(--muted); margin-top:24px; }
.place-search-192 { display:flex; gap:10px; margin:20px 0 12px; }
.place-search-192 label { flex:1; min-width:0; }
.place-search-192 input { width:100%; min-height:46px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--ink); padding:10px 12px; font:inherit; font-size:16px; }
.place-search-192 button { min-height:46px; background:var(--ink); color:#fff; border:0; border-radius:5px; padding:10px 16px; font:inherit; font-size:14px; cursor:pointer; }
.profile-sources-192 { margin:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:12px 0; font-size:14px; }
.profile-sources-192 summary { min-height:44px; padding:12px 0; cursor:pointer; font-size:15px; }
.profile-sources-192>div { display:flex; flex-wrap:wrap; gap:8px 20px; }
.profile-sources-192 a { display:inline-block; padding:12px 0; color:var(--ink); line-height:1.5; overflow-wrap:anywhere; }
.social-post .social-media-pending { display:none; }
.social-creator-page-image img { object-fit:contain; height:auto; max-height:65vh; }
.cultural-profile-hero:has(>div:first-child:last-child) { grid-template-columns:1fr; }
.space-profile .cultural-profile-hero figure img { object-fit:contain; max-height:60vh; width:100%; }
.discovery-192 :is(a,button,select):focus-visible,.places-page-192 :is(a,button,select,input):focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
@media(max-width:700px) {
 .discovery-192,.places-page-192 { padding:18px 18px 38px; }
 .compact-heading-192 h1 { font-size:30px; }
 .discovery-192 .discovery-shortcuts { gap:8px; }
 .discovery-192 .discovery-shortcuts>a,.discovery-192 .discovery-shortcuts>button { font-size:14px; }
 .discovery-192 .discovery-feature-grid { grid-template-columns:1fr; gap:0; }
 .discovery-192 .reading-card.is-compact { display:grid; grid-template-columns:100px minmax(0,1fr); gap:16px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); }
 .discovery-192 .reading-card.is-compact .reading-cover { width:100px; height:94px; margin:0; }
 .discovery-192 .reading-card h3 { font-size:17px; line-height:1.55; }
 .discovery-192 .discovery-section-head h2 { font-size:21px; }
 .discovery-192 .discovery-section-head { margin-bottom:2px; }
 .places-grid-192 { grid-template-columns:1fr; }
 .place-card-192 { gap:12px; }
 .place-card-192.has-photo { grid-template-columns:88px minmax(0,1fr) 16px; }
 .place-card-192 img { width:88px; height:82px; }
 .update-row-192 { gap:12px; }
 .update-row-192.has-photo { grid-template-columns:72px minmax(0,1fr) 16px; }
 .update-row-192 img { width:72px; height:80px; }
 .reading-page:not(.reading-article) .reading-heading { margin:8px 0 20px; }
 .reading-page:not(.reading-article) .reading-heading h1 { font-size:29px; }
 .reading-page:not(.reading-article) .reading-heading>.reading-meta { display:none; }
 .reading-page:not(.reading-article) .reading-deck { font-size:15px; line-height:1.7; }
 .reading-topic-nav { flex-direction:row; flex-wrap:nowrap; overflow-x:auto; padding:0 0 10px; margin:20px 0; gap:8px; }
 .reading-topic-nav button { flex-shrink:0; font-size:13px; padding:9px 12px; }
 .reading-group { padding:20px 0 26px; }
 .reading-group>header { margin-bottom:10px; gap:10px; }
 .reading-group h2 { font-size:21px; margin:0; }
 .reading-group>header p { display:none; }
 .reading-grid { gap:0; }
 .reading-grid .reading-card { display:grid; grid-template-columns:96px minmax(0,1fr); gap:14px; align-items:center; border-bottom:1px solid var(--line); padding:16px 0; }
 .reading-grid .reading-cover { width:96px; height:100px; margin:0; }
 .reading-grid .reading-card h3 { font-size:17px; margin:4px 0; line-height:1.55; }
 .reading-grid .reading-card p:not(.reading-meta),.reading-grid .reading-link { display:none; }
 .reading-grid .reading-meta { font-size:12px; margin:0; }
 .social-creator-page-head h1,.cultural-profile-hero h1 { font-size:32px; line-height:1.35; }
 .social-creator-page-head { margin-bottom:20px; }
 .social-creator-page-story,.social-creator-latest,.social-creator-score { padding-block:22px; gap:16px; }
 .social-creator-score { display:none; }
 .social-creator-page-image { margin:16px 0 24px; }
 .social-creator-page-image figcaption,.cultural-profile-hero figcaption { font-size:12px; line-height:1.6; padding:10px 0; }
 .space-profile .cultural-profile-hero { gap:20px; }
 .space-profile .cultural-profile-hero blockquote { font-size:16px; line-height:1.75; margin:14px 0; }
 .space-profile .cultural-profile-section { padding:24px 0; gap:16px; }
 .space-profile .cultural-profile-section h2 { font-size:22px; line-height:1.5; }
 .space-profile .cultural-actions button.secondary-button { display:none; }
 .reading-breadcrumb a,.social-creator-page-actions :is(a,button),.cultural-actions :is(a,button) { min-height:44px; }
}
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:700px) { .image-rights-badge::after { content:""; position:absolute; width:44px; height:44px; left:50%; top:50%; transform:translate(-50%,-50%); } }

/* Release 193: literature and philosophy stay first on Discover. */
.humanities-page-193 { max-width:1080px; margin:auto; padding:32px 24px 64px; background:#fff; }
.discovery-193 .discovery-shortcuts { grid-template-columns:repeat(4,minmax(0,1fr)); }
.discovery-193 .humanities-shortcut-193 { font-weight:700; border-color:var(--ink); }
.discovery-humanities-193 { margin:24px 0 30px; padding-top:22px; border-top:2px solid var(--ink); }
.humanities-grid-193 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
.humanities-card-193 { display:flex; align-items:center; gap:16px; min-width:0; padding:18px 0; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; }
.humanities-card-193 img { flex:0 0 84px; width:84px; height:96px; object-fit:contain; background:#fff; }
.humanities-card-193>span { flex:1; min-width:0; }
.humanities-card-193 strong,.humanities-card-193 small,.humanities-card-193 em { display:block; overflow-wrap:anywhere; }
.humanities-card-193 strong { font-size:19px; line-height:1.4; }
.humanities-card-193 small { color:var(--muted); font-size:13px; line-height:1.6; margin-top:3px; }
.humanities-card-193 em { font-size:14px; line-height:1.5; font-style:normal; margin-top:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.humanities-card-193>b { font-size:18px; font-weight:400; }
.humanities-filters-193 { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.humanities-filters-193 button { font:inherit; font-size:14px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:6px; min-height:44px; padding:10px 14px; cursor:pointer; }
.humanities-filters-193 button[aria-pressed="true"] { background:var(--ink); color:#fff; border-color:var(--ink); }
.humanities-count-193 { font-size:14px; color:var(--muted); margin:20px 0 0; }
.home-humanities-193 { display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--ink); text-decoration:none; border-top:2px solid var(--ink); border-bottom:1px solid var(--line); padding:18px 0; margin:0 0 24px; }
.home-humanities-193 strong,.home-humanities-193 small { display:block; }
.home-humanities-193 strong { font-size:22px; line-height:1.4; }
.home-humanities-193 small { color:var(--muted); font-size:14px; line-height:1.5; margin-top:5px; }
.home-humanities-193>b { font-size:23px; font-weight:400; }
.humanities-card-193:focus-visible,.home-humanities-193:focus-visible,.humanities-filters-193 button:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
@media(max-width:700px) {
 .humanities-page-193 { padding:22px 16px 48px; }
 .discovery-193 .discovery-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .discovery-humanities-193 .discovery-section-head { align-items:center; gap:8px; }
 .discovery-humanities-193 .discovery-section-head h2 { font-size:23px; }
 .discovery-humanities-193 .discovery-section-head .reading-link { flex-shrink:0; font-size:13px; }
 .humanities-grid-193 { grid-template-columns:minmax(0,1fr); }
 .humanities-card-193 { gap:12px; padding:14px 0; }
 .humanities-card-193 img { flex-basis:70px; width:70px; height:82px; }
 .humanities-card-193 strong { font-size:18px; }
 .humanities-filters-193 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .humanities-filters-193 button { padding:10px 6px; }
 .home-humanities-193 strong { font-size:21px; }
 html[lang="en"] .discovery-humanities-193 .discovery-section-head { align-items:flex-start; flex-wrap:wrap; }
}

/* Persistent back navigation on detail and directory pages. */
.page-back-194 { position:sticky; top:64px; z-index:45; background:#fff; border-bottom:1px solid var(--line); }
.page-back-194[hidden] { display:none !important; }
.page-back-194>div { max-width:1080px; margin:auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; min-height:52px; gap:16px; }
.page-back-194 button,.page-back-194 a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:64px; min-height:44px; border:0; border-radius:4px; padding:8px 10px; background:#fff; color:var(--ink); font:inherit; font-size:15px; text-decoration:none; cursor:pointer; }
.page-back-194 button { font-weight:650; }
.page-back-194 a { color:var(--muted); }
.page-back-194 button:focus-visible,.page-back-194 a:focus-visible { outline:2px solid var(--ink); outline-offset:-2px; }
@media(max-width:720px) { .page-back-194 { top:58px; } .page-back-194>div { padding:0 6px; min-height:48px; } }
@media(prefers-reduced-motion:reduce) { .page-back-194 { scroll-behavior:auto; } }

/* Release 195: short browse lists; one search entry; white mobile surfaces. */
.artist-directory-controls:has(#artistDirectorySearch) { grid-template-columns:minmax(0,1fr) minmax(100px,.35fr); }
.artist-directory-controls label[hidden] { display:none!important; }
.search-hint-195,.search-count-195 { color:var(--muted);margin:12px 0 18px; }
.search-results-195 { display:grid;gap:0; }
.search-results-195>a { padding:14px 2px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--ink);text-decoration:none;min-width:0; }
.search-results-195 strong { font-size:18px;display:block;margin:4px 0; }
.search-results-195 small { color:var(--muted);font-size:12px; }
.search-results-195 p { margin:5px 0 0;color:var(--muted);font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.search-results-195>a>b { font-weight:400; }
.browse-grid-195 { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.browse-card-195 { min-width:0;display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding:16px 0; }
.browse-card-195 img { width:84px;height:84px;object-fit:cover;background:#fff;flex-shrink:0;border:1px solid var(--line); }
.browse-card-195 span { min-width:0;flex:1; }
.browse-card-195 strong { font-size:17px;line-height:1.5;display:block;overflow-wrap:anywhere; }
.browse-card-195 small { color:var(--muted);font-size:13px;line-height:1.5;display:block;margin-top:6px; }
.browse-card-195>b { font-weight:400; }
.record-section-195 { padding:26px 0;border-top:1px solid var(--line);max-width:850px; }
.record-section-195 h2 { font-size:24px;line-height:1.45;margin:0 0 16px; }
.record-section-195 p,.media-intro-195 { line-height:1.85;font-size:16px; }
.record-section-195 time { color:var(--muted);font-size:13px;display:block;margin:10px 0; }
.discovery-media-195 { margin:36px 0; }
.browse-card-195:focus-visible,.search-results-195>a:focus-visible { outline:2px solid var(--ink);outline-offset:4px; }
@media(max-width:900px){.browse-grid-195{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.browse-grid-195{grid-template-columns:1fr;gap:0;}.browse-card-195{padding:14px 0;}.record-section-195{padding:22px 0;}.record-section-195 h2{font-size:21px;}.discovery-shortcuts{flex-wrap:wrap;}.discovery-shortcuts>*{min-height:44px;}.artist-directory-controls:has(#artistDirectorySearch){grid-template-columns:minmax(0,1fr) 108px;}}
.browse-page-195 { max-width:1120px; margin:0 auto; padding:30px 24px 70px; }
.media-profile-195 .cultural-profile-hero img { object-fit:contain; background:#fff; }
@media(max-width:700px) {
 .browse-page-195 { padding:22px 16px 48px; }
 .media-profile-195 .cultural-profile-hero>div { order:0; }
 .media-profile-195 .cultural-profile-hero>figure { order:1; margin:0; }
 .media-profile-195 .cultural-profile-hero img { width:100%; height:auto; max-height:280px; aspect-ratio:auto; object-fit:contain; }
 .media-profile-195 .cultural-profile-hero h1 { font-size:32px; margin-block:8px 16px; }
 .media-profile-195 .cultural-profile-hero .overline { margin-top:0; }
}
@media(max-width:700px) { .media-profile-195 .cultural-profile-hero { flex-direction:column; } }
@media(max-width:700px) { .social-creator-page { padding-top:22px; } .social-creator-page-head .text-button { margin-bottom:8px; } }

/* Release 195: disclosure applies to editorial text, not the source artworks. */
/* Compact search and creator rotation. */
[hidden] { display:none !important; }
.search-categories-197 {display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px;}
.search-categories-197 button {min-height:44px;padding:8px 12px;border:1px solid #d8dde1;border-radius:22px;background:#fff;color:#454d55;font:inherit;font-size:13px;cursor:pointer;}
.search-categories-197 button[aria-pressed="true"] {background:#20262b;color:#fff;border-color:#20262b;}
.search-categories-197 button:focus-visible {outline:2px solid #3574bd;outline-offset:3px;}
.creator-discovery-197 {margin:24px 0 32px;}
.creator-discovery-197 .browse-grid-195 {grid-template-columns:repeat(2,minmax(0,1fr));}
.creator-discovery-197 .browse-card-195 {align-items:start;grid-template-columns:64px minmax(0,1fr);gap:12px;}
.creator-discovery-197 .browse-card-195 img {width:64px;height:76px;object-fit:cover;}
.creator-discovery-197 .browse-card-195:not(.has-photo) {grid-template-columns:1fr;}
.creator-discovery-197 .browse-card-195>b {display:none;}
.creator-discovery-197 .browse-card-195 small {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.creator-discovery-197 .reading-link {min-height:44px;background:#fff;border:0;cursor:pointer;}
.ai-text-caption197 {display:block;clear:both;margin:12px 0 8px;padding:0;font-size:12px;line-height:1.6;font-weight:400;color:#68717a;background:transparent;letter-spacing:normal;text-align:left;}
#app > .ai-text-caption197 {width:100%;box-sizing:border-box;}
@media(max-width:520px) {.creator-discovery-197 .browse-grid-195 {grid-template-columns:1fr;} .creator-discovery-197 .browse-card-195 img {height:64px;} .artist-directory-search input {font-size:16px;} }

/* Mobile browsing: concise cards; full works and actions stay in the story. */
.home-198 .social-intro{padding:24px 0 16px;margin:0}
.home-198 .social-intro h1{font-size:28px;line-height:1.25;letter-spacing:-.025em}
.home-198 .social-intro p{margin:8px 0 0;font-size:14px;line-height:1.5}
.home-198 .home-humanities-193{margin:0 0 12px}
.home-shortcuts-198{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin:0 0 24px;font-size:14px}
.home-shortcuts-198 a,.home-shortcuts-198 button{padding:6px 0;text-decoration:none;color:var(--ink);background:none;border:0;font:inherit;cursor:pointer}
.home-shortcuts-198 small{color:#68717a;margin-left:4px}
.home-198 .creator-discovery-197{margin:0 0 24px}
.home-198 .creator-discovery-197 .discovery-section-head{margin-bottom:10px}
.home-198 .creator-discovery-197 h2{font-size:17px}
.home-198 .creator-discovery-197 .browse-grid-195{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-198 .creator-discovery-197 .browse-card-195{grid-template-columns:44px minmax(0,1fr);padding:10px;gap:10px;min-height:68px}
.home-198 .creator-discovery-197 .browse-card-195:not(.has-photo){grid-template-columns:minmax(0,1fr)}
.home-198 .creator-discovery-197 .browse-card-195 img{width:44px;height:48px;object-fit:contain;background:#fff}
.home-198 .creator-discovery-197 .browse-card-195 strong{font-size:14px;line-height:1.45}
.home-198 .creator-discovery-197 .browse-card-195 small{display:none}
.home-198 .creator-discovery-197 .browse-card-195 b{display:none}
.home-198 .social-feed-shell{padding-top:0}
.home-198 .social-feed-list.home-grid-198{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px 16px;padding:16px 0 0}
.home-story-card-198{min-width:0;background:#fff;border:1px solid #e5e8eb;border-radius:12px;overflow:hidden}
.home-story-link-198{display:block;color:inherit;text-decoration:none;min-width:0}
.home-story-image-198{position:relative;aspect-ratio:4/3;background:#fff}
.home-story-image-198 img{width:100%;height:100%;display:block;object-fit:contain;background:#fff}
.home-story-copy-198{padding:12px}
.home-story-copy-198 h2{font-size:17px;line-height:1.5;font-weight:600;letter-spacing:0;margin:0 0 8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.home-story-copy-198 p{font-size:13px;line-height:1.5;color:#4f5963;margin:0;overflow-wrap:anywhere}
.home-story-copy-198 small{display:block;font-size:12px;color:#68717a;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}
.home-story-card-198.is-text-card .home-story-copy-198{padding:20px 14px;min-height:150px;display:flex;flex-direction:column;justify-content:center}
.story-detail-198{max-width:760px;margin:0 auto;padding:32px 24px 60px;overflow-wrap:anywhere}
.story-detail-198 h1{font-size:32px;line-height:1.4;letter-spacing:-.025em;margin:12px 0 24px}
.story-byline-198{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;line-height:1.6;color:#68717a;margin:0}
.story-byline-198 a{color:var(--ink);text-decoration:none}
.story-figure-198{position:relative;margin:0 0 24px;background:#fff}
.story-figure-198 img{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain;background:#fff}
.story-detail-198 audio,.story-detail-198 video{display:block;width:100%;max-width:100%;margin:0 0 24px}
.story-text-198 p{font-size:17px;line-height:1.9;white-space:pre-line;margin:0 0 24px}
.story-sources-198,.story-actions-198{display:flex;flex-wrap:wrap;gap:12px 18px;margin:20px 0}
.story-sources-198 a{font-size:14px;color:#536071;text-underline-offset:4px}
.story-actions-198{border-top:1px solid #e5e8eb;padding-top:20px;gap:10px}
.story-actions-198 button{min-width:44px;min-height:44px;padding:8px 14px;background:#fff;border:1px solid #dce1e6;border-radius:22px;font-size:14px;line-height:1.5;cursor:pointer;color:var(--ink)}
.story-actions-198 .social-icon-button{width:auto;height:auto;display:inline-flex;gap:6px;align-items:center}
.story-actions-198 button[aria-pressed=true]{border-color:#183f4c;background:#f3f7f9}
.story-ark-note-198{font-size:12px;line-height:1.6;color:#68717a;margin:0}
.legal-page.legal-page-198{max-width:780px;margin:0 auto;padding:32px 24px 64px}
.legal-page-198 h1{font-size:30px;line-height:1.35;letter-spacing:-.025em;margin:0 0 14px}
.legal-page-198 .lead{font-size:16px;line-height:1.75;margin:0}
.legal-updated-198{font-size:12px;line-height:1.6;color:#68717a;margin:10px 0 0}
.legal-page-198 .legal-section-list{margin-top:28px}
.legal-page-198 .legal-section-list article{display:block;padding:20px 0;gap:0}
.legal-page-198 .legal-section-list article:first-child{padding-top:0}
.legal-page-198 .legal-section-list h2{font-size:17px;line-height:1.5;margin:0 0 8px}
.legal-page-198 .legal-section-list p{font-size:15px;line-height:1.85;margin:0;color:#4f5963;overflow-wrap:anywhere}
.legal-page-198 .legal-section-list a{color:#254d64;text-decoration:underline;text-underline-offset:3px}
.legal-page-198 .support-request-form{margin-top:28px}
.legal-page-198 .support-request-form .form-note{font-size:13px;line-height:1.75}
.legal-page-198 .access-consent{font-size:14px;line-height:1.7}
.legal-page-198 .support-request-form select{font-size:16px}
@media(max-width:600px){
  .home-198 .social-intro{padding-top:18px}
  .home-198 .social-intro h1{font-size:25px}
  .home-198 .social-feed-list.home-grid-198{gap:18px 10px}
  .home-story-copy-198{padding:10px}
  .home-story-copy-198 h2{font-size:15px;margin-bottom:6px}
  .home-story-copy-198 p{font-size:12px}
  .home-story-copy-198 small{font-size:11px}
  .home-198 .creator-discovery-197 .browse-grid-195{gap:10px}
  .home-198 .creator-discovery-197 .browse-card-195{padding:8px;gap:8px;grid-template-columns:34px minmax(0,1fr)}
  .home-198 .creator-discovery-197 .browse-card-195 img{width:34px;height:44px}
  .home-198 .creator-discovery-197 .browse-card-195 strong{font-size:13px}
  .home-shortcuts-198{gap:8px 18px;font-size:13px;margin-bottom:20px}
  .story-detail-198,.legal-page.legal-page-198{padding:24px 20px 48px}
  .story-detail-198 h1{font-size:25px;margin:10px 0 20px}
  .story-text-198 p{font-size:16px;line-height:1.85}
  .legal-page-198 h1{font-size:27px}
  .legal-page-198 .lead{font-size:15px}
}

.home-198 .creator-discovery-197 .discovery-section-head{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.home-198 .creator-discovery-197 .discovery-section-head h2{margin:0}
.home-198 .social-intro p{display:none}
.home-198 .home-humanities-193{padding:14px 0}

.home-198 .creator-discovery-197 .discovery-section-head h2{width:auto;flex:1}
.home-198 .creator-discovery-197 .discovery-section-head button{flex:0 0 auto;white-space:nowrap}

/* Each column continues below its previous card without reserving a shared row. */
.home-198 .social-feed-list.home-grid-198{--home-card-gap-199:12px;gap:12px;padding-top:10px}
.home-198 .home-grid-198.is-masonry-199{display:block;position:relative;overflow-anchor:none}
.home-grid-198.is-masonry-199>.home-story-card-198{position:absolute;width:calc((100% - var(--home-card-gap-199)) / 2);margin:0}
.home-story-card-198.is-text-card .home-story-copy-198{min-height:0;padding:12px;display:block}
.home-story-copy-198 h2{margin-bottom:6px}
.home-198 .social-intro{padding:16px 0 12px}
.home-198 .home-humanities-193{padding:12px 0;margin-bottom:8px}
.home-198 .home-shortcuts-198{margin-bottom:12px;gap:8px 18px}
.home-198 .creator-discovery-197{margin-bottom:16px}
.home-198 .creator-discovery-197 .discovery-section-head{margin-bottom:4px}
.home-198 .creator-discovery-197 .browse-card-195{min-height:58px;padding-block:6px}
.home-198 .social-feed-mode{min-height:52px;padding-block:4px}
.home-198 .social-feed-toolbar{min-height:50px}
.home-198 .social-feed-tabs{padding-block:5px}
.home-198 .social-load-more{margin-top:12px}
@media(max-width:600px){
  .home-198 .social-feed-list.home-grid-198{--home-card-gap-199:10px;gap:10px;padding-top:8px}
  .home-story-card-198.is-text-card .home-story-copy-198{padding:10px}
  .home-198 .social-intro{padding-top:14px}
}

.home-story-image-198.has-natural-size-199{aspect-ratio:auto}
.home-story-image-198.has-natural-size-199 img{height:auto}

/* Readable, compact ARK instructions. */
.method-page-200 .experience-how { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 28px; margin:24px 0 18px; }
.method-page-200 .experience-how article { padding-top:14px; }
.method-page-200 .experience-how h2 { display:flex; align-items:center; gap:9px; margin:0 0 8px; font-size:19px; }
.method-page-200 .experience-how p { margin:0; line-height:1.7; }
.method-step-200 { display:inline-grid; place-items:center; width:24px; height:24px; border:1px solid var(--line); border-radius:50%; font-size:13px; flex-shrink:0; }
.method-page-200 .method-fair-note { margin:8px 0; color:var(--muted); font-size:13px; line-height:1.65; }
.method-page-200 .profile-actions { margin-top:20px; }
@media(max-width:680px) {
 .method-page-200 .experience-how { grid-template-columns:1fr; gap:16px; margin:20px 0 16px; }
 .method-page-200 .experience-how h2 { font-size:18px; }
 .method-page-200 .experience-how p { font-size:15px; }
}

/* Reviewed creator profile editing. */
.profile-editor204,.pe-admin204{max-width:980px;margin-inline:auto;color:#171b22;background:#fff;overflow-wrap:anywhere}
.profile-editor204 h1{font-size:clamp(24px,5vw,38px);line-height:1.25;margin:18px 0 12px}
.profile-editor204 .access-form{width:100%;max-width:none;margin-top:16px}
.pe-edit-form204 fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:18px}
.pe-edit-form204 fieldset:disabled{opacity:.75}
.profile-editor204 label,.pe-claim-review204 label{display:grid;gap:7px;font-size:15px}
.profile-editor204 .access-consent,.pe-claim-review204 .access-consent{display:flex;align-items:flex-start;gap:10px}
.profile-editor204 input:not([type=checkbox]),.profile-editor204 textarea,.profile-editor204 select{width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.6;padding:10px 12px;border:1px solid #ccd1d8;border-radius:8px;background:#fff;color:#171b22}
.profile-editor204 textarea{resize:vertical;white-space:pre-wrap}
.profile-editor204 details{border:1px solid #e2e5e9;border-radius:10px;padding:12px}
.profile-editor204 summary{cursor:pointer;min-height:32px;line-height:1.6}
.profile-editor204 details[open]>summary{margin-bottom:12px}
.pe-history204,.pe-notice204{font-size:14px;margin:16px 0}
.pe-prose204{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:16px}
.pe-prose204 span,span.pe-prose204{display:block}
.pe-status204{min-height:24px;font-size:14px;line-height:1.7;color:#45505c}
.pe-error204{color:#a12131}
.pe-work204{padding:14px;border:1px solid #dce0e5;border-radius:12px;margin:12px 0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px}
.pe-work204>.profile-actions{grid-column:1/-1;gap:16px;margin:0}
.pe-work-image204 img{width:100%;max-height:220px;object-fit:contain;display:block;background:#fff}
.pe-work-fields204{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pe-work-fields204>label:nth-last-child(-n+2){grid-column:1/-1}
.pe-gallery204{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.pe-gallery204 figure{margin:0;min-width:0}
.pe-image-button204{border:0;padding:0;width:100%;display:block;cursor:zoom-in;background:#fff}
.pe-gallery204 img{width:100%;height:auto;object-fit:contain;display:block}
.pe-gallery204 figcaption{padding:8px 0;display:grid;gap:4px;color:#58616b;font-size:14px}
.pe-gallery204 figcaption strong{color:#171b22;font-weight:600}
.pe-profile-content204>section{margin:0 0 28px}
.pe-profile-content204 h2{font-size:23px;line-height:1.4;margin:0 0 14px}
.pe-published204{max-width:1100px;margin-inline:auto}
.pe-reviewed204{display:block;color:#626c77;font-size:13px;margin-top:12px}
.pe-updated-hero204{grid-template-columns:1fr!important;min-height:0!important}
.pe-review-compare204{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pe-review-column204{min-width:0;border:1px solid #dce0e5;padding:16px;border-radius:10px}
.pe-review-column204 .pe-gallery204{grid-template-columns:1fr}
.pe-preview204{width:min(900px,calc(100% - 24px));max-height:90dvh;box-sizing:border-box;padding:20px;border:1px solid #dce0e5;border-radius:14px;background:#fff;color:#171b22;overflow:auto}
.pe-preview204::backdrop{background:rgba(0,0,0,.7)}
.pe-preview204>button{position:sticky;top:0;z-index:1;margin-bottom:16px}
.pe-image-view204 img{width:100%;height:auto;object-fit:contain}
.pe-public-entry204{margin-top:16px}
.pe-claim-review204{border:1px solid #dce0e5;padding:16px;border-radius:10px;margin:16px 0}
[data-profile-editor204][aria-busy=true] [data-pe-edit] button,[data-profile-editor204][aria-busy=true] [data-pe-upload]{pointer-events:none;opacity:.55}
@media(max-width:600px){.profile-editor204{padding-inline:16px}.pe-work204{grid-template-columns:88px minmax(0,1fr);gap:10px;padding:10px}.pe-work-fields204{grid-template-columns:1fr}.pe-gallery204{gap:12px}.pe-review-compare204{grid-template-columns:1fr}.pe-edit-form204 .profile-actions{display:flex;flex-wrap:wrap;gap:10px}.pe-edit-form204 .profile-actions>button{min-height:44px}.pe-profile-content204>section{margin-bottom:22px}.pe-published204{padding-inline:16px}.pe-work204 details{padding:8px}}

/* Reviewed profiles share the same reading width across all page types. */
.pe-updated-cultural209 { grid-template-columns: minmax(0, 1fr); }
.cultural-profile > .pe-published204 { padding: 0; margin: 24px 0; }
.profile-editor204 input[type="search"] { width: 100%; }

/* Private claim evidence stays separate from public profile images. */
.pe-claim-form211 .pe-evidence-panel211 { margin: 0; padding: 0; border: 0; min-width: 0; }
.pe-claim-form211 [hidden] { display: none !important; }
.pe-claim-form211 p, .pe-private-evidence211 p { margin: 8px 0; font-size: 14px; line-height: 1.65; color: #545963; }
.pe-claim-form211 .access-consent { align-items: flex-start; }
.pe-challenge211 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 10px 0; padding: 12px; border: 1px solid #e3e5e8; border-radius: 10px; background: #fff; }
.pe-challenge211 > span { flex-basis: 100%; font-size: 14px; }
.pe-challenge211 > strong { font-size: 22px; letter-spacing: 2px; color: #181b21; }
.pe-evidence-images211 { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin: 10px 0; }
.pe-evidence-images211 figure { margin: 0; min-width: 0; }
.pe-evidence-images211 img { display: block; width: 100%; max-height: 460px; object-fit: contain; background: #fff; border: 1px solid #e3e5e8; border-radius: 8px; }
.pe-evidence-images211 .text-button { min-height: 40px; }
.pe-claim-history211 { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 12px 0; }
.pe-claim-history211 p { margin: 0; }
.pe-private-evidence211 { padding: 12px; margin: 10px 0; border: 1px solid #e3e5e8; border-radius: 10px; background: #fff; }
.pe-private-evidence211 .pe-evidence-images211 { grid-template-columns: 1fr; }
.pe-claim-meta211 { font-size: 14px; color: #545963; }
@media (max-width: 600px) { .pe-claim-form211 .pe-evidence-images211 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pe-private-evidence211 { padding: 10px; } }

/* Filing links remain together and wrap between complete numbers on phones. */
.site-footer .site-filings212 {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px 18px;
  text-align: left;
}
.site-footer .site-filings212 a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  line-height: 1.6;
  white-space: nowrap;
}
.site-footer .site-filings212 img {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  object-fit: contain;
}

/* Release 214: one compact, evidence-based activity display for every profile type. */
.activity-badge214 {
  display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 3px;
  max-width: 100%; margin: 4px 0 2px 7px; padding: 3px 7px;
  border: 1px solid #e2e6e4; border-radius: 7px; background: #fff;
  color: #56635d; font-weight: 500; font-family: inherit;
  font-size: 11px; line-height: 1.5; letter-spacing: 0; vertical-align: middle;
  cursor: pointer; text-align: left; white-space: normal;
}
.activity-badge214 > span, .activity-badge214 > b { font-size: inherit; line-height: inherit; letter-spacing: 0; }
.activity-badge214 > b { font-weight: 650; color: inherit; }
.activity-badge214.activity-positive214 { color: #346253; }
.activity-badge214.activity-negative214 { color: #765f58; }
.activity-badge214:focus-visible { outline: 2px solid #456d5d; outline-offset: 3px; }
.browse-card-195, .search-results-195 > a, [data-directory-artist], [data-directory-node] { flex-wrap: wrap; }
.browse-card-195 > .activity-badge214, .search-results-195 > a > .activity-badge214 { margin-left: 0; flex-basis: auto; }
.activity-dialog214 { width: min(560px, calc(100vw - 28px)); max-height: min(760px, 88dvh); padding: 24px; background: #fff; color: #26332d; overflow-y: auto; border: 1px solid #e2e6e4; }
.activity-dialog-head214 { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.activity-dialog-head214 h2 { margin: 0; font-size: 22px; overflow-wrap: anywhere; }
.activity-dialog-head214 button { flex: 0 0 36px; }
.activity-intro214 { color: #617168; font-size: 13px; line-height: 1.8; margin: 18px 0; }
.activity-total214 { font-size: 14px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; }
.activity-total214 strong { font-size: 26px; font-variant-numeric: tabular-nums; }
.activity-dimensions214 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; margin: 18px 0 24px; }
.activity-dimensions214 > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 10px 0; border-bottom: 1px solid #e9ecea; font-size: 12px; }
.activity-dimensions214 b { font-weight: 500; color: #52665a; font-variant-numeric: tabular-nums; }
.activity-dialog214 h3 { font-size: 14px; }
.activity-reasons214 { list-style: none; padding: 0; margin: 0; }
.activity-reasons214 li { display: grid; gap: 4px; margin: 0 0 15px; font-size: 13px; line-height: 1.65; }
.activity-reasons214 time, .activity-date214 { font-size: 11px; color: #6b7971; }
.activity-reasons214 a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
@media (max-width: 480px) {
  .activity-dialog214 { padding: 18px; }
  .activity-dimensions214 { grid-template-columns: 1fr; }
  h1 .activity-badge214 { margin-left: 0; }
  .activity-badge214 { font-size: 10px; padding: 2px 5px; }
}

.activity-badge214, .browse-card-195 .activity-badge214, .humanities-card-193 .activity-badge214 { flex: 0 1 auto; min-width: 0; }
.activity-badge214 > span, .browse-card-195 .activity-badge214 > span { flex: 0 0 auto; }
.humanities-card-193 { flex-wrap: wrap; }
.humanities-card-193 > .activity-badge214 { margin-left: 0; }

/* Prepare the next route without displaying an outgoing page during a fade. */
.app { transition: none; }
.app.is-switching { visibility: hidden; opacity: 0; transform: none; }

/* Release 216: show direction only; pending records reserve space without implying steady. */
.activity-badge214,
.browse-card-195 .activity-badge214,
.humanities-card-193 .activity-badge214 {
  display: inline-flex;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  margin: 0 0 0 4px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  vertical-align: middle;
  line-height: 1;
}
.activity-symbol214 { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex: 0 0 20px; }
.activity-symbol214 svg { display: block; width: 20px; height: 20px; }
.activity-badge214:focus-visible { outline: 2px solid #456d5d; outline-offset: 2px; border-radius: 3px; }
.activity-badge214[data-activity-direction="loading"],
.activity-badge214[data-activity-direction="unavailable"] { cursor: help; }
.activity-total214 { align-items: center; gap: 10px; }
.activity-total214 strong { display: inline-flex; align-items: center; gap: 4px; font-size: 16px; font-weight: 500; }
.activity-dimensions214 b { display: inline-flex; align-items: center; gap: 3px; }
.activity-total214 [data-activity-direction="up"],
.activity-dimensions214 [data-activity-direction="up"] { color: #346253; }
.activity-total214 [data-activity-direction="down"],
.activity-dimensions214 [data-activity-direction="down"] { color: #765f58; }
@media (max-width: 480px) {
  h1 .activity-badge214 { margin-left: 4px; }
  .activity-badge214 { padding: 0; }
}

/* Keep catalogue sections covered until the current public revision is known. */
.pe-public-pending216 { display: none !important; }
.pe-public-loading216 { min-height: 96px; padding-top: 16px; padding-bottom: 16px; }
.pe-public-loading216 p { margin: 0 0 8px; color: #68717a; font-size: 14px; line-height: 1.6; }
.pe-public-loading216 .text-button { min-height: 40px; }
