:root {
  --paper: #ffffff;
  --ink: #111111;
  --muted: #62666d;
  --line: rgba(17, 17, 17, 0.12);
  --panel: #f5f6f7;
  --accent: #2f5f7f;
  --accent-dark: #171b20;
  --white: #ffffff;
  --shadow: 0 20px 60px rgba(17, 17, 17, 0.08);
  --paper-rgb: 255, 255, 255;
  --ink-rgb: 17, 17, 17;
  --muted-rgb: 98, 102, 109;
  --panel-rgb: 245, 246, 247;
  --accent-rgb: 47, 95, 127;
  --accent-dark-rgb: 23, 27, 32;
  --white-rgb: 255, 255, 255;
  --ui-radius-sm: 4px;
  --ui-radius-md: 8px;
  --ui-focus: 0 0 0 3px rgba(var(--accent-rgb), 0.22);
  --ui-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ui-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ui-motion-fast: 160ms;
  --ui-motion-base: 260ms;
}

* {
  box-sizing: border-box;
}

html {
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  margin: 0;
  overflow-x: clip;
  background: var(--paper);
  color: var(--ink);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    serif;
  line-height: 1.7;
}

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

[hidden] {
  display: none !important;
}

a {
  color: inherit;
  text-decoration: none;
}

.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.ui-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 84px;
  padding: 0 clamp(22px, 6vw, 84px);
  background: transparent;
  transition:
    background 220ms ease,
    border-color 220ms ease,
    color 220ms ease,
    backdrop-filter 220ms ease;
}

.brand-mark {
  display: inline-flex;
  align-items: baseline;
  gap: 9px;
  color: var(--ink);
  font-family: Georgia, serif;
  font-size: 18px;
  letter-spacing: 0;
  transition: color 220ms ease;
}

.brand-mark span:first-child {
  font-family: Georgia, serif;
  font-size: 25px;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 4vw, 40px);
  color: var(--ink);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 15px;
  transition: color 220ms ease;
}

.site-nav a {
  transition:
    color 180ms ease,
    border-color 180ms ease;
}

.site-nav a:hover,
.site-nav a[aria-current="page"] {
  color: var(--ink);
}

.home-page .site-header {
  color: rgba(var(--white-rgb), 0.86);
  background: linear-gradient(180deg, rgba(var(--ink-rgb), 0.18) 0%, rgba(var(--ink-rgb), 0) 100%);
  border-bottom-color: transparent;
}

.home-page .brand-mark,
.home-page .site-nav {
  color: rgba(var(--white-rgb), 0.9);
  text-shadow:
    0 1px 12px rgba(var(--ink-rgb), 0.5),
    0 0 1px rgba(var(--ink-rgb), 0.34);
}

.home-page .site-nav a:hover {
  color: var(--white);
}

.home-page.is-scrolled .site-nav a:hover {
  color: var(--accent);
}

.home-page.is-scrolled .site-header {
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.08);
  background: rgba(var(--paper-rgb), 0.9);
  backdrop-filter: blur(16px);
}

.home-page.is-scrolled .brand-mark,
.home-page.is-scrolled .site-nav {
  color: var(--ink);
  text-shadow: none;
}

.home-account-entry.is-avatar {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(var(--white-rgb), 0.68);
  border-radius: 50%;
  background: rgba(var(--paper-rgb), 0.92);
  color: #243b45;
  font: 800 11px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  text-shadow: none;
}

.home-account-entry.is-avatar:hover,
.home-account-entry.is-avatar:focus-visible {
  border-color: var(--white);
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--white-rgb), 0.28);
  color: #1f5167;
}

.home-page.is-scrolled .home-account-entry.is-avatar {
  border-color: rgba(var(--ink-rgb), 0.2);
  background: #f1f3f4;
}

.home-page.is-scrolled .home-account-entry.is-avatar:focus-visible {
  box-shadow: var(--ui-focus);
}

.hero-stage {
  position: relative;
  height: min(92svh, 920px);
  min-height: min(680px, 92svh);
  overflow: hidden;
  background: var(--paper);
}

.hero {
  display: grid;
  position: relative;
  height: 100%;
  min-height: 0;
  padding: clamp(96px, 10vw, 132px) clamp(22px, 6vw, 84px) clamp(44px, 5vw, 68px);
  overflow: hidden;
  background: var(--ink);
  touch-action: pan-y;
}

.hero-visual,
.hero-image {
  position: absolute;
  inset: 0;
}

.hero-visual {
  z-index: 0;
  overflow: hidden;
}

.hero-image {
  background-position: center;
  background-size: cover;
  will-change: filter, opacity, transform;
}

.hero-image-abstract {
  background-image:
    linear-gradient(90deg, rgba(var(--paper-rgb), 0) 0%, rgba(var(--paper-rgb), 0.01) 44%, rgba(var(--paper-rgb), 0.08) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.24) 0%, rgba(0, 0, 0, 0.03) 58%, rgba(var(--paper-rgb), 0.06) 84%, rgba(var(--paper-rgb), 0.56) 100%),
    var(--home-hero-abstract-image, url("assets/art/hero-ci-jian.jpg"));
  filter: grayscale(1) contrast(1.22) brightness(0.9);
}

.hero-image-concrete {
  background-image:
    linear-gradient(90deg, rgba(var(--paper-rgb), 0) 0%, rgba(var(--paper-rgb), 0.01) 46%, rgba(var(--paper-rgb), 0.1) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.01) 60%, rgba(var(--paper-rgb), 0.06) 82%, rgba(var(--paper-rgb), 0.42) 100%),
    var(--home-hero-concrete-image, url("assets/art/hero-concrete.jpg"));
  filter: saturate(0.92) contrast(1.12) brightness(0.94);
  opacity: var(--hero-concrete-opacity, 0);
}

.hero::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(52vw, 680px);
  background:
    radial-gradient(ellipse at 78% 48%, rgba(var(--paper-rgb), 0.62) 0%, rgba(var(--paper-rgb), 0.36) 34%, rgba(var(--paper-rgb), 0.08) 66%, rgba(var(--paper-rgb), 0) 100%),
    linear-gradient(90deg, rgba(var(--paper-rgb), 0) 0%, rgba(var(--paper-rgb), 0.2) 72%, rgba(var(--paper-rgb), 0.34) 100%);
  content: "";
  z-index: 1;
}

.hero::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: clamp(12px, 2.4vw, 28px);
  background: var(--paper);
  clip-path: polygon(0 62%, 100% 82%, 100% 100%, 0 100%);
  content: "";
  z-index: 2;
}

.hero-copy {
  position: relative;
  z-index: 3;
  align-self: center;
  justify-self: end;
  width: min(500px, 40vw);
  padding: clamp(20px, 3vw, 34px) 0 0;
  text-align: left;
  text-shadow: 0 1px var(--hero-copy-shadow-blur, 24px) rgba(var(--paper-rgb), var(--hero-copy-shadow-alpha, 0.56));
  transform: translateY(calc(3vh + var(--hero-copy-shift, 0px)));
  opacity: 1;
}

.hero-copy-text {
  display: grid;
  margin-bottom: 24px;
}

.hero-copy-panel {
  grid-area: 1 / 1;
}

.hero-copy-panel-abstract {
  opacity: var(--hero-copy-abstract-opacity, 1);
  transform: translateY(var(--hero-copy-abstract-panel-shift, 0));
}

.hero-copy-panel-concrete {
  opacity: var(--hero-copy-concrete-opacity, 0);
  transform: translateY(var(--hero-copy-concrete-panel-shift, 10px));
}

.hero-copy .eyebrow {
  color: rgba(var(--accent-dark-rgb), 0.76);
}

.hero-copy h1 {
  max-width: 500px;
  margin-bottom: 14px;
  color: rgba(var(--ink-rgb), var(--hero-title-alpha, 0.88));
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 4.55vw, 66px);
  font-weight: 400;
  line-height: 1.08;
  text-transform: none;
}

.eyebrow,
.section-kicker {
  margin: 0 0 18px;
  color: var(--ink);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
}

h1,
h2,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: 22px;
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: clamp(38px, 5.4vw, 78px);
  font-weight: 800;
  line-height: 1.04;
  text-transform: uppercase;
}

h2 {
  margin-bottom: 0;
  font-size: clamp(30px, 4vw, 56px);
  font-weight: 400;
  line-height: 1.08;
}

.hero-statement {
  margin: 0;
  max-width: 440px;
  color: rgba(var(--ink-rgb), var(--hero-statement-alpha, 0.74));
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.58;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 13px;
  border: 1px solid var(--ink);
  border-radius: 5px;
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition:
    transform 180ms ease,
    background 180ms ease,
    color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.button:hover {
  transform: translateY(-1px);
}

.button:focus-visible {
  outline: 2px solid rgba(var(--accent-rgb), 0.78);
  outline-offset: 3px;
}

.button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
  transform: none;
}

.button-primary {
  border-color: rgba(var(--ink-rgb), 0.82);
  background: rgba(var(--ink-rgb), 0.88);
  color: var(--white);
}

.button-secondary {
  border-color: rgba(var(--ink-rgb), 0.42);
  background: transparent;
  color: var(--ink);
}

.statement-section,
.works-section,
.contact-section {
  padding: clamp(58px, 9vw, 116px) clamp(20px, 5vw, 72px);
  border-top: 1px solid var(--line);
  scroll-margin-top: 100px;
}

.statement-section {
  position: relative;
  padding-top: clamp(68px, 8vw, 104px);
  padding-bottom: clamp(68px, 8vw, 108px);
  overflow-x: clip;
  background: var(--paper);
}

.statement-section::after {
  display: block;
  width: min(520px, 100%);
  height: 1px;
  margin-top: clamp(34px, 5vw, 62px);
  background: rgba(var(--accent-rgb), 0.48);
  content: "";
  transition: width 900ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 980ms;
}

.statement-section.is-animating::after {
  width: 0;
}

.statement-section.is-animating.is-visible::after {
  width: min(520px, 100%);
}

.works-section {
  padding-top: clamp(16px, 2.5vw, 28px);
  overflow: hidden;
}

.statement-intro,
.statement-moments,
.statement-cta {
  max-width: 1360px;
  margin: 0 auto;
}

.statement-intro {
  display: grid;
  margin-bottom: clamp(36px, 5vw, 64px);
  color: var(--accent-dark);
  transition:
    opacity 820ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 820ms cubic-bezier(0.22, 1, 0.36, 1);
}

.statement-kicker {
  margin-bottom: 22px;
}

.statement-intro h2 {
  max-width: 820px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 6vw, 86px);
  font-weight: 400;
  line-height: 0.98;
}

.statement-moments {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(54px, 6vw, 82px) clamp(24px, 4vw, 54px);
}

.statement-moment {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(20px, 2.4vw, 30px);
  align-content: start;
  min-width: 0;
}

.statement-moment:nth-child(even) .statement-media {
  grid-column: auto;
}

.statement-moment:nth-child(even) .statement-moment-copy {
  grid-column: auto;
  grid-row: auto;
}

.statement-media {
  position: relative;
  width: 100%;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-top: 1px solid rgba(var(--muted-rgb), 0.3);
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.22);
  background: rgba(var(--panel-rgb), 0.72);
  opacity: 1;
  transform: translateX(0);
  transition:
    opacity 880ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 880ms cubic-bezier(0.22, 1, 0.36, 1);
}

.statement-moment:nth-child(2) .statement-media,
.statement-moment:nth-child(4) .statement-media {
  aspect-ratio: 4 / 3;
}

.statement-moment:nth-child(3) .statement-media {
  aspect-ratio: 4 / 3;
}

.statement-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.08);
}

.statement-moment:nth-child(even) .statement-media img {
  filter: saturate(0.72) contrast(1.05) brightness(0.96);
}

.statement-moment-copy {
  display: grid;
  gap: clamp(18px, 2vw, 24px);
  max-width: 620px;
  padding-top: clamp(16px, 2vw, 24px);
  border-top: 1px solid rgba(var(--accent-rgb), 0.32);
  color: var(--accent-dark);
  transition:
    opacity 820ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 820ms cubic-bezier(0.22, 1, 0.36, 1);
}

.statement-index {
  color: rgba(var(--accent-rgb), 0.72);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.statement-moment-copy p {
  max-width: 680px;
  margin: 0;
  color: rgba(var(--accent-dark-rgb), 0.92);
  font-size: clamp(18px, 1.55vw, 24px);
  line-height: 1.55;
}

.statement-cta {
  margin-top: clamp(42px, 7vw, 86px);
  transition:
    opacity 820ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 820ms cubic-bezier(0.22, 1, 0.36, 1);
}

.statement-cta .button {
  width: max-content;
  min-width: 168px;
}

.statement-section.is-animating .statement-intro,
.statement-section.is-animating .statement-cta {
  opacity: 0.88;
  transform: translateY(8px);
}

.statement-section.is-animating .statement-moment .statement-media {
  opacity: 0.78;
  transform: translateY(12px);
}

.statement-section.is-animating .statement-moment:nth-child(even) .statement-media {
  transform: translateY(12px);
}

.statement-section.is-animating .statement-moment .statement-moment-copy {
  opacity: 0.82;
  transform: translateY(10px);
}

.statement-section.is-animating.is-visible .statement-intro,
.statement-section.is-animating.is-visible .statement-cta {
  opacity: 1;
  transform: translateY(0);
}

.statement-section.is-animating .statement-moment.is-visible .statement-media,
.statement-section.is-animating .statement-moment.is-visible .statement-moment-copy {
  opacity: 1;
  transform: translate(0);
}

.statement-section.is-animating .statement-moment.is-visible .statement-moment-copy {
  transition-delay: 140ms;
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.marquee-gallery {
  --gallery-height: clamp(300px, 42vw, 540px);
  --gallery-gap: clamp(18px, 2.4vw, 34px);
  display: flex;
  width: calc(100% + clamp(40px, 10vw, 144px));
  margin: clamp(26px, 4vw, 48px) calc(clamp(20px, 5vw, 72px) * -1) 0;
  overflow: hidden;
}

.marquee-track {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--gallery-gap);
  min-width: max-content;
  padding-right: var(--gallery-gap);
  animation: gallery-marquee 68s linear infinite;
}

.marquee-gallery:hover .marquee-track {
  animation-play-state: paused;
}

.marquee-item {
  flex: 0 0 auto;
  height: var(--gallery-height);
  margin: 0;
}

.marquee-item img {
  width: auto;
  max-width: none;
  height: 100%;
  object-fit: contain;
  opacity: 0.96;
  transition:
    filter 420ms ease,
    opacity 420ms ease,
    transform 700ms ease;
}

.marquee-item:hover img {
  filter: contrast(1.02);
  opacity: 1;
  transform: translateY(-6px) scale(1.006);
}

@keyframes gallery-marquee {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.contact-section {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  background: var(--accent-dark);
  color: var(--white);
}

.contact-section .section-kicker {
  color: rgba(var(--white-rgb), 0.66);
}

.contact-section p {
  margin-bottom: 0;
  color: rgba(var(--white-rgb), 0.72);
  font-size: 17px;
}

.contact-section .button-primary {
  border-color: var(--white);
  background: var(--white);
  color: var(--ink);
}

.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 24px clamp(20px, 5vw, 72px);
  border-top: 1px solid rgba(var(--white-rgb), 0.12);
  background: var(--accent-dark);
  color: rgba(var(--white-rgb), 0.68);
  font-size: 13px;
}

.contact-page {
  position: relative;
  min-height: 100vh;
  background: var(--paper);
}

.contact-page::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(90deg, rgba(var(--paper-rgb), 0.96), rgba(var(--paper-rgb), 0.76)),
    url("assets/art/hero-concrete.jpg");
  background-position: center;
  background-size: cover;
  content: "";
  filter: grayscale(1) blur(18px);
  opacity: 0.18;
  transform: scale(1.03);
}

.contact-main {
  max-width: 1360px;
  margin: 0 auto;
  padding: clamp(104px, 10vw, 128px) clamp(18px, 4.8vw, 68px) clamp(44px, 7vw, 82px);
}

.contact-page-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.84fr) minmax(360px, 0.66fr);
  gap: clamp(40px, 6vw, 94px);
  align-items: start;
}

.contact-page-intro {
  max-width: 760px;
}

.contact-page-intro h1 {
  max-width: 540px;
  margin-bottom: 18px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4.2vw, 58px);
  font-weight: 400;
  line-height: 1.08;
  text-transform: none;
}

.contact-page-intro p {
  max-width: 560px;
  color: var(--accent-dark);
  font-size: clamp(16px, 1.24vw, 19px);
  line-height: 1.62;
}

.contact-page-art {
  min-height: clamp(178px, 20vw, 270px);
  margin-top: clamp(22px, 3.2vw, 34px);
  background-image:
    linear-gradient(180deg, rgba(var(--ink-rgb), 0.02), rgba(var(--ink-rgb), 0.34)),
    url("assets/art/hero-ci-jian.jpg");
  background-position: center;
  background-size: cover;
  filter: grayscale(1) contrast(1.02) brightness(1.04);
}

.contact-form {
  display: grid;
  gap: 17px;
}

.contact-page-form {
  padding: clamp(14px, 1.8vw, 20px) 0 0;
  border-top: 1px solid rgba(var(--muted-rgb), 0.38);
  background: transparent;
  box-shadow: none;
}

.form-field {
  display: grid;
  gap: 8px;
}

.form-field label {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: rgba(var(--accent-dark-rgb), 0.82);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}

.form-field label span {
  color: rgba(var(--muted-rgb), 0.82);
  font-weight: 500;
}

.form-field input,
.form-field textarea,
.form-field select {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.42);
  background: transparent;
  color: var(--ink);
  font:
    15px/1.55 Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  outline: none;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.form-field input {
  min-height: 38px;
  padding: 0 0 6px;
}

.form-field select {
  min-height: 38px;
  padding: 0 24px 6px 0;
  border-radius: 0;
}

.form-field textarea {
  min-height: 124px;
  padding: 8px 0 10px;
  resize: vertical;
}

.form-field input::placeholder,
.form-field textarea::placeholder {
  color: rgba(var(--muted-rgb), 0.78);
}

.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus {
  border-color: rgba(var(--accent-dark-rgb), 0.76);
  background: rgba(var(--white-rgb), 0.12);
  box-shadow: 0 8px 18px rgba(var(--ink-rgb), 0.035);
}

.field-error {
  margin: -1px 0 0;
  color: var(--accent);
  font-size: 12px;
  line-height: 1.4;
}

.field-error:empty {
  display: none;
}

.contact-submit {
  width: max-content;
  min-width: 170px;
  min-height: 44px;
  border-color: rgba(var(--ink-rgb), 0.82);
  background: rgba(var(--ink-rgb), 0.86);
  box-shadow: 0 8px 22px rgba(var(--ink-rgb), 0.1);
}

.contact-submit:hover {
  background: rgba(var(--ink-rgb), 0.78);
  box-shadow: 0 12px 28px rgba(var(--ink-rgb), 0.12);
  filter: brightness(1.04);
}

.contact-privacy {
  margin: -4px 0 0;
  color: rgba(var(--accent-dark-rgb), 0.78);
  font-size: 12px;
  line-height: 1.5;
}

.contact-toast {
  position: fixed;
  right: clamp(16px, 4vw, 36px);
  bottom: clamp(16px, 4vw, 36px);
  z-index: 90;
  max-width: min(380px, calc(100vw - 32px));
  padding: 14px 18px;
  border: 1px solid rgba(var(--white-rgb), 0.36);
  background: rgba(var(--ink-rgb), 0.88);
  color: var(--white);
  box-shadow: 0 18px 44px rgba(var(--ink-rgb), 0.22);
  font-size: 14px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition:
    opacity 220ms ease,
    transform 220ms ease;
}

.contact-toast[data-type="error"] {
  background: rgba(var(--accent-rgb), 0.92);
}

.contact-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.archive-page {
  background: var(--paper);
}

.archive-header {
  min-height: 56px;
  background: rgba(var(--paper-rgb), 0.92);
  backdrop-filter: blur(16px);
}

.archive-header.site-header {
  padding-top: 8px;
  padding-bottom: 8px;
}

.archive-main {
  padding: 58px clamp(18px, 4.8vw, 68px) clamp(54px, 8vw, 96px);
}

.archive-hero {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.archive-hero h1 {
  max-width: 780px;
  margin-bottom: 12px;
  color: rgba(var(--ink-rgb), 0.94);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 800;
  line-height: 0.98;
  text-transform: none;
}

.archive-hero-note {
  max-width: 520px;
  margin: 0;
  color: rgba(var(--accent-dark-rgb), 0.82);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.6;
}

.archive-upload {
  display: grid;
  justify-self: end;
  width: min(100%, 230px);
}

.upload-dropzone {
  display: grid;
  gap: 4px;
  min-height: 0;
  padding: 9px 0 10px;
  border: 0;
  border-top: 1px solid rgba(var(--accent-rgb), 0.24);
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.2);
  border-radius: 0;
  background: transparent;
  color: rgba(var(--accent-dark-rgb), 0.82);
  cursor: pointer;
  transition:
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.upload-dropzone:hover {
  border-top-color: rgba(var(--accent-rgb), 0.52);
  color: var(--accent);
  transform: translateY(-1px);
}

.manage-upload-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 13px
  border: 1px solid rgba(var(--ink-rgb), 0.72);
  border-radius: 5px;
  background: rgba(var(--ink-rgb), 0.88);
  color: var(--white);
  box-shadow: 0 8px 20px rgba(var(--ink-rgb), 0.1);
}

.manage-upload-button:hover,
.manage-upload-button:focus-visible {
  border-color: rgba(var(--ink-rgb), 0.88);
  background: rgba(var(--ink-rgb), 0.78);
  color: var(--white);
  box-shadow: 0 12px 26px rgba(var(--ink-rgb), 0.13);
  outline: none;
}

.upload-title {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
}

.archive-upload input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.upload-status-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.manage-upload-status {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 30;
  width: min(420px, calc(100vw - 36px));
  max-height: min(420px, 70vh);
  padding: 10px;
  overflow-y: auto;
  border: 1px solid rgba(var(--muted-rgb), 0.2);
  border-radius: 8px;
  background: rgba(var(--paper-rgb), 0.98);
  box-shadow: 0 18px 44px rgba(var(--ink-rgb), 0.16);
}

.upload-status-item {
  display: grid;
  gap: 7px;
  padding: 9px 0 10px;
  border-top: 1px solid rgba(var(--muted-rgb), 0.14);
}

.upload-status-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  color: rgba(var(--accent-dark-rgb), 0.86);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 11px;
  line-height: 1.3;
}

.upload-status-heading strong {
  overflow: hidden;
  min-width: 0;
  font-size: 12px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upload-status-heading span {
  color: var(--muted);
  text-transform: uppercase;
  white-space: nowrap;
}

.upload-progress {
  height: 2px;
  overflow: hidden;
  background: rgba(var(--muted-rgb), 0.16);
}

.upload-progress span {
  display: block;
  height: 100%;
  background: rgba(var(--accent-rgb), 0.64);
}

.upload-status-item p {
  margin: 0;
  color: rgba(var(--muted-rgb), 0.88);
  font-size: 11px;
  line-height: 1.35;
}

.upload-status-item[data-state="complete"] .upload-status-heading span {
  color: rgba(var(--ink-rgb), 0.84);
}

.upload-status-item[data-state="warning"] .upload-status-heading span,
.upload-status-item[data-state="failed"] .upload-status-heading span {
  color: var(--accent);
}

.archive-controls {
  position: sticky;
  top: 52px;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(240px, 0.82fr) minmax(0, 1.18fr) auto;
  gap: 12px;
  align-items: center;
  margin-right: calc(clamp(18px, 4.8vw, 68px) * -1);
  margin-left: calc(clamp(18px, 4.8vw, 68px) * -1);
  padding: 10px clamp(18px, 4.8vw, 68px);
  border-top: 1px solid rgba(var(--muted-rgb), 0.14);
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.18);
  background: rgba(var(--paper-rgb), 0.94);
  backdrop-filter: blur(18px);
}

.archive-discovery-bar {
  display: contents;
}

.archive-search-group {
  min-width: 0;
}

.archive-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  min-width: 0;
  padding-left: 0;
  border-left: 0;
  order: 3;
}

.archive-filter-bar {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  order: 2;
}

.archive-filter-bar::-webkit-scrollbar {
  display: none;
}

.filter-group {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: max-content;
}

.filter-label,
.archive-count {
  color: var(--muted);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 11px;
  text-transform: uppercase;
}

.filter-options {
  display: flex;
  flex-wrap: nowrap;
  gap: 7px;
}

.archive-search-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 38px;
  border: 1px solid rgba(var(--muted-rgb), 0.2);
  border-radius: 999px;
  background: rgba(var(--white-rgb), 0.74);
  box-shadow: 0 6px 18px rgba(var(--ink-rgb), 0.035);
}

.archive-search-input {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: var(--ink);
  font:
    13px/1.45 Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  outline: none;
}

.archive-search-input::placeholder {
  color: rgba(var(--muted-rgb), 0.72);
}

.archive-search-control:focus-within {
  border-color: rgba(var(--accent-rgb), 0.62);
  background: var(--white);
  box-shadow:
    0 0 0 3px rgba(var(--accent-rgb), 0.1),
    0 14px 30px rgba(var(--ink-rgb), 0.06);
}

.archive-clear-search {
  min-height: 28px;
  margin-right: 5px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: rgba(var(--panel-rgb), 0.72);
  color: rgba(var(--accent-rgb), 0.92);
  cursor: pointer;
  font:
    11px/1 Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  text-transform: uppercase;
}

.archive-clear-search:hover,
.archive-clear-search:focus-visible {
  background: rgba(var(--panel-rgb), 0.96);
  color: var(--accent-dark);
  outline: none;
}

.filter-button {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 13px;
  border: 1px solid rgba(var(--muted-rgb), 0.18);
  border-radius: 999px;
  background: rgba(var(--white-rgb), 0.56);
  color: rgba(var(--accent-dark-rgb), 0.84);
  cursor: pointer;
  font: inherit;
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.filter-button:hover,
.filter-button.is-active {
  border-color: rgba(var(--ink-rgb), 0.72);
  background: rgba(var(--ink-rgb), 0.88);
  color: var(--white);
}

.filter-button:hover {
  transform: translateY(-1px);
}

.archive-count {
  min-width: 80px;
  text-align: right;
  white-space: nowrap;
}

.archive-arrange-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  min-width: 0;
  color: var(--muted);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 12px;
}

.archive-arrange-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 31px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: rgba(var(--accent-dark-rgb), 0.82);
  cursor: pointer;
  font: inherit;
  line-height: 1;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    opacity 180ms ease;
}

.archive-arrange-button:hover,
.archive-arrange-button:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.28);
  background: rgba(var(--white-rgb), 0.34);
  color: var(--accent);
  outline: none;
}

.archive-arrange-button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.archive-arrange-status {
  color: rgba(var(--muted-rgb), 0.78);
  font-size: 11px;
  white-space: nowrap;
}

.archive-gallery-section {
  padding-top: clamp(22px, 3vw, 36px);
}

.archive-empty-state {
  max-width: 520px;
  margin: 0;
  padding: clamp(34px, 5vw, 64px) 0;
  border-top: 1px solid rgba(var(--muted-rgb), 0.16);
  color: rgba(var(--muted-rgb), 0.88);
  font-size: 15px;
}

.archive-data-status {
  margin: 0 0 1rem;
  color: rgba(var(--muted-rgb), 0.72);
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.archive-data-status[data-state="warning"] {
  color: var(--color-text);
}

.archive-gallery {
  column-count: 4;
  column-gap: clamp(16px, 1.8vw, 24px);
}

.archive-item {
  display: inline-block;
  position: relative;
  width: 100%;
  margin: 0 0 clamp(18px, 2vw, 26px);
  break-inside: avoid;
  transition:
    border-color 180ms ease,
    opacity 180ms ease,
    transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}

.archive-gallery.is-arranging .archive-item {
  padding: 8px;
  border: 1px solid rgba(var(--muted-rgb), 0.22);
  border-radius: 4px;
  background: rgba(var(--white-rgb), 0.2);
  cursor: grab;
}

.archive-gallery.is-arranging .archive-item.is-dragging {
  opacity: 0.58;
  transform: translateY(-2px);
}

.archive-gallery.is-arranging .archive-item.is-drop-before {
  border-top-color: rgba(var(--accent-rgb), 0.8);
}

.archive-gallery.is-arranging .archive-item.is-drop-after {
  border-bottom-color: rgba(var(--accent-rgb), 0.8);
}

.archive-arrange-panel {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  margin-bottom: 8px;
  color: rgba(var(--muted-rgb), 0.86);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 11px;
}

.archive-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    opacity 180ms ease;
}

.archive-drag-handle {
  color: rgba(var(--accent-rgb), 0.72);
  cursor: grab;
}

.archive-drag-handle .ui-icon {
  fill: currentColor;
  stroke: none;
}

.archive-order-number {
  min-width: 2ch;
  color: rgba(var(--accent-dark-rgb), 0.82);
  font-variant-numeric: tabular-nums;
  text-align: center;
}

.archive-move-button {
  color: rgba(var(--accent-dark-rgb), 0.72);
}

.archive-icon-button:hover,
.archive-icon-button:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.24);
  background: rgba(var(--white-rgb), 0.42);
  color: var(--accent);
  outline: none;
}

.archive-image-frame {
  position: relative;
  aspect-ratio: var(--display-ratio, 1);
  width: 100%;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(var(--muted-rgb), 0.1);
  border-radius: 6px;
  background: rgba(var(--panel-rgb), 0.22);
  transition:
    border-color 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.archive-item img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  border-radius: 5px;
  background: transparent;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.archive-view-chip {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(var(--ink-rgb), 0.84);
  color: var(--white);
  font:
    11px/1 Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-weight: 800;
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.archive-gallery.is-arranging .archive-image-frame {
  border-radius: 2px;
}

.archive-item[role="button"] {
  cursor: zoom-in;
}

.archive-item[role="button"]:hover .archive-image-frame,
.archive-item[role="button"]:focus-visible .archive-image-frame {
  border-color: rgba(var(--accent-rgb), 0.28);
  background: rgba(var(--white-rgb), 0.74);
  box-shadow: 0 14px 34px rgba(var(--ink-rgb), 0.08);
  transform: translateY(-2px);
}

.archive-item[role="button"]:hover .archive-view-chip,
.archive-item[role="button"]:focus-visible .archive-view-chip {
  opacity: 1;
  transform: translateY(0);
}

.archive-item[role="button"]:focus-visible {
  outline: 1px solid rgba(var(--accent-rgb), 0.48);
  outline-offset: 6px;
}

.archive-gallery.is-ratio-filtered {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--ratio-card-min, 320px)), 1fr));
  align-items: start;
  column-count: initial;
  column-gap: normal;
  gap: clamp(18px, 2vw, 26px);
}

.archive-gallery.is-ratio-filtered[data-active-ratio="1:1"] {
  --ratio-card-min: 260px;
}

.archive-gallery.is-ratio-filtered[data-active-ratio="4:3"] {
  --ratio-card-min: 340px;
}

.archive-gallery.is-ratio-filtered[data-active-ratio="4:5"],
.archive-gallery.is-ratio-filtered[data-active-ratio="2:3"] {
  --ratio-card-min: 240px;
}

.archive-gallery.is-ratio-filtered[data-active-ratio="3:2"],
.archive-gallery.is-ratio-filtered[data-active-ratio="16:9"] {
  --ratio-card-min: 360px;
}

.archive-gallery.is-ratio-filtered[data-active-ratio="Panorama"] {
  --ratio-card-min: 520px;
}

.archive-gallery.is-ratio-filtered .archive-item {
  width: 100%;
  margin: 0;
}

.archive-gallery.is-ratio-filtered .archive-item img {
  width: 100%;
  max-width: 100%;
  height: 100%;
}

.archive-item[data-type="Abstract"] img {
  filter: grayscale(1) contrast(1.08);
}

.archive-item[data-type="Concrete"] img {
  filter: saturate(0.88) contrast(1.04);
}

.archive-item-meta {
  display: grid;
  gap: 7px;
  padding-top: 9px;
}

.archive-item-meta h3 {
  margin: 0;
  color: rgba(var(--ink-rgb), 0.9);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.archive-item-meta dl {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 0;
}

.archive-item-meta div {
  min-width: 0;
}

.archive-item-meta dt,
.archive-item-meta dd {
  margin: 0;
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 11px;
  line-height: 1.3;
}

.archive-item-meta dt {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  text-transform: uppercase;
}

.archive-item-meta dd {
  color: rgba(var(--muted-rgb), 0.9);
  overflow-wrap: anywhere;
}

.archive-item-meta dd + dd::before {
  content: "/";
  margin-right: 10px;
  color: rgba(var(--muted-rgb), 0.48);
}

.work-viewer {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: stretch;
  padding: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 280ms ease;
}

.work-viewer.is-open {
  opacity: 1;
  pointer-events: auto;
}

.work-viewer-backdrop {
  position: absolute;
  inset: 0;
  background: #171717;
  backdrop-filter: none;
}

.work-viewer-dialog {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100vw;
  height: 100dvh;
  max-height: none;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #171717;
  box-shadow: none;
  color: var(--ink);
  opacity: 0;
  transform: translateY(8px);
  filter: none;
  transition:
    opacity 320ms ease,
    transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.work-viewer-dialog[data-display-mode="black_white"] .work-viewer-media img,
.work-viewer-dialog[data-work-type="Abstract"] .work-viewer-media img {
  filter: grayscale(1) contrast(1.06);
}

.work-viewer-dialog[data-display-mode="color"] .work-viewer-media img,
.work-viewer-dialog[data-work-type="Concrete"] .work-viewer-media img {
  filter: saturate(0.9) contrast(1.03);
}

.work-viewer.is-open .work-viewer-dialog {
  opacity: 1;
  transform: translateY(0);
  filter: none;
}

.work-viewer-controls {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 60px;
  padding: 10px clamp(14px, 2.2vw, 30px);
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.18);
  background: #f7f7f5;
  backdrop-filter: none;
}

.work-viewer-position {
  margin: 0;
  color: rgba(var(--muted-rgb), 0.78);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.work-viewer-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.work-viewer-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: rgba(var(--accent-dark-rgb), 0.78);
  cursor: pointer;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    opacity 180ms ease;
}

.work-viewer-icon-button:hover,
.work-viewer-icon-button:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.28);
  background: rgba(var(--panel-rgb), 0.32);
  color: var(--accent);
  outline: none;
}

.work-viewer-icon-button:disabled {
  cursor: default;
  opacity: 0.34;
}

.work-viewer-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(320px, 28vw, 430px);
  height: calc(100dvh - 60px);
  min-height: 0;
  flex: 1;
}

.work-viewer-media {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  overflow: auto;
  margin: 0;
  padding: clamp(22px, 4vw, 60px);
  border-right: 1px solid rgba(var(--muted-rgb), 0.16);
  background: #171717;
}

.work-viewer-media img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(100dvh - 150px);
  object-fit: contain;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  box-shadow:
    0 22px 58px rgba(var(--ink-rgb), 0.12),
    0 2px 10px rgba(var(--ink-rgb), 0.06);
}

.work-viewer-dialog.is-zoomed .work-viewer-media {
  place-items: start center;
}

.work-viewer-dialog.is-zoomed .work-viewer-media img {
  max-width: none;
  max-height: none;
  cursor: zoom-out;
}

.work-viewer-info {
  min-width: 0;
  overflow-y: auto;
  padding: clamp(24px, 3.2vw, 46px) clamp(18px, 2.6vw, 34px);
  border-left: 1px solid rgba(var(--muted-rgb), 0.18);
  background: rgba(var(--white-rgb), 0.5);
}

.work-viewer-info h2 {
  margin: 8px 0 0;
  color: rgba(var(--ink-rgb), 0.94);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(27px, 2.4vw, 42px);
  font-weight: 500;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.work-viewer-note,
.work-viewer-statement p {
  margin: 18px 0 0;
  color: rgba(var(--accent-dark-rgb), 0.8);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 14px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.work-viewer-primary-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 22px;
}

.work-viewer-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 42px;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(var(--muted-rgb), 0.22);
  border-radius: 6px;
  background: rgba(var(--paper-rgb), 0.72);
  color: rgba(var(--accent-dark-rgb), 0.86);
  cursor: pointer;
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
}

.work-viewer-action-button .ui-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

.work-viewer-action-button:hover,
.work-viewer-action-button:focus-visible,
.work-viewer-action-button.is-active {
  border-color: rgba(var(--ink-rgb), 0.9);
  background: var(--ink);
  color: var(--paper);
  outline: none;
}

.work-viewer-metadata {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  margin: 28px 0 0;
  padding: 18px 0;
  border-top: 1px solid rgba(var(--muted-rgb), 0.18);
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.18);
}

.work-viewer-metadata div {
  min-width: 0;
}

.work-viewer-metadata dt,
.work-viewer-metadata dd {
  margin: 0;
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  line-height: 1.35;
}

.work-viewer-metadata dt {
  color: rgba(var(--muted-rgb), 0.78);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.work-viewer-metadata dd {
  margin-top: 4px;
  color: rgba(var(--accent-dark-rgb), 0.82);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.work-viewer-tags,
.work-viewer-statement,
.work-viewer-related {
  margin-top: 28px;
}

.work-viewer-tags h3,
.work-viewer-statement h3,
.work-viewer-related h3 {
  margin: 0 0 14px;
  color: rgba(var(--muted-rgb), 0.82);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-transform: uppercase;
}

.work-viewer-tag-groups {
  display: grid;
  gap: 18px;
}

.work-viewer-tag-group {
  display: grid;
  gap: 8px;
}

.work-viewer-tag-group p {
  margin: 0;
  color: rgba(var(--muted-rgb), 0.78);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 10px;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.work-viewer-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.work-viewer-tag {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(var(--muted-rgb), 0.18);
  border-radius: 999px;
  background: rgba(var(--panel-rgb), 0.34);
  color: rgba(var(--accent-dark-rgb), 0.84);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 12px;
  line-height: 1.2;
}

.work-viewer-tags {
  padding-top: 24px;
  border-top: 1px solid rgba(var(--muted-rgb), 0.16);
}

.work-viewer-statement {
  padding-top: 24px;
  border-top: 1px solid rgba(var(--muted-rgb), 0.16);
}

.work-viewer-related {
  padding-top: 24px;
  border-top: 1px solid rgba(var(--muted-rgb), 0.16);
}

.work-viewer-related-grid {
  display: grid;
  gap: 10px;
}

.work-viewer-related-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(var(--muted-rgb), 0.16);
  border-radius: 6px;
  background: rgba(var(--paper-rgb), 0.62);
  color: inherit;
  cursor: pointer;
  text-align: left;
  transition:
    background 180ms ease,
    border-color 180ms ease;
}

.work-viewer-related-item:hover,
.work-viewer-related-item:focus-visible {
  border-color: rgba(var(--ink-rgb), 0.26);
  background: rgba(var(--white-rgb), 0.86);
  outline: none;
}

.work-viewer-related-item img {
  width: 72px;
  aspect-ratio: 1;
  object-fit: cover;
  background: rgba(var(--panel-rgb), 0.44);
}

.work-viewer-related-item strong,
.work-viewer-related-item small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-viewer-related-item strong {
  color: rgba(var(--ink-rgb), 0.9);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.15;
}

.work-viewer-related-item small {
  margin-top: 4px;
  color: rgba(var(--muted-rgb), 0.82);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 11px;
  line-height: 1.3;
}

.manage-page {
  background:
    linear-gradient(180deg, rgba(var(--white-rgb), 0.62), rgba(var(--paper-rgb), 0) 300px),
    var(--paper);
}

.manage-main {
  padding: clamp(96px, 8vw, 118px) clamp(18px, 4.8vw, 68px) clamp(54px, 8vw, 96px);
}

.manage-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(18px, 4vw, 52px);
  align-items: center;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.18);
}

.manage-hero h1 {
  max-width: 720px;
  margin-bottom: 8px;
  color: rgba(var(--ink-rgb), 0.94);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(27px, 2.6vw, 38px);
  font-weight: 400;
  line-height: 1.12;
  text-transform: none;
}

.manage-hero-actions {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  justify-self: end;
}

.manage-upload-link,
.manage-upload-button {
  min-width: 136px;
  min-height: 42px;
}

.manage-operations-panel {
  display: grid;
  gap: 18px;
  margin-bottom: clamp(20px, 3vw, 30px);
}

.manage-home-panel {
  padding: clamp(18px, 2.4vw, 26px);
  border: 1px solid rgba(var(--muted-rgb), 0.18);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(var(--white-rgb), 0.72), rgba(var(--white-rgb), 0.42)),
    rgba(var(--panel-rgb), 0.26);
  box-shadow: 0 14px 34px rgba(var(--ink-rgb), 0.045);
}

.manage-home-heading h2 {
  margin: 4px 0 7px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 1.8vw, 28px);
  font-weight: 400;
  line-height: 1.12;
}

.manage-upload {
  justify-self: end;
  width: 100%;
}

.manage-hero-upload {
  width: auto;
}

.manage-home-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 58px;
  color: rgba(var(--ink-rgb), 0.92);
  cursor: pointer;
  list-style: none;
}

.manage-home-summary::-webkit-details-marker {
  display: none;
}

.manage-home-summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(var(--muted-rgb), 0.28);
  border-radius: 50%;
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 18px;
  line-height: 1;
}

.manage-home-panel[open] .manage-home-summary::after {
  content: "-";
}

.manage-home-summary > span:first-child {
  display: grid;
  gap: 4px;
}

.manage-home-summary strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 400;
  line-height: 1.12;
}

.manage-home-heading {
  align-items: flex-start;
  margin-bottom: 20px;
  padding: 0 0 18px;
  border-bottom-color: rgba(var(--muted-rgb), 0.16);
}

.manage-home-form {
  display: grid;
  gap: 18px;
}

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

.manage-home-moment {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(180px, 0.85fr) minmax(280px, 1.3fr);
  gap: 14px 18px;
  align-items: start;
  padding: 14px;
  border: 1px solid rgba(var(--muted-rgb), 0.14);
  border-radius: 8px;
  background: rgba(var(--white-rgb), 0.44);
}

.manage-home-span,
.manage-home-moment .form-field:last-child {
  grid-column: auto;
}

.manage-home-span {
  grid-column: 1 / -1;
}

.manage-home-moments {
  display: grid;
  gap: 14px;
}

.manage-hero-editor {
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 32px);
  align-items: start;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid rgba(var(--muted-rgb), 0.16);
  border-radius: 8px;
  background: rgba(var(--white-rgb), 0.5);
}

.manage-hero-editor legend {
  grid-column: 1 / -1;
}

.manage-home-preview {
  display: grid;
  gap: 8px;
  margin: 0;
  min-width: 0;
}

.manage-home-preview img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(var(--muted-rgb), 0.16);
  border-radius: 6px;
  background: rgba(var(--panel-rgb), 0.4);
  object-fit: cover;
  filter: saturate(0.88) contrast(1.02);
}

.manage-home-preview figcaption {
  color: rgba(var(--muted-rgb), 0.9);
  font:
    11px/1.35 Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  overflow-wrap: anywhere;
}

.manage-moment-preview img {
  aspect-ratio: 4 / 3;
}

.manage-home-form .manage-home-moment .form-field textarea {
  min-height: 140px;
}

.manage-home-fields {
  min-width: 0;
}

.manage-save-dock {
  display: grid;
  gap: 7px;
  justify-items: end;
  min-width: min(100%, 330px);
  color: var(--muted);
  font:
    11px/1.35 Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
}

.manage-save-pill {
  color: rgba(var(--ink-rgb), 0.86);
  font-weight: 600;
  text-transform: uppercase;
}

.manage-save-pill[data-state="dirty"] {
  color: var(--accent);
}

.manage-save-time,
.manage-save-message {
  min-height: 15px;
  text-align: right;
}

.manage-save-message[data-state="error"] {
  color: var(--accent);
}

.manage-save-message[data-state="saving"] {
  color: rgba(var(--ink-rgb), 0.8);
}

.manage-save-message[data-state="saved"] {
  color: rgba(var(--ink-rgb), 0.74);
}

.manage-save-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.manage-save-actions .archive-arrange-button {
  min-height: 32px;
  padding: 0 11px;
  border-color: rgba(var(--muted-rgb), 0.22);
  background: rgba(var(--white-rgb), 0.48);
}

.manage-workspace {
  display: grid;
  grid-template-columns: minmax(280px, 410px) minmax(0, 1fr);
  gap: clamp(22px, 3vw, 42px);
  align-items: start;
}

.manage-list-panel,
.manage-editor-panel {
  border-top: 1px solid rgba(var(--muted-rgb), 0.24);
  background: rgba(var(--white-rgb), 0.26);
}

.manage-list-panel {
  position: sticky;
  top: 104px;
  max-height: calc(100vh - 126px);
  overflow: hidden;
}

.manage-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 0 14px;
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.12);
}

.manage-panel-heading h2 {
  margin: 0 0 3px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.12;
}

.manage-panel-heading span,
.manage-list-state,
.manage-record-kicker,
.manage-editor-status,
.manage-list-meta dt,
.manage-list-meta dd,
.manage-record-meta dt,
.manage-record-meta dd,
[data-save-state] {
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 11px;
  line-height: 1.35;
}

.manage-panel-heading span,
.manage-list-state,
.manage-record-kicker,
.manage-list-meta dt,
.manage-record-meta dt,
[data-save-state] {
  color: rgba(var(--muted-rgb), 0.82);
}

.manage-list-state {
  margin: 10px 0 0;
}

.manage-list-state:empty {
  display: none;
}

.manage-list-state[data-state="error"],
.manage-editor-status[data-state="error"],
[data-save-state][data-state="error"] {
  color: var(--accent);
}

.manage-editor-status[data-state="saving"],
[data-save-state][data-state="saving"] {
  color: rgba(var(--accent-dark-rgb), 0.86);
}

.manage-editor-status[data-state="saved"],
.manage-editor-status[data-state="deleted"],
[data-save-state][data-state="saved"],
[data-save-state][data-state="deleted"] {
  color: rgba(var(--ink-rgb), 0.84);
}

.manage-editor-status[data-state="dirty"],
[data-save-state][data-state="dirty"] {
  color: rgba(var(--accent-rgb), 0.94);
}

.manage-list {
  display: grid;
  gap: 9px;
  max-height: calc(100vh - 210px);
  overflow-y: auto;
  padding: 14px 0 4px;
}

.manage-list-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 13px;
  width: 100%;
  padding: 9px 0;
  border: 0;
  border-top: 1px solid rgba(var(--muted-rgb), 0.12);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    opacity 180ms ease;
}

.manage-list-item:hover,
.manage-list-item:focus-visible {
  background: rgba(var(--white-rgb), 0.38);
  outline: none;
}

.manage-list-item:focus-visible {
  box-shadow: inset 3px 0 0 rgba(var(--accent-rgb), 0.56);
}

.manage-list-item.is-active {
  border-top-color: rgba(var(--accent-rgb), 0.38);
  background: rgba(var(--white-rgb), 0.62);
  box-shadow: inset 3px 0 0 rgba(var(--accent-rgb), 0.38);
}

.manage-list-item.is-dirty {
  border-top-color: rgba(var(--accent-rgb), 0.5);
}

.manage-list-item.is-dirty .manage-list-copy strong::after {
  content: "Unsaved";
  display: inline-block;
  margin-left: 8px;
  color: rgba(var(--accent-rgb), 0.9);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
  vertical-align: middle;
}

.manage-list-item[data-visibility="published"] .manage-list-meta dd[data-meta="status"]::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: rgba(40, 101, 72, 0.82);
  vertical-align: 1px;
}

.manage-list-item img {
  width: 82px;
  height: 82px;
  background: rgba(var(--panel-rgb), 0.5);
  object-fit: cover;
  filter: saturate(0.84) contrast(1.02);
}

.manage-list-copy {
  display: grid;
  gap: 9px;
  min-width: 0;
}

.manage-list-copy strong {
  overflow: hidden;
  color: rgba(var(--ink-rgb), 0.92);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manage-list-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 10px;
  margin: 0;
}

.manage-list-meta div,
.manage-record-meta div {
  min-width: 0;
}

.manage-list-meta dt,
.manage-list-meta dd,
.manage-record-meta dt,
.manage-record-meta dd {
  margin: 0;
}

.manage-list-meta dt,
.manage-record-meta dt {
  text-transform: uppercase;
}

.manage-list-meta dd,
.manage-record-meta dd {
  color: rgba(var(--accent-dark-rgb), 0.86);
  overflow-wrap: anywhere;
}

.manage-list-empty {
  display: grid;
  gap: 8px;
  padding: 18px 0;
  color: rgba(var(--accent-dark-rgb), 0.82);
}

.manage-list-empty strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 400;
}

.manage-list-empty p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.manage-editor-panel {
  min-height: 640px;
  padding: clamp(22px, 3.2vw, 42px) 0 0;
}

.manage-empty {
  display: grid;
  align-content: center;
  min-height: 420px;
  padding: clamp(20px, 4vw, 48px);
  border-top: 1px solid rgba(var(--muted-rgb), 0.12);
}

.manage-empty h2 {
  margin-bottom: 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3.4vw, 48px);
  font-weight: 400;
}

.manage-empty p {
  max-width: 460px;
  margin: 0;
  color: var(--muted);
}

.manage-form {
  display: grid;
  gap: clamp(24px, 3.2vw, 38px);
}

.manage-form[data-state="saving"],
.manage-form[data-state="deleting"] {
  opacity: 0.72;
}

.manage-editor-header {
  display: grid;
  grid-template-columns: minmax(220px, 0.82fr) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 42px);
  align-items: start;
  padding-bottom: clamp(22px, 3vw, 34px);
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.16);
}

.manage-preview {
  display: grid;
  place-items: center;
  margin: 0;
  min-height: 260px;
  background:
    linear-gradient(135deg, rgba(var(--panel-rgb), 0.44), rgba(var(--white-rgb), 0.16)),
    rgba(var(--panel-rgb), 0.26);
}

.manage-preview img {
  width: 100%;
  height: auto;
  max-height: 52vh;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.manage-editor-summary {
  min-width: 0;
}

.manage-record-kicker {
  margin: 0 0 10px;
  text-transform: uppercase;
}

.manage-editor-summary h2 {
  margin: 0;
  color: rgba(var(--ink-rgb), 0.94);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 4vw, 58px);
  font-weight: 400;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.manage-record-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 18px;
  margin: clamp(20px, 2.4vw, 28px) 0 0;
  padding: 16px 0;
  border-top: 1px solid rgba(var(--muted-rgb), 0.16);
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.16);
}

.manage-schema-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 11px;
  margin-top: 16px;
}

.manage-schema-summary span {
  padding: 4px 0;
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.22);
  color: rgba(var(--accent-dark-rgb), 0.78);
  font-family:
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace;
  font-size: 11px;
  line-height: 1.3;
}

.manage-editor-status {
  min-height: 18px;
  margin: 16px 0 0;
}

.manage-form-section {
  display: grid;
  gap: 16px;
  min-width: 0;
  margin: 0;
  padding: 0 0 clamp(22px, 3vw, 34px);
  border: 0;
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.16);
}

.manage-form-section legend {
  margin-bottom: 15px;
  padding: 0;
  color: rgba(var(--ink-rgb), 0.9);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.1vw, 30px);
  font-weight: 400;
  line-height: 1.16;
}

.manage-field-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

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

.manage-tag-field textarea {
  min-height: 76px;
}

.manage-form .form-field,
.manage-home-form .form-field {
  min-width: 0;
}

.manage-form .form-field > span,
.manage-home-form .form-field > span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: rgba(var(--accent-dark-rgb), 0.88);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
}

.manage-form .form-field input,
.manage-form .form-field textarea,
.manage-form .form-field select,
.manage-home-form .form-field input,
.manage-home-form .form-field textarea,
.manage-home-form .form-field select {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(var(--muted-rgb), 0.38);
  border-radius: 6px;
  background: rgba(var(--white-rgb), 0.74);
  color: var(--ink);
  font:
    15px/1.55 Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  outline: none;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.manage-form .form-field input,
.manage-form .form-field select,
.manage-home-form .form-field input,
.manage-home-form .form-field select {
  min-height: 44px;
  padding: 8px 12px;
}

.manage-form .form-field textarea,
.manage-home-form .form-field textarea {
  min-height: 118px;
  padding: 11px 12px;
  resize: vertical;
}

.manage-form .form-field select,
.manage-home-form .form-field select {
  cursor: pointer;
  appearance: auto;
}

.manage-form .form-field input:focus,
.manage-form .form-field textarea:focus,
.manage-form .form-field select:focus,
.manage-home-form .form-field input:focus,
.manage-home-form .form-field textarea:focus,
.manage-home-form .form-field select:focus {
  border-color: rgba(var(--accent-dark-rgb), 0.76);
  background: var(--white);
  box-shadow:
    0 0 0 3px rgba(var(--accent-rgb), 0.1),
    0 8px 18px rgba(var(--ink-rgb), 0.045);
}

.manage-form-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding-bottom: clamp(8px, 1.2vw, 16px);
}

.manage-form-actions .button {
  min-width: 160px;
}

[data-save-state] {
  min-height: 18px;
}

.manage-delete-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(18px, 3vw, 34px);
  align-items: center;
  margin-top: 4px;
  padding: 20px 0 4px;
  border-top: 1px solid rgba(var(--accent-rgb), 0.28);
}

.manage-delete-section h3 {
  margin: 0 0 7px;
  color: rgba(var(--accent-dark-rgb), 0.92);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 400;
}

.manage-delete-section p {
  max-width: 680px;
  margin: 0;
  color: rgba(var(--accent-rgb), 0.82);
  font-size: 13px;
  line-height: 1.58;
}

.manage-delete-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.manage-danger-button {
  border-color: rgba(var(--accent-rgb), 0.46);
  color: rgba(var(--accent-rgb), 0.96);
}

.manage-danger-button:hover,
.manage-danger-button:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.72);
  background: rgba(var(--accent-rgb), 0.08);
  color: var(--accent);
}

.manage-confirm-dialog {
  width: min(520px, calc(100vw - 32px));
  padding: 0;
  border: 1px solid rgba(var(--muted-rgb), 0.28);
  background: rgba(var(--paper-rgb), 0.98);
  color: var(--ink);
}

.manage-confirm-dialog::backdrop {
  background: rgba(var(--ink-rgb), 0.46);
  backdrop-filter: blur(3px);
}

.manage-confirm-dialog form {
  display: grid;
  gap: 18px;
  padding: clamp(22px, 4vw, 34px);
}

.manage-confirm-dialog h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 400;
}

.manage-confirm-dialog p {
  margin: 0;
  color: rgba(var(--accent-dark-rgb), 0.86);
  line-height: 1.58;
}

.manage-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (max-width: 900px) {
  .hero-stage {
    height: min(86svh, 760px);
    min-height: 0;
  }

  .hero {
    height: 100%;
    min-height: 0;
  }

  .hero-image {
    background-position: center;
  }

  .hero::before {
    top: auto;
    width: 100%;
    height: 54%;
    background:
      radial-gradient(ellipse at 50% 68%, rgba(var(--paper-rgb), 0.72) 0%, rgba(var(--paper-rgb), 0.42) 42%, rgba(var(--paper-rgb), 0) 76%),
      linear-gradient(180deg, rgba(var(--paper-rgb), 0) 0%, rgba(var(--paper-rgb), 0.52) 62%, rgba(var(--paper-rgb), 0.76) 100%);
  }

  .hero-copy {
    align-self: end;
    justify-self: center;
    width: min(100%, 560px);
    text-align: left;
    transform: translateY(var(--hero-copy-shift, 0));
  }

  .statement-moment,
  .contact-section,
  .contact-page-layout,
  .manage-workspace,
  .manage-editor-header,
  .manage-delete-section {
    grid-template-columns: 1fr;
  }

  .statement-moment:nth-child(even) .statement-media,
  .statement-moment:nth-child(even) .statement-moment-copy {
    grid-column: auto;
    grid-row: auto;
  }

  .statement-media {
    position: static;
    max-height: 520px;
    aspect-ratio: 16 / 10;
  }

  .statement-moment-copy {
    max-width: none;
  }

  .statement-moments {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(46px, 8vw, 68px);
  }

  .manage-list-panel {
    position: static;
  }

  .manage-list-panel {
    max-height: none;
  }

  .manage-list {
    display: flex;
    gap: 12px;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 12px;
    scroll-snap-type: x proximity;
  }

  .manage-list-item {
    grid-template-columns: 92px minmax(170px, 1fr);
    flex: 0 0 min(84vw, 360px);
    scroll-snap-align: start;
  }

  .manage-editor-panel {
    min-height: 0;
  }

  .manage-preview {
    min-height: 360px;
  }

  .manage-field-grid,
  .manage-tag-grid,
  .manage-record-meta,
  .manage-hero-editor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .manage-home-moment {
    grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  }

  .manage-home-moment .form-field:last-child {
    grid-column: 1 / -1;
  }

  .manage-delete-actions {
    justify-content: flex-start;
  }

  .contact-page-art {
    min-height: 220px;
  }

  .marquee-gallery {
    --gallery-height: clamp(320px, 70vw, 560px);
  }

  .archive-hero,
  .archive-controls {
    grid-template-columns: 1fr;
  }

  .archive-controls {
    position: static;
  }

  .archive-discovery-bar {
    display: grid;
    grid-template-columns: 1fr;
  }

  .archive-filter-bar {
    gap: 12px;
    order: initial;
  }

  .archive-search-group {
    min-width: 0;
  }

  .archive-toolbar {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    order: initial;
  }

  .archive-count {
    text-align: left;
  }

  .archive-upload {
    justify-self: start;
  }

  .filter-group {
    align-items: center;
    flex-direction: row;
    gap: 6px;
  }

  .manage-save-dock {
    justify-items: start;
    min-width: 0;
  }

  .manage-save-time,
  .manage-save-message {
    text-align: left;
  }

  .manage-save-actions {
    justify-content: flex-start;
  }

  .archive-arrange-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .archive-gallery {
    column-count: 2;
  }

  .work-viewer {
    padding: 0;
  }

  .work-viewer-dialog {
    width: 100vw;
    height: 100dvh;
    max-height: none;
    border: 0;
    border-radius: 0;
  }

  .work-viewer-layout {
    grid-template-columns: minmax(0, 1fr);
    height: calc(100dvh - 60px);
    overflow-y: auto;
  }

  .work-viewer-media {
    min-height: 58vh;
    padding: clamp(18px, 4vw, 34px);
  }

  .work-viewer-media img {
    max-height: 62vh;
  }

  .work-viewer-info {
    overflow: visible;
    border-top: 1px solid rgba(var(--muted-rgb), 0.18);
    border-left: 0;
    background: var(--paper);
  }
}

@media (max-width: 620px) {
  html {
    scroll-padding-top: 92px;
  }

  .site-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    min-height: 0;
    padding: 0 16px;
    padding-bottom: 12px;
    padding-top: 12px;
  }

  .site-nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    gap: 10px;
    font-size: 12px;
  }

  .site-nav a {
    display: block;
    min-width: 0;
  }

  .site-nav a:last-child {
    text-align: right;
  }

  .brand-mark {
    gap: 8px;
    font-size: 15px;
  }

  .brand-mark span:first-child {
    font-size: 18px;
  }

  .hero {
    padding-top: 122px;
  }

  .hero-stage {
    height: min(82svh, 700px);
    min-height: 0;
  }

  .hero-copy {
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .hero-copy h1 {
    font-size: clamp(32px, 10vw, 42px);
    line-height: 1.1;
  }

  h1 {
    font-size: clamp(32px, 9vw, 40px);
    line-height: 1.08;
  }

  .archive-hero h1,
  .contact-page-intro h1 {
    font-size: clamp(30px, 9vw, 42px);
  }

  .hero-statement {
    font-size: 17px;
    overflow-wrap: anywhere;
  }

  .statement-section {
    padding-right: 16px;
    padding-left: 16px;
  }

  .statement-media {
    aspect-ratio: 4 / 3;
  }

  .statement-intro h2 {
    font-size: clamp(34px, 10vw, 48px);
  }

  .statement-moments {
    gap: 44px;
  }

  .statement-moment-copy p {
    font-size: clamp(18px, 5vw, 22px);
    line-height: 1.65;
  }

  .statement-cta .button {
    width: 100%;
  }

  .hero-actions,
  .section-heading,
  .site-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .button {
    width: 100%;
  }

  .contact-main {
    padding-top: 104px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .contact-page-layout {
    gap: 28px;
  }

  .contact-page-intro p {
    font-size: 16px;
    line-height: 1.55;
  }

  .contact-page-art {
    display: none;
  }

  .contact-page-form {
    gap: 20px;
    padding: 18px 0 0;
  }

  .contact-submit {
    width: 100%;
  }

  .marquee-gallery {
    --gallery-height: clamp(260px, 84vw, 420px);
    width: calc(100% + 40px);
    margin-right: -20px;
    margin-left: -20px;
  }

  .archive-main,
  .manage-main {
    padding-right: 16px;
    padding-left: 16px;
  }

  .manage-main {
    padding-top: 96px;
  }

  .archive-hero h1,
  .manage-hero h1 {
    white-space: normal;
  }

  .archive-controls {
    margin-right: -16px;
    margin-left: -16px;
    gap: 9px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .archive-filter-bar {
    margin-right: -16px;
    margin-left: -16px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .filter-button {
    min-height: 32px;
    padding: 0 12px;
    font-size: 12px;
  }

  .manage-hero {
    grid-template-columns: 1fr;
  }

  .manage-hero-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
    justify-self: stretch;
  }

  .manage-hero-upload,
  .manage-upload-link,
  .manage-upload-button {
    width: 100%;
  }

  .manage-upload-status {
    right: auto;
    left: 0;
    width: 100%;
  }

  .manage-panel-heading,
  .manage-form-actions,
  .manage-confirm-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .manage-panel-heading {
    display: grid;
  }

  .manage-panel-heading .archive-arrange-button {
    justify-self: start;
  }

  .manage-list {
    margin-right: -16px;
    margin-left: -16px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .manage-list-item {
    flex-basis: min(88vw, 340px);
  }

  .manage-list-copy strong {
    white-space: normal;
  }

  .manage-field-grid,
  .manage-tag-grid,
  .manage-record-meta,
  .manage-home-grid,
  .manage-hero-editor {
    grid-template-columns: 1fr;
  }

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

  .manage-home-moment .form-field:last-child {
    grid-column: auto;
  }

  .manage-home-form .manage-home-moment .form-field textarea {
    min-height: 178px;
  }

  .manage-save-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .manage-save-actions .archive-arrange-button {
    width: 100%;
    padding: 0 6px;
  }

  .manage-editor-header {
    gap: 22px;
  }

  .manage-preview {
    min-height: 250px;
  }

  .manage-editor-summary h2 {
    font-size: clamp(28px, 9vw, 40px);
  }

  .manage-delete-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .manage-confirm-actions {
    display: grid;
  }

  .archive-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .archive-arrange-button {
    min-height: 34px;
  }

  .archive-arrange-status {
    width: 100%;
  }

  .archive-gallery {
    column-count: 1;
  }

  .archive-item-meta dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .work-viewer {
    align-items: stretch;
    padding: 0;
  }

  .work-viewer-dialog {
    width: 100vw;
    height: 100dvh;
    max-height: none;
    border: 0;
    border-radius: 0;
  }

  .work-viewer-controls {
    position: sticky;
    top: 0;
    padding-right: 12px;
    padding-left: 14px;
  }

  .work-viewer-position {
    max-width: 44vw;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .work-viewer-icon-button {
    width: 36px;
    height: 36px;
  }

  .work-viewer-media {
    min-height: 56vh;
    padding: 18px 14px 22px;
  }

  .work-viewer-media img {
    max-height: 58vh;
  }

  .work-viewer-info {
    padding: 24px 18px 38px;
  }

  .work-viewer-info h2 {
    font-size: clamp(28px, 9vw, 38px);
  }

  .work-viewer-metadata {
    grid-template-columns: 1fr;
  }

}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .hero,
  .hero-image,
  .hero::before,
  .hero-copy,
  .hero-copy-panel,
  .marquee-item img,
  .contact-toast,
  .work-viewer,
  .work-viewer-dialog,
  .statement-intro,
  .statement-media,
  .statement-moment-copy,
  .statement-cta,
  .statement-section::after {
    transition: none;
  }

  .manage-list-item,
  .manage-form .form-field input,
  .manage-form .form-field textarea,
  .manage-form .form-field select,
  .manage-confirm-dialog,
  .manage-editor-status,
  [data-save-state] {
    transition: none;
  }

  .statement-intro,
  .statement-media,
  .statement-moment-copy,
  .statement-cta {
    opacity: 1;
    transform: none;
  }

  .hero-stage {
    height: auto;
  }

  .hero {
    position: relative;
  }

  .marquee-track {
    animation: none;
  }

  .marquee-gallery {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .marquee-item {
    scroll-snap-align: center;
  }
}

/* Works Archive visual refresh: reference-led discovery layout. */
.archive-page {
  --archive-rail-width: 96px;
  --archive-topbar-height: 58px;
  --archive-tabs-height: 54px;
  background: #fff;
  color: #141414;
}

.archive-page .ui-icon {
  width: 18px;
  height: 18px;
  stroke-width: 2;
}

.archive-rail {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 35;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: var(--archive-rail-width);
  padding: 12px 8px;
  border-right: 1px solid #e6e6e6;
  background: #fff;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.archive-rail-brand {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 1px solid rgba(17, 17, 17, 0.14);
  border-radius: 8px;
  color: #111;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-decoration: none;
  transition:
    background 180ms ease,
    color 180ms ease;
}

.archive-rail-brand:hover,
.archive-rail-brand:focus-visible {
  background: #f5f5f5;
  outline: none;
}

.archive-rail-nav,
.archive-rail-footer {
  display: grid;
  justify-items: center;
  gap: 8px;
  width: 100%;
}

.archive-rail-footer {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #ececec;
}

.archive-rail-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  width: 70px;
  min-height: 58px;
  padding: 7px 6px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #707070;
  cursor: pointer;
  font: inherit;
  text-align: center;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.archive-rail-button .ui-icon {
  flex: 0 0 auto;
}

.archive-rail-copy {
  display: block;
  min-width: 0;
  color: #242424;
  font: 760 11px/1.15 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.archive-rail-button:hover,
.archive-rail-button:focus-visible,
.archive-rail-button.is-active {
  border-color: rgba(17, 17, 17, 0.08);
  background: #f6f6f6;
  color: #111;
  outline: none;
}

.archive-rail-button:hover {
  transform: translateY(-1px);
}

.archive-rail-divider {
  width: 34px;
  height: 1px;
  margin: 4px 0;
  background: #dedede;
}

.archive-main {
  min-height: 100vh;
  padding: calc(var(--archive-topbar-height) + var(--archive-tabs-height) + 24px) 4.2vw 60px
    calc(var(--archive-rail-width) + 4.2vw);
}

.archive-topbar {
  position: fixed;
  top: 0;
  right: 0;
  left: var(--archive-rail-width);
  z-index: 30;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: center;
  gap: 22px;
  min-height: var(--archive-topbar-height);
  padding: 9px 22px 8px 22px;
  background: #fff;
}

.archive-search-group {
  min-width: 0;
}

.archive-search-control {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 40px;
  border: 0;
  border-radius: 999px;
  background: #eeeeee;
  box-shadow: none;
}

.archive-search-icon {
  margin-left: 14px;
  color: #777;
}

.archive-search-input {
  min-height: 40px;
  padding: 0 12px;
  color: #222;
  font-size: 14px;
  font-weight: 500;
}

.archive-search-input::placeholder {
  color: #777;
}

.archive-search-control:focus-within {
  background: #f5f5f5;
  box-shadow: 0 0 0 2px #d6d6d6 inset;
}

.archive-clear-search {
  min-height: 28px;
  margin-right: 6px;
  padding: 0 11px;
  background: #fff;
  color: #555;
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
}

.archive-top-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  color: #171717;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.archive-submit-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #d2d2d2;
  border-radius: 8px;
  background: #fff;
  color: #6a6a6a;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.16);
}

.archive-controls {
  position: fixed;
  top: var(--archive-topbar-height);
  right: 0;
  left: var(--archive-rail-width);
  z-index: 29;
  display: block;
  margin: 0;
  padding: 0 22px;
  border-top: 0;
  border-bottom: 1px solid #e6e6e6;
  background: #fff;
  backdrop-filter: none;
}

.archive-discovery-bar {
  display: flex;
  align-items: stretch;
  min-width: 0;
  min-height: var(--archive-tabs-height);
  gap: 20px;
}

.filter-group {
  display: flex;
  align-items: stretch;
  min-width: max-content;
}

.filter-options {
  display: flex;
  align-items: stretch;
  gap: 0;
}

.filter-button {
  position: relative;
  min-height: var(--archive-tabs-height);
  padding: 0 13px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #777;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.filter-button::after {
  position: absolute;
  right: 13px;
  bottom: 0;
  left: 13px;
  height: 3px;
  background: #111;
  content: "";
  opacity: 0;
  transform: scaleX(0.4);
  transform-origin: center;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.filter-button:hover,
.filter-button.is-active {
  background: transparent;
  color: #111;
  transform: none;
}

.filter-button.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.archive-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 210px;
  margin-left: auto;
  padding-left: 10px;
}

.archive-count {
  min-width: auto;
  color: #777;
  font-size: 11px;
  text-align: right;
}

.archive-arrange-actions {
  gap: 6px;
  font-size: 12px;
}

.archive-arrange-button {
  min-height: 30px;
  padding: 0 8px;
  border-radius: 7px;
  color: #555;
}

.archive-arrange-button:hover,
.archive-arrange-button:focus-visible {
  border-color: transparent;
  background: #f0f0f0;
  color: #111;
}

.archive-gallery-section {
  padding-top: 0;
}

.archive-gallery-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.archive-gallery-heading h1,
.archive-gallery-heading h2 {
  margin: 0;
  color: #111;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(18px, 1.65vw, 26px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
}

.archive-data-status {
  margin: 0;
  color: #777;
  font-size: 11px;
  letter-spacing: 0;
  text-align: right;
  text-transform: none;
}

.archive-empty-state {
  padding: 42px 0;
  border-top: 1px solid #e6e6e6;
  color: #777;
}

.archive-gallery {
  display: block;
  column-count: 4;
  column-gap: clamp(14px, 1.35vw, 22px);
}

.archive-item {
  display: inline-block;
  width: 100%;
  margin: 0 0 clamp(14px, 1.35vw, 22px);
  break-inside: avoid;
}

.archive-image-frame {
  aspect-ratio: var(--display-ratio, 1);
  border: 0;
  border-radius: 0;
  background: #f3f3f3;
  box-shadow: none;
  isolation: isolate;
}

.archive-item img {
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
  mix-blend-mode: normal;
  transform: scale(1.001);
  transition:
    filter 260ms ease,
    transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.archive-item[data-type="Abstract"] img {
  filter: grayscale(1) contrast(1.06);
}

.archive-item[data-type="Concrete"] img {
  filter: saturate(0.94) contrast(1.03);
}

.archive-hover-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
}

.archive-hover-layer::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0.06) 35%, rgba(0, 0, 0, 0.48)),
    rgba(0, 0, 0, 0.08);
  content: "";
}

.archive-hover-brand {
  position: absolute;
  top: 18px;
  left: 20px;
  z-index: 1;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-6px);
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.archive-hover-actions {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 1;
  display: flex;
  gap: 8px;
  transform: translateY(-8px);
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.archive-hover-icon,
.archive-download-pill {
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 40px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.94);
  color: #555;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  font: inherit;
  transition:
    background 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.archive-hover-icon:hover,
.archive-hover-icon:focus-visible,
.archive-download-pill:hover,
.archive-download-pill:focus-visible {
  background: #111;
  color: #fff;
  outline: none;
  transform: translateY(-1px);
}

.archive-hover-icon.is-active {
  background: #111;
  color: #fff;
}

.archive-hover-icon .ui-icon,
.archive-download-pill .ui-icon {
  width: 20px;
  height: 20px;
}

.archive-hover-credit {
  position: absolute;
  bottom: 18px;
  left: 16px;
  z-index: 1;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  max-width: calc(100% - 126px);
  gap: 9px;
  transform: translateY(12px);
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.archive-hover-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0)),
    #32465a;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.archive-hover-credit strong,
.archive-hover-credit small {
  display: block;
  overflow: hidden;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.archive-hover-credit strong {
  font-size: clamp(13px, 1.05vw, 18px);
  line-height: 1.15;
}

.archive-hover-credit small {
  margin-top: 3px;
  font-size: clamp(11px, 0.82vw, 14px);
  line-height: 1.2;
}

.archive-download-pill {
  position: absolute;
  right: 12px;
  bottom: 16px;
  z-index: 1;
  gap: 8px;
  min-width: 86px;
  padding: 0 12px;
  color: #575757;
  font-size: clamp(12px, 0.88vw, 15px);
  font-weight: 800;
  transform: translateY(12px);
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
}

.archive-item[role="button"]:hover .archive-image-frame,
.archive-item[role="button"]:focus-visible .archive-image-frame {
  border-color: transparent;
  background: #f3f3f3;
  box-shadow: none;
  transform: none;
}

.archive-item[role="button"]:hover img,
.archive-item[role="button"]:focus-visible img {
  transform: scale(1.045);
}

.archive-item[role="button"]:hover .archive-hover-layer,
.archive-item[role="button"]:focus-visible .archive-hover-layer {
  opacity: 1;
  pointer-events: auto;
}

.archive-item[role="button"]:hover .archive-hover-brand,
.archive-item[role="button"]:hover .archive-hover-actions,
.archive-item[role="button"]:hover .archive-hover-credit,
.archive-item[role="button"]:hover .archive-download-pill,
.archive-item[role="button"]:focus-visible .archive-hover-brand,
.archive-item[role="button"]:focus-visible .archive-hover-actions,
.archive-item[role="button"]:focus-visible .archive-hover-credit,
.archive-item[role="button"]:focus-visible .archive-download-pill {
  transform: translateY(0);
}

.archive-item[role="button"]:focus-visible {
  outline: 2px solid #111;
  outline-offset: 5px;
}

.archive-item-meta {
  display: none;
}

.archive-rail-button.is-active {
  background: #111;
  color: #fff;
}

.archive-toast {
  position: fixed;
  right: clamp(16px, 3vw, 34px);
  bottom: clamp(16px, 3vw, 34px);
  z-index: 80;
  max-width: min(360px, calc(100vw - 32px));
  padding: 12px 14px;
  border: 1px solid rgba(20, 20, 20, 0.12);
  border-radius: 8px;
  background: rgba(18, 18, 18, 0.94);
  color: #fff;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
  font-size: 13px;
  line-height: 1.35;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.archive-toast[data-type="error"] {
  background: #6f1d1b;
}

.archive-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.collections-main {
  display: grid;
  align-content: start;
  gap: 18px;
  padding-top: calc(var(--archive-topbar-height) + 18px);
}

.collections-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 52px;
  padding: 0;
  border-bottom: 1px solid #e6e6e6;
}

.collections-hero h1 {
  margin: 0;
  color: #171717;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 20px;
  font-weight: 850;
  line-height: 1;
  text-transform: none;
}

.collections-hero p:not(.section-kicker) {
  margin: 7px 0 0;
  color: #777;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.collections-hero .section-kicker {
  display: none;
}

.collections-add-link {
  flex: 0 0 auto;
  text-decoration: none;
}

.collections-switcher {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  padding: 0 0 2px;
}

.collection-set-card {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(var(--muted-rgb), 0.16);
  border-radius: 8px;
  background: #fff;
  color: inherit;
  cursor: pointer;
  text-align: left;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.collection-set-card:hover,
.collection-set-card:focus-visible,
.collection-set-card.is-active {
  border-color: #cfcfcf;
  background: #f6f6f6;
  box-shadow: none;
  outline: none;
}

.collection-set-card span {
  color: #333;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

.collection-set-card strong {
  min-width: 24px;
  color: #777;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 13px;
  font-weight: 850;
  line-height: 1;
  text-align: right;
}

.collection-set-card small {
  display: none;
}

.collections-gallery-section {
  padding-top: 0;
}

.collection-gallery {
  column-count: 4;
}

.collection-item {
  display: inline-block;
  width: 100%;
  margin: 0 0 clamp(16px, 1.6vw, 24px);
  break-inside: avoid;
}

.collection-image-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.collection-item .archive-image-frame {
  overflow: hidden;
}

.collection-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    filter 260ms ease,
    transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.collection-item[data-type="Abstract"] img {
  filter: grayscale(1) contrast(1.06);
}

.collection-item[data-type="Concrete"] img {
  filter: saturate(0.94) contrast(1.03);
}

.collection-image-link:hover img,
.collection-image-link:focus-visible img {
  transform: scale(1.035);
}

.collection-image-link:focus-visible {
  outline: 2px solid #111;
  outline-offset: 5px;
}

.collection-item-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 11px 0 0;
}

.collection-item-copy h3 {
  margin: 0;
  color: rgba(var(--ink-rgb), 0.92);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.5vw, 25px);
  font-weight: 500;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.collection-item-copy p {
  margin: 6px 0 0;
  color: rgba(var(--muted-rgb), 0.82);
  font-family:
    Inter,
    "Helvetica Neue",
    Arial,
    sans-serif;
  font-size: 12px;
  line-height: 1.4;
}

.collection-remove-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(var(--muted-rgb), 0.18);
  border-radius: 6px;
  background: rgba(var(--paper-rgb), 0.74);
  color: rgba(var(--accent-dark-rgb), 0.72);
  cursor: pointer;
  transition:
    background 180ms ease,
    color 180ms ease,
    border-color 180ms ease;
}

.collection-remove-button:hover,
.collection-remove-button:focus-visible {
  border-color: rgba(var(--ink-rgb), 0.86);
  background: var(--ink);
  color: var(--paper);
  outline: none;
}

@media (max-width: 1180px) {
  .collection-gallery {
    column-count: 3;
  }
}

@media (max-width: 820px) {
  .collections-hero {
    display: flex;
    align-items: center;
  }

  .collections-add-link {
    justify-self: start;
  }

  .collections-switcher {
    margin-right: -16px;
    padding-right: 16px;
  }

  .collection-gallery {
    column-count: 2;
  }
}

@media (max-width: 560px) {
  .collection-gallery {
    column-count: 1;
  }
}

.archive-gallery.is-ratio-filtered {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.35vw, 22px);
}

.archive-gallery.is-ratio-filtered[data-active-ratio="Panorama"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.archive-gallery.is-ratio-filtered .archive-item {
  margin: 0;
}

.archive-gallery.is-arranging {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.archive-gallery.is-arranging .archive-item {
  display: block;
  margin: 0;
  padding: 10px;
  border-color: #d8d8d8;
  border-radius: 12px;
  background: #fafafa;
}

.archive-gallery.is-arranging .archive-image-frame {
  border-radius: 8px;
}

.archive-gallery.is-arranging .archive-item-meta {
  display: grid;
}

@media (max-width: 1220px) {
  .archive-main {
    padding-right: 4vw;
    padding-left: calc(var(--archive-rail-width) + 4vw);
  }

  .archive-gallery {
    column-count: 3;
  }

  .archive-gallery.is-ratio-filtered,
  .archive-gallery.is-arranging {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .archive-discovery-bar {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .archive-discovery-bar::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 900px) {
  .archive-page {
    --archive-rail-width: 0px;
    --archive-topbar-height: auto;
    --archive-tabs-height: 60px;
  }

  .archive-rail {
    display: none;
  }

  .archive-main {
    padding: 116px 16px 54px;
  }

  .archive-topbar {
    left: 0;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 10px 16px 8px;
    min-height: 80px;
  }

  .archive-top-actions {
    justify-content: space-between;
    gap: 14px;
    font-size: 13px;
  }

  .archive-submit-link {
    min-height: 34px;
    padding: 0 12px;
  }

  .archive-controls {
    top: 84px;
    left: 0;
    padding: 0 16px;
  }

  .archive-discovery-bar {
    min-height: var(--archive-tabs-height);
  }

  .filter-button {
    min-height: var(--archive-tabs-height);
    padding: 0 13px;
    font-size: 14px;
  }

  .archive-toolbar {
    min-width: max-content;
  }

  .archive-gallery-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .archive-data-status {
    text-align: left;
  }
}

@media (max-width: 520px) {
  .archive-top-actions {
    gap: clamp(12px, 4.6vw, 18px);
  }

  .archive-submit-link {
    display: none;
  }
}

@media (max-width: 680px) {
  .archive-search-control,
  .archive-search-input {
    min-height: 44px;
  }

  .archive-gallery {
    column-count: 1;
  }

  .archive-gallery.is-ratio-filtered,
  .archive-gallery.is-arranging,
  .archive-gallery.is-ratio-filtered[data-active-ratio="Panorama"] {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .archive-hover-brand {
    top: 18px;
    left: 18px;
  }

  .archive-hover-actions {
    top: 14px;
    right: 14px;
  }

  .archive-hover-icon {
    min-width: 46px;
    height: 42px;
    border-radius: 12px;
  }

  .archive-hover-credit {
    right: 18px;
    bottom: 76px;
    left: 18px;
    max-width: none;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
  }

  .archive-hover-avatar {
    width: 42px;
    height: 42px;
  }

  .archive-download-pill {
    right: 18px;
    bottom: 18px;
    left: 18px;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .archive-rail-button,
  .archive-item img,
  .archive-hover-layer,
  .archive-hover-brand,
  .archive-hover-actions,
  .archive-hover-credit,
  .archive-download-pill {
    transition: none;
  }
}

/* Static component system layer: shadcn/Radix-style states without adding a framework. */
:where(a, button, input, textarea, select, [role="button"]):focus-visible {
  outline: 2px solid rgba(var(--accent-rgb), 0.78);
  outline-offset: 3px;
}

:where(
    .eyebrow,
    .section-kicker,
    .filter-button,
    .archive-data-status,
    .archive-top-actions,
    .work-viewer-position,
    .work-viewer-metadata dt,
    .work-viewer-tags h3,
    .work-viewer-statement h3,
    .work-viewer-related h3,
    .work-viewer-tag-group p,
    .collection-set-card span,
    .form-field label
  ) {
  letter-spacing: 0;
}

.archive-search-control,
.archive-arrange-button,
.archive-rail-button,
.archive-hover-icon,
.archive-download-pill,
.work-viewer-icon-button,
.work-viewer-action-button,
.collection-set-card,
.collection-remove-button,
.form-field input,
.form-field textarea,
.button {
  transition-duration: var(--ui-motion-fast);
  transition-timing-function: var(--ui-ease-standard);
}

.archive-search-control:focus-within,
.archive-arrange-button:focus-visible,
.archive-hover-icon:focus-visible,
.archive-download-pill:focus-visible,
.work-viewer-icon-button:focus-visible,
.work-viewer-action-button:focus-visible,
.collection-remove-button:focus-visible,
.collection-set-card:focus-visible {
  box-shadow: var(--ui-focus);
}

.archive-gallery[aria-busy="true"],
.collection-gallery[aria-busy="true"] {
  cursor: progress;
}

@keyframes mt-gallery-item-reveal {
  from {
    opacity: 0;
    transform: translateY(16px);
    filter: blur(5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes mt-page-reveal {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes mt-spin {
  to {
    transform: rotate(360deg);
  }
}

.archive-item,
.collection-item {
  animation: mt-gallery-item-reveal 460ms var(--ui-ease-out) both;
  animation-delay: var(--item-delay, 0ms);
}

.archive-gallery.is-arranging .archive-item {
  animation: none;
}

.archive-image-frame {
  overflow: hidden;
}

.filter-button,
.archive-arrange-button,
.archive-rail-button,
.archive-hover-icon,
.archive-download-pill,
.collection-set-card,
.collection-remove-button {
  cursor: pointer;
}

.filter-button[aria-pressed="true"] {
  color: #111;
}

.archive-rail-button[aria-pressed="true"],
.archive-rail-button.is-active {
  border: 1px solid rgba(var(--accent-rgb), 0.18);
  background: rgba(var(--accent-rgb), 0.1);
  color: var(--accent);
  box-shadow: inset 0 0 0 1px rgba(var(--white-rgb), 0.62);
}

.archive-arrange-button {
  gap: 6px;
  border: 1px solid transparent;
}

.archive-arrange-button:disabled {
  cursor: not-allowed;
  opacity: 0.44;
}

.archive-arrange-status:not(:empty) {
  min-height: 28px;
  padding: 7px 9px;
  border: 1px solid rgba(var(--muted-rgb), 0.16);
  border-radius: var(--ui-radius-md);
  background: rgba(var(--paper-rgb), 0.72);
  color: rgba(var(--accent-dark-rgb), 0.72);
}

.collection-set-card {
  position: relative;
  overflow: hidden;
}

.collection-set-card::after {
  position: absolute;
  right: 16px;
  bottom: 14px;
  left: 16px;
  height: 2px;
  background: rgba(var(--accent-rgb), 0.76);
  content: "";
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--ui-motion-base) var(--ui-ease-out);
}

.collection-set-card.is-active::after {
  transform: scaleX(1);
}

.contact-page-intro,
.contact-page-form {
  animation: mt-page-reveal 520ms var(--ui-ease-out) both;
}

.contact-page-form {
  animation-delay: 80ms;
}

.form-field {
  position: relative;
}

.form-field.is-focused label,
.form-field.has-error label {
  color: var(--accent);
}

.form-field.is-filled input,
.form-field.is-filled textarea,
.form-field.is-filled select {
  border-color: rgba(var(--accent-dark-rgb), 0.58);
}

.form-field.has-error input,
.form-field.has-error textarea,
.form-field.has-error select {
  border-color: rgba(var(--accent-rgb), 0.86);
  background: rgba(var(--accent-rgb), 0.035);
}

.form-field input[aria-invalid="true"],
.form-field textarea[aria-invalid="true"],
.form-field select[aria-invalid="true"] {
  scroll-margin-top: 112px;
}

.contact-submit {
  gap: 8px;
}

.contact-submit.is-loading::after {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(var(--white-rgb), 0.34);
  border-top-color: var(--white);
  border-radius: 999px;
  animation: mt-spin 760ms linear infinite;
  content: "";
}

@media (prefers-reduced-motion: reduce) {
  .archive-item,
  .collection-item,
  .contact-page-intro,
  .contact-page-form {
    animation: none;
  }

  .contact-submit.is-loading::after {
    animation: none;
  }
}

@media (max-width: 900px) {
  .archive-page {
    --archive-topbar-height: 106px;
  }

  .archive-main {
    padding-top: calc(var(--archive-topbar-height) + var(--archive-tabs-height) + 24px);
  }

  .archive-controls {
    top: var(--archive-topbar-height);
  }

  .collections-main {
    padding-top: calc(var(--archive-topbar-height) + 18px);
  }
}

/* Immersive image viewer and compact card actions. */
.work-viewer-backdrop {
  background: #171717;
  backdrop-filter: none;
}

.work-viewer-dialog {
  background: #171717;
}

.work-viewer-controls {
  position: absolute;
  inset: 0 0 auto;
  z-index: 6;
  min-height: 74px;
  border-bottom: 1px solid #d9dbd7;
  background: #f7f7f5;
  pointer-events: none;
}

.work-viewer-position,
.work-viewer-actions {
  pointer-events: auto;
}

.work-viewer-position {
  min-height: 34px;
  padding: 9px 12px;
  border-radius: 0;
  background: transparent;
  color: rgba(var(--ink-rgb), 0.72);
  box-shadow: none;
}

.work-viewer-icon-button {
  width: 44px;
  height: 44px;
  border-color: rgba(var(--ink-rgb), 0.08);
  border-radius: 4px;
  background: transparent;
  color: rgba(var(--ink-rgb), 0.74);
  box-shadow: none;
}

.work-viewer-icon-button:hover,
.work-viewer-icon-button:focus-visible,
.work-viewer-icon-button.is-active {
  border-color: rgba(var(--accent-rgb), 0.22);
  background: var(--white);
  color: var(--accent);
}

.work-viewer-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  height: 100dvh;
  min-height: 100dvh;
  position: relative;
}

.work-viewer-media {
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  padding: clamp(18px, 4vw, 58px);
  border-right: 0;
  background: #171717;
}

.work-viewer-media img {
  width: auto;
  max-width: calc(100vw - clamp(36px, 8vw, 116px));
  height: auto;
  max-height: calc(100dvh - clamp(36px, 8vw, 116px));
  object-fit: contain;
}

.work-viewer-info {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  width: min(440px, 100vw);
  padding-top: 86px;
  border-left: 1px solid rgba(var(--muted-rgb), 0.18);
  background: #fff;
  backdrop-filter: none;
  box-shadow: none;
  opacity: 0;
  pointer-events: none;
  transform: translateX(100%);
  transition:
    opacity 240ms var(--ui-ease-standard),
    transform 300ms var(--ui-ease-out);
}

.work-viewer-dialog.is-info-open .work-viewer-info {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.work-viewer-dialog.is-zoomed .work-viewer-media {
  place-items: start center;
  padding-top: 82px;
}

.work-viewer-media img {
  cursor: default;
}

.work-viewer-dialog.is-zoomed .work-viewer-media img {
  cursor: grab;
}

.archive-rail-button[data-tooltip],
.archive-icon-button[data-tooltip],
.archive-hover-icon[data-tooltip],
.work-viewer-icon-button[data-tooltip],
.work-viewer-action-button[data-tooltip] {
  position: relative;
  overflow: visible;
}

.archive-rail-button[data-tooltip]::before,
.archive-icon-button[data-tooltip]::before,
.archive-hover-icon[data-tooltip]::before,
.work-viewer-icon-button[data-tooltip]::before,
.work-viewer-action-button[data-tooltip]::before,
.archive-rail-button[data-tooltip]::after,
.archive-icon-button[data-tooltip]::after,
.archive-hover-icon[data-tooltip]::after,
.work-viewer-icon-button[data-tooltip]::after,
.work-viewer-action-button[data-tooltip]::after {
  position: absolute;
  z-index: 60;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 120ms ease,
    transform 120ms ease;
}

.archive-rail-button[data-tooltip]::after,
.archive-icon-button[data-tooltip]::after,
.archive-hover-icon[data-tooltip]::after,
.work-viewer-icon-button[data-tooltip]::after,
.work-viewer-action-button[data-tooltip]::after {
  content: attr(data-tooltip);
  width: max-content;
  max-width: min(220px, 72vw);
  padding: 9px 11px;
  border-radius: 7px;
  background: rgba(17, 17, 17, 0.96);
  color: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
}

.archive-rail-button[data-tooltip]::before,
.archive-icon-button[data-tooltip]::before,
.archive-hover-icon[data-tooltip]::before,
.work-viewer-icon-button[data-tooltip]::before,
.work-viewer-action-button[data-tooltip]::before {
  width: 0;
  height: 0;
  content: "";
}

.archive-rail-button[data-tooltip]::after {
  top: 50%;
  left: calc(100% + 12px);
  transform: translate(6px, -50%);
}

.archive-rail-button[data-tooltip]::before {
  top: 50%;
  left: calc(100% + 6px);
  border-top: 6px solid transparent;
  border-right: 6px solid rgba(17, 17, 17, 0.96);
  border-bottom: 6px solid transparent;
  transform: translate(6px, -50%);
}

.archive-hover-icon[data-tooltip]::after,
.work-viewer-icon-button[data-tooltip]::after,
.work-viewer-action-button[data-tooltip]::after,
.archive-icon-button[data-tooltip]::after {
  top: calc(100% + 10px);
  left: 50%;
  transform: translate(-50%, -4px);
}

.archive-hover-icon[data-tooltip]::before,
.work-viewer-icon-button[data-tooltip]::before,
.work-viewer-action-button[data-tooltip]::before,
.archive-icon-button[data-tooltip]::before {
  top: calc(100% + 4px);
  left: 50%;
  border-right: 6px solid transparent;
  border-bottom: 6px solid rgba(17, 17, 17, 0.96);
  border-left: 6px solid transparent;
  transform: translate(-50%, -4px);
}

.work-viewer-actions .work-viewer-icon-button:last-child[data-tooltip]::after {
  right: 0;
  left: auto;
  transform: translateY(-4px);
}

.archive-rail-button[data-tooltip]:hover::before,
.archive-rail-button[data-tooltip]:hover::after,
.archive-rail-button[data-tooltip]:focus-visible::before,
.archive-rail-button[data-tooltip]:focus-visible::after,
.archive-icon-button[data-tooltip]:hover::before,
.archive-icon-button[data-tooltip]:hover::after,
.archive-icon-button[data-tooltip]:focus-visible::before,
.archive-icon-button[data-tooltip]:focus-visible::after,
.archive-hover-icon[data-tooltip]:hover::before,
.archive-hover-icon[data-tooltip]:hover::after,
.archive-hover-icon[data-tooltip]:focus-visible::before,
.archive-hover-icon[data-tooltip]:focus-visible::after,
.work-viewer-icon-button[data-tooltip]:hover::before,
.work-viewer-icon-button[data-tooltip]:hover::after,
.work-viewer-icon-button[data-tooltip]:focus-visible::before,
.work-viewer-icon-button[data-tooltip]:focus-visible::after,
.work-viewer-action-button[data-tooltip]:hover::before,
.work-viewer-action-button[data-tooltip]:hover::after,
.work-viewer-action-button[data-tooltip]:focus-visible::before,
.work-viewer-action-button[data-tooltip]:focus-visible::after {
  opacity: 1;
}

.archive-rail-button[data-tooltip]:hover::before,
.archive-rail-button[data-tooltip]:hover::after,
.archive-rail-button[data-tooltip]:focus-visible::before,
.archive-rail-button[data-tooltip]:focus-visible::after {
  transform: translate(0, -50%);
}

.archive-icon-button[data-tooltip]:hover::before,
.archive-icon-button[data-tooltip]:hover::after,
.archive-icon-button[data-tooltip]:focus-visible::before,
.archive-icon-button[data-tooltip]:focus-visible::after,
.archive-hover-icon[data-tooltip]:hover::before,
.archive-hover-icon[data-tooltip]:hover::after,
.archive-hover-icon[data-tooltip]:focus-visible::before,
.archive-hover-icon[data-tooltip]:focus-visible::after,
.work-viewer-icon-button[data-tooltip]:hover::before,
.work-viewer-icon-button[data-tooltip]:hover::after,
.work-viewer-icon-button[data-tooltip]:focus-visible::before,
.work-viewer-icon-button[data-tooltip]:focus-visible::after,
.work-viewer-action-button[data-tooltip]:hover::before,
.work-viewer-action-button[data-tooltip]:hover::after,
.work-viewer-action-button[data-tooltip]:focus-visible::before,
.work-viewer-action-button[data-tooltip]:focus-visible::after {
  transform: translate(-50%, 0);
}

.work-viewer-actions .work-viewer-icon-button:last-child[data-tooltip]:hover::after,
.work-viewer-actions .work-viewer-icon-button:last-child[data-tooltip]:focus-visible::after {
  transform: translateY(0);
}

.archive-hover-credit,
.archive-download-pill {
  display: none;
}

.archive-hover-layer::before {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.24), rgba(0, 0, 0, 0.02) 44%, rgba(0, 0, 0, 0.16)),
    rgba(0, 0, 0, 0.04);
}

.archive-hover-actions {
  top: 16px;
  right: 16px;
}

.archive-hover-icon {
  width: 46px;
  min-width: 46px;
  height: 46px;
  border-radius: 14px;
}

@media (max-width: 680px) {
  .work-viewer-controls {
    min-height: 68px;
    padding: 10px 12px;
  }

  .work-viewer-position {
    max-width: 34vw;
    min-height: 32px;
    padding: 8px 10px;
  }

  .work-viewer-icon-button {
    width: 40px;
    height: 40px;
  }

  .work-viewer-media {
    padding: 72px 14px 20px;
  }

  .work-viewer-media img {
    max-width: calc(100vw - 28px);
    max-height: calc(100dvh - 92px);
  }

  .work-viewer-info {
    width: 100vw;
    padding-top: 76px;
  }

  .archive-hover-brand {
    top: 16px;
    left: 16px;
  }

  .archive-hover-actions {
    top: 14px;
    right: 14px;
  }
}

/* Upload Studio: private Draft workspace and resilient upload queue. */
.upload-studio-page {
  --archive-rail-width: 78px;
  min-height: 100vh;
  background: #fbfbf9;
}

.upload-studio-header {
  left: var(--archive-rail-width);
  min-height: 68px;
  border-bottom: 1px solid #e6e6e2;
  background: rgba(251, 251, 249, 0.96);
  backdrop-filter: blur(14px);
}

.upload-studio-shell {
  width: calc(100% - var(--archive-rail-width));
  margin: 0 0 0 var(--archive-rail-width);
  padding: 88px clamp(22px, 3vw, 48px) 48px;
}

.upload-studio-command {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 0 0 14px;
  border-bottom: 1px solid #deded9;
}

.upload-studio-title-block h1 {
  margin: 0;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 24px;
  font-weight: 780;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
}

.upload-studio-title-block .section-kicker {
  display: none;
}

.upload-studio-actions,
.upload-studio-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.upload-studio-primary,
.upload-studio-save,
.upload-studio-reload,
.upload-studio-submit,
.upload-studio-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  gap: 9px;
  border: 1px solid rgba(var(--ink-rgb), 0.12);
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}

.upload-studio-primary,
.upload-studio-submit {
  padding: 0 16px;
  background: var(--ink);
  color: var(--white);
}

.upload-studio-secondary,
.upload-studio-save,
.upload-studio-reload {
  padding: 0 14px;
  background: rgba(var(--white-rgb), 0.86);
  color: rgba(var(--ink-rgb), 0.78);
}

.upload-studio-primary:hover,
.upload-studio-save:hover,
.upload-studio-reload:hover,
.upload-studio-submit:hover,
.upload-studio-secondary:hover {
  transform: translateY(-1px);
}

.upload-studio-primary:focus-visible,
.upload-studio-save:focus-visible,
.upload-studio-reload:focus-visible,
.upload-studio-submit:focus-visible,
.upload-studio-secondary:focus-visible {
  outline: none;
  box-shadow: var(--ui-focus);
}

.upload-studio-primary[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.5;
  transform: none;
}

.upload-studio-grid {
  display: grid;
  grid-template-columns: minmax(210px, 248px) minmax(0, 1fr);
  align-items: start;
  gap: 0;
  padding-top: 22px;
}

.upload-studio-grid[data-editor-state="active"] {
  grid-template-columns: minmax(210px, 232px) minmax(360px, 0.86fr) minmax(460px, 1.14fr);
}

.upload-studio-grid[data-editor-state="empty"] .upload-studio-editor {
  display: none;
}

.upload-studio-folder-panel,
.upload-studio-drop-panel,
.upload-studio-editor {
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.upload-studio-folder-panel {
  position: sticky;
  top: 92px;
  min-height: 420px;
  padding: 4px 22px 30px 0;
  border-right: 1px solid #e3e3df;
}

.upload-studio-drop-panel {
  min-height: 420px;
  padding: 0 24px 30px;
}

.upload-studio-editor {
  position: sticky;
  top: 92px;
  max-height: calc(100vh - 108px);
  overflow-x: hidden;
  overflow-y: auto;
  border-left: 1px solid #e3e3df;
  background: #fff;
}

.upload-studio-panel-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.upload-studio-panel-heading h2,
.upload-studio-dropzone h2,
.upload-studio-editor-empty h2,
.upload-studio-empty h2 {
  margin: 0;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: 0;
}

.upload-studio-panel-heading p,
.upload-studio-dropzone p,
.upload-studio-editor-empty p,
.upload-studio-empty p {
  margin: 5px 0 0;
  color: rgba(var(--muted-rgb), 0.92);
  font-size: 13px;
  line-height: 1.45;
}

.upload-studio-view-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  margin: 0 0 18px;
  padding: 4px;
  border: 1px solid rgba(var(--muted-rgb), 0.16);
  border-radius: 8px;
  background: rgba(var(--panel-rgb), 0.58);
}

.upload-studio-view-switch button {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
  min-height: 36px;
  gap: 6px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: rgba(var(--muted-rgb), 0.9);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 820;
  text-align: left;
}

.upload-studio-view-switch button:hover,
.upload-studio-view-switch button:focus-visible,
.upload-studio-view-switch button.is-active {
  outline: none;
  background: #fff;
  color: var(--accent);
  box-shadow: 0 1px 4px rgba(var(--ink-rgb), 0.08);
}

.upload-studio-view-switch button:focus-visible {
  box-shadow: var(--ui-focus);
}

.upload-studio-view-switch button:disabled {
  cursor: not-allowed;
  opacity: 0.56;
}

.upload-studio-view-switch .ui-icon {
  width: 16px;
  height: 16px;
}

.upload-studio-view-switch span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upload-studio-view-switch small {
  min-width: 18px;
  color: rgba(var(--muted-rgb), 0.72);
  font-size: 11px;
  font-weight: 850;
  text-align: right;
}

.upload-studio-folder-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  gap: 8px;
  margin-bottom: 12px;
}

.upload-studio-folder-form input,
.upload-studio-fields input,
.upload-studio-fields select,
.upload-studio-fields textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(var(--muted-rgb), 0.18);
  border-radius: 8px;
  background: rgba(var(--white-rgb), 0.88);
  color: var(--ink);
  font: inherit;
  font-size: 14px;
}

.upload-studio-folder-form input {
  height: 38px;
  padding: 0 10px;
}

.upload-studio-folder-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(var(--muted-rgb), 0.18);
  border-radius: 8px;
  background: rgba(var(--panel-rgb), 0.66);
  color: rgba(var(--ink-rgb), 0.78);
  cursor: pointer;
}

.upload-studio-folder-form input:focus,
.upload-studio-folder-form button:focus-visible,
.upload-studio-fields input:focus,
.upload-studio-fields select:focus,
.upload-studio-fields textarea:focus {
  border-color: rgba(var(--accent-rgb), 0.42);
  outline: none;
  box-shadow: var(--ui-focus);
}

.upload-studio-folder-list {
  display: grid;
  gap: 7px;
}

.upload-studio-folder-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
  gap: 4px;
}

.upload-studio-folder {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  gap: 10px;
  width: 100%;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: rgba(var(--ink-rgb), 0.72);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.upload-studio-folder span {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
  overflow: hidden;
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upload-studio-folder small {
  color: rgba(var(--muted-rgb), 0.72);
  font-size: 12px;
  font-weight: 800;
}

.upload-studio-folder:hover,
.upload-studio-folder.is-active {
  border-color: rgba(var(--accent-rgb), 0.16);
  background: rgba(var(--panel-rgb), 0.72);
  color: var(--accent);
}

.upload-studio-folder-actions {
  display: inline-grid;
  grid-template-columns: repeat(2, 30px);
  gap: 2px;
}

.upload-studio-folder-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: rgba(var(--muted-rgb), 0.78);
  cursor: pointer;
}

.upload-studio-folder-actions button:hover,
.upload-studio-folder-actions button:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.18);
  outline: none;
  background: rgba(var(--panel-rgb), 0.78);
  color: var(--accent);
}

.upload-studio-folder-actions .ui-icon {
  width: 15px;
  height: 15px;
}

.upload-studio-dropzone[aria-disabled="true"] {
  opacity: 0.58;
  cursor: not-allowed;
}

.upload-studio-dropzone {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 178px;
  padding: 24px;
  border: 1px dashed #c9d1d2;
  border-radius: 6px;
  background: #f6f8f7;
}

.upload-studio-dropzone > .ui-icon {
  width: 42px;
  height: 42px;
  color: rgba(var(--accent-rgb), 0.8);
}

.upload-studio-dropzone label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid #d8d8d3;
  border-radius: 6px;
  background: #fff;
  color: #333330;
  cursor: pointer;
  font-size: 13px;
  font-weight: 850;
  box-shadow: none;
}

.upload-studio-dropzone.is-dragging {
  border-color: rgba(var(--accent-rgb), 0.58);
  background: rgba(var(--accent-rgb), 0.08);
}

.upload-studio-meter {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 18px;
  border-bottom: 1px solid #e2e2de;
}

.upload-studio-meter div {
  min-width: 0;
  padding: 16px 2px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.upload-studio-meter div + div {
  padding-left: 18px;
  border-left: 1px solid #e2e2de;
}

.upload-studio-meter span,
.upload-studio-meter small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upload-studio-meter span {
  color: var(--ink);
  font-size: 18px;
  font-weight: 850;
  line-height: 1;
}

.upload-studio-meter small {
  margin-top: 5px;
  color: rgba(var(--muted-rgb), 0.78);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.upload-studio-batch-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: -2px 0 18px;
  padding: 13px 0 15px;
  border-bottom: 1px solid #e2e2de;
}

.upload-studio-batch-bar > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.upload-studio-batch-bar strong {
  color: #292a27;
  font-size: 12px;
  line-height: 1.3;
}

.upload-studio-batch-bar span {
  color: #74756f;
  font-size: 11px;
  line-height: 1.45;
}

.upload-studio-batch-bar button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid #385e54;
  border-radius: 6px;
  background: #31564c;
  color: #fff;
  cursor: pointer;
  font: 750 11px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.upload-studio-batch-bar button:disabled,
.upload-studio-secondary[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.48;
}

.upload-studio-queue {
  display: grid;
  gap: 10px;
}

.upload-studio-empty,
.upload-studio-editor-empty {
  display: grid;
  place-items: center;
  min-height: 148px;
  padding: 28px 20px;
  color: rgba(var(--muted-rgb), 0.88);
  text-align: center;
}

.upload-studio-empty .ui-icon,
.upload-studio-editor-empty .ui-icon {
  width: 34px;
  height: 34px;
  margin-bottom: 12px;
  color: rgba(var(--muted-rgb), 0.62);
}

.upload-studio-folder-loading,
.upload-studio-loading {
  display: grid;
  gap: 9px;
}

.upload-studio-folder-loading span,
.upload-studio-loading span {
  display: block;
  height: 12px;
  border-radius: 3px;
  background: #e8e8e4;
  animation: upload-studio-pulse 1.2s ease-in-out infinite alternate;
}

.upload-studio-folder-loading span:first-child { width: 76%; }
.upload-studio-folder-loading span:last-child { width: 54%; animation-delay: 120ms; }
.upload-studio-loading { place-items: start; align-content: center; }
.upload-studio-loading span { width: min(100%, 320px); }
.upload-studio-loading span:nth-child(2) { width: min(72%, 240px); animation-delay: 120ms; }
.upload-studio-loading span:nth-child(3) { width: min(44%, 150px); animation-delay: 240ms; }

@keyframes upload-studio-pulse {
  from { opacity: 0.5; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .upload-studio-folder-loading span,
  .upload-studio-loading span { animation: none; }
}

.upload-studio-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-height: 94px;
  gap: 6px;
  overflow: hidden;
  padding: 0 7px 5px 0;
  border: 1px solid rgba(var(--muted-rgb), 0.14);
  border-radius: 8px;
  background: rgba(var(--white-rgb), 0.78);
  color: var(--ink);
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.upload-studio-card:hover,
.upload-studio-card.is-active {
  border-color: rgba(var(--accent-rgb), 0.28);
  background: var(--white);
}

.upload-studio-card.is-active {
  box-shadow: inset 3px 0 0 rgba(var(--accent-rgb), 0.72);
}

.upload-studio-card[data-state="failed"] {
  border-color: rgba(155, 49, 40, 0.24);
  background: rgba(253, 248, 247, 0.94);
}

.upload-studio-card[data-state="canceled"] {
  border-color: rgba(var(--muted-rgb), 0.2);
  background: rgba(var(--panel-rgb), 0.56);
}

.upload-studio-card-main {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 92px;
  gap: 12px;
  padding: 9px 4px 12px 9px;
  border: 0;
  border-radius: 7px;
  outline: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
}

button.upload-studio-card-main { cursor: pointer; }

button.upload-studio-card-main:focus-visible {
  box-shadow: var(--ui-focus);
}

.upload-studio-card img {
  width: 84px;
  aspect-ratio: 1;
  border-radius: 6px;
  object-fit: cover;
  background: rgba(var(--panel-rgb), 0.8);
}

.upload-studio-task-placeholder {
  display: grid;
  place-items: center;
  width: 84px;
  aspect-ratio: 1;
  border: 1px solid rgba(var(--muted-rgb), 0.14);
  border-radius: 6px;
  background: rgba(var(--panel-rgb), 0.68);
  color: rgba(var(--muted-rgb), 0.62);
}

.upload-studio-task-placeholder .ui-icon {
  width: 25px;
  height: 25px;
}

.upload-studio-card-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.upload-studio-card-copy strong,
.upload-studio-card-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upload-studio-task .upload-studio-card-copy small:first-of-type {
  display: -webkit-box;
  overflow: hidden;
  line-height: 1.3;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.upload-studio-card-copy strong {
  font-size: 14px;
  font-weight: 850;
  line-height: 1.1;
}

.upload-studio-card-copy small {
  color: rgba(var(--muted-rgb), 0.82);
  font-size: 12px;
  line-height: 1.2;
}

.upload-studio-card-state {
  align-self: start;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(var(--panel-rgb), 0.82);
  color: rgba(var(--muted-rgb), 0.9);
  font-size: 11px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}

.upload-studio-card-state[data-state="complete"] {
  background: rgba(73, 122, 96, 0.14);
  color: #315b46;
}

.upload-studio-card-state[data-state="warning"] {
  background: rgba(151, 107, 45, 0.14);
  color: #704f1f;
}

.upload-studio-card-state[data-state="failed"] {
  background: rgba(155, 49, 40, 0.12);
  color: #8a2c25;
}

.upload-studio-card-state[data-state="canceling"] {
  background: rgba(151, 107, 45, 0.14);
  color: #704f1f;
}

.upload-studio-card-state[data-state="canceled"] {
  background: rgba(var(--muted-rgb), 0.12);
  color: rgba(var(--muted-rgb), 0.92);
}

.upload-studio-task-actions {
  display: inline-grid;
  grid-auto-flow: column;
  grid-auto-columns: 34px;
  min-width: 0;
  gap: 4px;
  padding-right: 3px;
}

.upload-studio-task-actions:empty { display: none; }

.upload-studio-task-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(var(--muted-rgb), 0.18);
  border-radius: 6px;
  outline: 0;
  background: rgba(var(--white-rgb), 0.84);
  color: rgba(var(--ink-rgb), 0.7);
  cursor: pointer;
}

.upload-studio-task-actions button:hover,
.upload-studio-task-actions button:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.32);
  box-shadow: var(--ui-focus);
  color: var(--accent);
}

.upload-studio-task-actions .ui-icon {
  width: 16px;
  height: 16px;
}

.upload-studio-trash-card .upload-studio-card-main {
  cursor: default;
}

.upload-studio-trash-card .upload-studio-task-actions {
  align-self: center;
}

.upload-studio-trash-card .upload-studio-task-actions button:disabled {
  cursor: wait;
  opacity: 0.54;
}

.upload-studio-trash-card .upload-studio-trash-error {
  overflow: visible;
  color: #8a2c25;
  line-height: 1.35;
  text-overflow: clip;
  white-space: normal;
}

.upload-studio-trash-message {
  gap: 10px;
}

.upload-studio-trash-message .upload-studio-secondary {
  width: max-content;
  margin-top: 4px;
}

.upload-studio-progress {
  position: absolute;
  right: 10px;
  bottom: 7px;
  left: 10px;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(var(--muted-rgb), 0.12);
}

.upload-studio-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: rgba(var(--accent-rgb), 0.72);
  transition: width 220ms ease;
}

.upload-studio-card[data-state="failed"] .upload-studio-progress span {
  background: #9b3128;
}

.upload-studio-card[data-state="canceling"] .upload-studio-progress span {
  background: #976b2d;
}

.upload-studio-card[data-state="canceled"] .upload-studio-progress span {
  background: rgba(var(--muted-rgb), 0.52);
}

.upload-studio-form {
  display: grid;
  gap: 18px;
}

.upload-studio-field-group {
  display: grid;
  gap: 12px;
}

.upload-studio-field-group + .upload-studio-field-group {
  padding-top: 18px;
  border-top: 1px solid rgba(var(--muted-rgb), 0.14);
}

.upload-studio-field-group h3 {
  margin: 0;
  padding: 0 16px;
  color: rgba(var(--ink-rgb), 0.72);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.3;
  text-transform: uppercase;
}

.upload-studio-inspector {
  display: grid;
  grid-template-columns: minmax(180px, 0.75fr) minmax(0, 1fr);
  gap: 16px;
  padding: 16px;
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.14);
  background: rgba(var(--paper-rgb), 0.76);
}

.upload-studio-preview {
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: rgba(var(--panel-rgb), 0.82);
}

.upload-studio-preview img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.upload-studio-summary {
  align-self: center;
  min-width: 0;
}

.upload-studio-summary p {
  margin: 0;
  color: rgba(var(--muted-rgb), 0.78);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.upload-studio-summary h2 {
  margin: 7px 0 14px;
  overflow-wrap: anywhere;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(22px, 2.2vw, 34px);
  font-weight: 850;
  line-height: 1;
  letter-spacing: 0;
}

.upload-studio-summary dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.upload-studio-summary dl div {
  min-width: 0;
}

.upload-studio-summary dt,
.upload-studio-summary dd {
  margin: 0;
}

.upload-studio-summary dt {
  color: rgba(var(--muted-rgb), 0.72);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.upload-studio-summary dd {
  overflow: hidden;
  color: rgba(var(--ink-rgb), 0.86);
  font-size: 12px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upload-studio-save-state {
  min-height: 20px;
  margin-top: 12px !important;
  color: rgba(var(--muted-rgb), 0.9) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.upload-studio-save-state[data-state="saved"] {
  color: #315b46 !important;
}

.upload-studio-save-state[data-state="warning"] {
  color: #704f1f !important;
}

.upload-studio-save-state[data-state="dirty"] {
  color: #704f1f !important;
}

.upload-studio-save-state[data-state="saving"] {
  color: #31546a !important;
}

.upload-studio-save-state[data-state="error"],
.upload-studio-save-state[data-state="conflict"] {
  color: var(--accent) !important;
}

.upload-studio-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 0 16px;
}

.upload-studio-fields .form-field {
  gap: 6px;
}

.upload-studio-fields input,
.upload-studio-fields select {
  height: 42px;
  padding: 0 11px;
}

.upload-studio-fields textarea {
  min-height: 104px;
  padding: 10px 11px;
  line-height: 1.45;
  resize: vertical;
}

.upload-studio-span {
  grid-column: 1 / -1;
}

.upload-studio-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  padding: 4px 0;
  color: rgba(var(--ink-rgb), 0.86);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.4;
  cursor: pointer;
}

.upload-studio-fields .upload-studio-check input {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin: 1px 0 0;
  accent-color: var(--accent);
}

.upload-studio-check:focus-within {
  outline: 2px solid rgba(var(--accent-rgb), 0.24);
  outline-offset: 3px;
}

.upload-studio-readiness {
  display: grid;
  gap: 12px;
  padding: 18px 16px 0;
  border-top: 1px solid rgba(var(--muted-rgb), 0.14);
}

.upload-studio-readiness-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  align-items: start;
  gap: 12px;
}

.upload-studio-readiness-header h3 {
  margin: 0;
  color: rgba(var(--ink-rgb), 0.72);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.3;
  text-transform: uppercase;
}

.upload-studio-readiness-header p {
  min-height: 18px;
  margin: 5px 0 0;
  color: rgba(var(--muted-rgb), 0.88);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.upload-studio-readiness[data-state="ready"] .upload-studio-readiness-header p {
  color: #315b46;
}

.upload-studio-readiness[data-state="error"] .upload-studio-readiness-header p,
.upload-studio-readiness[data-state="blocked"] .upload-studio-readiness-header p {
  color: #8a2c25;
}

.upload-studio-readiness-refresh {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(var(--muted-rgb), 0.2);
  border-radius: 7px;
  outline: 0;
  background: rgba(var(--white-rgb), 0.86);
  color: rgba(var(--ink-rgb), 0.68);
  cursor: pointer;
}

.upload-studio-readiness-refresh:hover,
.upload-studio-readiness-refresh:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.36);
  box-shadow: var(--ui-focus);
  color: var(--accent);
}

.upload-studio-readiness-refresh:disabled {
  cursor: not-allowed;
  opacity: 0.46;
}

.upload-studio-readiness-refresh .ui-icon {
  width: 17px;
  height: 17px;
}

.upload-studio-readiness[data-state="checking"] .upload-studio-readiness-refresh .ui-icon {
  animation: upload-studio-readiness-spin 900ms linear infinite;
}

.upload-studio-readiness-list {
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(var(--muted-rgb), 0.12);
  list-style: none;
}

.upload-studio-readiness-list li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  min-height: 48px;
  gap: 9px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.1);
}

.upload-studio-readiness-list .ui-icon {
  width: 17px;
  height: 17px;
  margin-top: 2px;
  color: rgba(var(--muted-rgb), 0.72);
}

.upload-studio-readiness-list li[data-state="pass"] .ui-icon {
  color: #315b46;
}

.upload-studio-readiness-list li[data-state="pending"] .ui-icon {
  color: #31546a;
}

.upload-studio-readiness-list li[data-state="blocked"] .ui-icon {
  color: #8a2c25;
}

.upload-studio-readiness-list strong,
.upload-studio-readiness-list small {
  display: block;
  overflow-wrap: anywhere;
}

.upload-studio-readiness-list strong {
  color: rgba(var(--ink-rgb), 0.86);
  font-size: 12px;
  font-weight: 820;
  line-height: 1.3;
}

.upload-studio-readiness-list small {
  margin-top: 2px;
  color: rgba(var(--muted-rgb), 0.8);
  font-size: 11px;
  line-height: 1.35;
}

@keyframes upload-studio-readiness-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .upload-studio-readiness[data-state="checking"] .upload-studio-readiness-refresh .ui-icon {
    animation: none;
  }
}

.upload-studio-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 16px 16px;
}

.upload-studio-footer-danger,
.upload-studio-footer-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.upload-studio-footer-actions {
  justify-content: flex-end;
  margin-left: auto;
}

.upload-studio-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid rgba(var(--accent-rgb), 0.28);
  border-radius: 8px;
  background: rgba(var(--accent-rgb), 0.06);
  color: var(--accent);
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.upload-studio-danger:hover,
.upload-studio-danger:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.5);
  background: rgba(var(--accent-rgb), 0.1);
  outline: none;
  transform: translateY(-1px);
}

.upload-studio-danger:disabled {
  cursor: not-allowed;
  opacity: 0.48;
  transform: none;
}

.upload-studio-save:disabled,
.upload-studio-reload:disabled,
.upload-studio-submit:disabled {
  cursor: not-allowed;
  opacity: 0.48;
  transform: none;
}

.upload-studio-toast {
  z-index: 120;
}

.upload-studio-confirm {
  width: min(440px, calc(100% - 32px));
  max-width: none;
  padding: 0;
  border: 1px solid rgba(var(--ink-rgb), 0.18);
  border-radius: 8px;
  background: var(--white);
  color: var(--ink);
  box-shadow: 0 24px 72px rgba(var(--ink-rgb), 0.2);
}

.upload-studio-confirm::backdrop {
  background: rgba(var(--ink-rgb), 0.36);
  backdrop-filter: blur(2px);
}

.upload-studio-confirm form {
  display: grid;
  gap: 18px;
  padding: 22px;
}

.upload-studio-confirm header {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.upload-studio-confirm-icon {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(49, 91, 70, 0.22);
  border-radius: 8px;
  background: rgba(49, 91, 70, 0.08);
  color: #315b46;
}

.upload-studio-confirm-icon .ui-icon {
  width: 19px;
  height: 19px;
}

.upload-studio-confirm header p,
.upload-studio-confirm > form > p,
.upload-studio-confirm h2 {
  margin: 0;
}

.upload-studio-confirm header p {
  color: rgba(var(--muted-rgb), 0.8);
  font-size: 10px;
  font-weight: 850;
  line-height: 1.3;
  text-transform: uppercase;
}

.upload-studio-confirm h2 {
  margin-top: 4px;
  overflow-wrap: anywhere;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 20px;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.15;
}

.upload-studio-confirm > form > p {
  color: rgba(var(--muted-rgb), 0.9);
  font-size: 13px;
  line-height: 1.5;
}

.upload-studio-confirm-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.upload-studio-confirm-actions button {
  width: 100%;
}

.upload-studio-quick-dialog {
  width: min(720px, calc(100% - 32px));
}

.upload-studio-quick-dialog form {
  grid-template-rows: minmax(0, 1fr) auto;
  height: min(820px, calc(100vh - 48px));
  max-height: calc(100vh - 48px);
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.upload-studio-quick-scroll {
  display: grid;
  gap: 18px;
  min-height: 0;
  padding: 22px 22px 14px;
  overflow: auto;
}

.upload-studio-quick-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}

.upload-studio-quick-fields .form-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.upload-studio-quick-fields .form-field > span {
  color: #62645f;
  font-size: 11px;
  font-weight: 750;
}

.upload-studio-quick-fields input:not([type="checkbox"]),
.upload-studio-quick-fields select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 0 11px;
  border: 1px solid #d2d3cd;
  border-radius: 5px;
  background: #fff;
  color: #272824;
  font: 400 13px/1.4 Inter, "Helvetica Neue", Arial, sans-serif;
}

.upload-studio-quick-fields input:focus,
.upload-studio-quick-fields select:focus {
  border-color: #31564c;
  outline: 2px solid rgba(49, 86, 76, 0.15);
  outline-offset: 1px;
}

.upload-studio-quick-fields small {
  color: #7a7b75;
  font-size: 10px;
  line-height: 1.4;
}

.upload-studio-quick-note {
  padding: 11px 12px;
  border-left: 2px solid #31564c;
  background: #f2f5f2;
}

.upload-studio-quick-dialog .upload-studio-confirm-actions {
  padding: 14px 22px 22px;
  background: var(--white);
  box-shadow: 0 -1px 0 rgba(var(--ink-rgb), 0.1);
}

@media (max-width: 1180px) {
  .upload-studio-grid,
  .upload-studio-grid[data-editor-state="active"] {
    grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
  }

  .upload-studio-editor {
    grid-column: 1 / -1;
    position: static;
    max-height: none;
    overflow: visible;
    margin-top: 24px;
    border-top: 1px solid #e3e3df;
    border-left: 0;
  }

  .upload-studio-folder-panel {
    position: static;
  }
}

@media (max-width: 760px) {
  .upload-studio-page {
    --archive-rail-width: 0px;
  }

  .upload-studio-rail {
    display: none;
  }

  .upload-studio-header {
    left: 0;
  }

  .upload-studio-shell {
    width: 100%;
    margin-left: 0;
    padding: 94px 16px 36px;
  }

  .upload-studio-command,
  .upload-studio-actions,
  .upload-studio-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .upload-studio-footer-danger,
  .upload-studio-footer-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
    margin-left: 0;
  }

  .upload-studio-footer-actions button,
  .upload-studio-footer-danger button {
    width: 100%;
  }

  .upload-studio-footer-danger {
    order: 2;
  }

  .upload-studio-grid,
  .upload-studio-grid[data-editor-state="active"],
  .upload-studio-inspector,
  .upload-studio-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .upload-studio-folder-panel {
    min-height: 0;
    padding: 0 0 20px;
    border-right: 0;
    border-bottom: 1px solid #e3e3df;
  }

  .upload-studio-drop-panel {
    min-height: 0;
    padding: 20px 0 0;
  }

  .upload-studio-editor {
    margin-top: 22px;
  }

  .upload-studio-dropzone {
    grid-template-columns: minmax(0, 1fr);
    text-align: left;
  }

  .upload-studio-card {
    grid-template-columns: minmax(0, 1fr);
    padding-right: 0;
  }

  .upload-studio-card-main {
    grid-template-columns: 72px minmax(0, 1fr);
    min-height: 96px;
  }

  .upload-studio-card-main .upload-studio-card-state {
    grid-column: 2;
    justify-self: start;
  }

  .upload-studio-card img,
  .upload-studio-task-placeholder {
    width: 72px;
  }

  .upload-studio-task-actions {
    justify-self: end;
    padding: 0 10px 12px;
  }
}

@media (max-width: 480px) {
  .upload-studio-confirm form {
    padding: 18px;
  }

  .upload-studio-confirm-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Manage Review Center: internal archive auditing and approval workflow. */
.manage-page {
  --archive-rail-width: 78px;
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(var(--paper-rgb), 0.92) 34%),
    var(--paper);
}

.manage-page .ui-icon {
  width: 18px;
  height: 18px;
  stroke-width: 2;
}

.manage-header {
  left: var(--archive-rail-width);
  border-bottom: 1px solid rgba(var(--muted-rgb), 0.16);
  background: rgba(var(--paper-rgb), 0.94);
  backdrop-filter: blur(16px);
}

.manage-main {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: min(1680px, calc(100% - var(--archive-rail-width)));
  margin: 0 0 0 var(--archive-rail-width);
  padding: 86px clamp(16px, 2.4vw, 34px) 42px;
}

.manage-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 52px;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #e6e6e6;
}

.manage-hero .section-kicker {
  display: none;
}

.manage-hero h1 {
  margin: 0;
  color: #171717;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 20px;
  font-weight: 850;
  line-height: 1;
}

.manage-hero-copy {
  max-width: 680px;
  margin: 0;
  color: rgba(var(--accent-dark-rgb), 0.82);
  font: 14px/1.55 Inter, "Helvetica Neue", Arial, sans-serif;
}

.manage-hero-actions .button {
  min-height: 42px;
  border-radius: 8px;
}

.manage-review-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: 2px;
}

.manage-review-stat {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 auto;
  gap: 12px;
  min-width: 132px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(var(--muted-rgb), 0.18);
  border-radius: 8px;
  background: #fff;
  color: rgba(var(--ink-rgb), 0.92);
  cursor: pointer;
  text-align: left;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.manage-review-stat:hover,
.manage-review-stat:focus-visible {
  border-color: #cfcfcf;
  background: #f6f6f6;
  box-shadow: none;
  outline: none;
  transform: none;
}

.manage-review-stat.is-active {
  border-color: #cfcfcf;
  background: #f6f6f6;
  box-shadow: inset 0 -2px 0 rgba(40, 101, 72, 0.72);
}

.manage-review-stat span,
.manage-review-stat small {
  min-width: 0;
  overflow-wrap: anywhere;
  font: 11px/1.35 Inter, "Helvetica Neue", Arial, sans-serif;
}

.manage-review-stat span {
  color: #333;
  font-size: 13px;
  font-weight: 750;
  text-transform: none;
}

.manage-review-stat strong {
  min-width: 24px;
  color: #777;
  font: 850 13px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  text-align: right;
}

.manage-review-stat small {
  color: rgba(var(--muted-rgb), 0.86);
}

.manage-workspace {
  grid-template-columns: minmax(300px, 410px) minmax(0, 1fr);
  gap: 22px;
  order: 3;
}

.manage-operations-panel {
  order: 4;
  margin: 8px 0 0;
}

.manage-list-panel,
.manage-editor-panel {
  border: 1px solid rgba(var(--muted-rgb), 0.16);
  border-radius: 8px;
  background: rgba(var(--white-rgb), 0.72);
  box-shadow: 0 14px 34px rgba(var(--ink-rgb), 0.045);
}

.manage-list-panel {
  top: 80px;
  padding: 14px;
}

.manage-editor-panel {
  padding: clamp(18px, 2.4vw, 30px);
}

.manage-panel-heading {
  padding: 0 0 14px;
}

.manage-panel-heading h2 {
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  font-weight: 790;
  letter-spacing: 0;
}

.manage-list {
  gap: 10px;
  max-height: calc(100vh - 194px);
  padding: 12px 0 0;
}

.manage-list-item {
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 12px;
  padding: 10px;
  border: 1px solid rgba(var(--muted-rgb), 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.54);
  transition:
    background 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.manage-list-item:hover,
.manage-list-item:focus-visible {
  background: var(--white);
  box-shadow: 0 12px 24px rgba(var(--ink-rgb), 0.065);
  transform: translateY(-1px);
}

.manage-list-item.is-active {
  border-color: rgba(40, 101, 72, 0.36);
  background: rgba(247, 250, 248, 0.96);
  box-shadow:
    inset 3px 0 0 rgba(40, 101, 72, 0.72),
    0 10px 24px rgba(var(--ink-rgb), 0.055);
}

.manage-list-item[data-review="attention"] {
  border-left-color: rgba(151, 58, 37, 0.64);
}

.manage-list-item[data-review="draft"] {
  border-left-color: rgba(154, 118, 47, 0.64);
}

.manage-list-item img {
  width: 74px;
  height: 86px;
  border-radius: 6px;
  filter: saturate(0.94) contrast(1.02);
}

.manage-list-title-row {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.manage-list-copy strong {
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  font-weight: 760;
}

.manage-review-pill,
.manage-review-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: 100%;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(var(--panel-rgb), 0.72);
  color: rgba(var(--accent-dark-rgb), 0.86);
  font: 700 10px/1.15 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.manage-review-pill.is-published,
.manage-review-badge.is-published {
  background: rgba(40, 101, 72, 0.12);
  color: rgb(32, 90, 62);
}

.manage-review-pill.is-attention,
.manage-review-badge.is-attention {
  background: rgba(151, 58, 37, 0.1);
  color: rgb(128, 46, 32);
}

.manage-review-pill.is-draft,
.manage-review-badge.is-draft {
  background: rgba(154, 118, 47, 0.12);
  color: rgb(121, 88, 33);
}

.manage-review-pill.is-dirty,
.manage-review-badge.is-dirty {
  background: rgba(var(--accent-rgb), 0.1);
  color: rgba(var(--accent-rgb), 0.96);
}

.manage-editor-header {
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1fr);
  gap: clamp(20px, 2.6vw, 34px);
}

.manage-preview {
  min-height: 360px;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(245, 245, 242, 0.9), rgba(255, 255, 255, 0.64)),
    rgba(var(--panel-rgb), 0.32);
}

.manage-preview img {
  max-height: 56vh;
  mix-blend-mode: normal;
  filter: saturate(0.96) contrast(1.01);
}

.manage-record-meta {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.manage-review-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 14px;
}

.manage-review-detail {
  color: rgba(var(--muted-rgb), 0.88);
  font: 12px/1.4 Inter, "Helvetica Neue", Arial, sans-serif;
}

.manage-review-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.manage-review-checks li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 34px;
  padding: 8px 10px;
  border: 1px solid rgba(var(--muted-rgb), 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.52);
  font: 12px/1.25 Inter, "Helvetica Neue", Arial, sans-serif;
}

.manage-review-checks li strong {
  color: rgba(40, 101, 72, 0.9);
  font-size: 11px;
  text-transform: uppercase;
}

.manage-review-checks li[data-state="missing"] {
  border-color: rgba(151, 58, 37, 0.2);
  background: rgba(151, 58, 37, 0.055);
}

.manage-review-checks li[data-state="missing"] strong {
  color: rgb(128, 46, 32);
}

.manage-form-section legend {
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 760;
}

.manage-approve-button {
  border-color: rgba(40, 101, 72, 0.74);
  background: rgb(40, 101, 72);
  color: #fff;
}

.manage-approve-button:hover,
.manage-approve-button:focus-visible {
  border-color: rgba(32, 82, 58, 0.9);
  background: rgb(32, 82, 58);
  color: #fff;
}

.manage-approve-button[data-state="published"] {
  border-color: rgba(40, 101, 72, 0.34);
  background: rgba(40, 101, 72, 0.1);
  color: rgb(32, 90, 62);
}

.manage-home-panel {
  background: rgba(var(--white-rgb), 0.52);
  box-shadow: none;
}

.manage-settings-kicker {
  margin: 0 0 5px;
  color: rgba(var(--muted-rgb), 0.84);
  font: 700 10px/1.2 Inter, "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
}

@media (max-width: 1180px) {
  .manage-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .manage-list-panel {
    position: static;
    max-height: none;
  }

  .manage-list {
    display: flex;
    gap: 12px;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    scroll-snap-type: x proximity;
  }

  .manage-list-item {
    flex: 0 0 min(84vw, 360px);
    scroll-snap-align: start;
  }
}

@media (max-width: 900px) {
  .manage-review-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .manage-editor-header,
  .manage-record-meta,
  .manage-field-grid,
  .manage-tag-grid,
  .manage-hero-editor {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .manage-page {
    --archive-rail-width: 0px;
  }

  .manage-rail {
    display: none;
  }

  .manage-header {
    left: 0;
  }

  .manage-main {
    width: 100%;
    margin-left: 0;
    padding: 96px 16px 36px;
  }

  .manage-hero,
  .manage-hero-actions,
  .manage-form-actions,
  .manage-confirm-actions {
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr);
  }

  .manage-hero-actions,
  .manage-form-actions,
  .manage-confirm-actions {
    flex-direction: column;
  }

  .manage-review-stat {
    min-height: 106px;
    padding: 12px;
  }

  .manage-review-checks,
  .manage-home-grid,
  .manage-home-moment,
  .manage-delete-section {
    grid-template-columns: minmax(0, 1fr);
  }

  .manage-list {
    margin-right: -16px;
    margin-left: -16px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .manage-list-item {
    flex-basis: min(88vw, 340px);
  }

  .manage-preview {
    min-height: 250px;
  }
}

@media (max-width: 620px) {
  .manage-main {
    padding-top: 112px;
  }

  .manage-header .site-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .manage-header .site-nav a {
    white-space: nowrap;
    text-align: center;
  }

  .manage-header .site-nav a:first-child {
    text-align: left;
  }

  .manage-header .site-nav a:last-child {
    text-align: right;
  }
}

/* Public photography architecture: Series, About, and browser-local Lightbox. */
.home-series-feature {
  display: grid;
  grid-template-columns: minmax(320px, 1.15fr) minmax(320px, 0.85fr);
  gap: clamp(40px, 8vw, 128px);
  align-items: center;
  padding: clamp(70px, 9vw, 128px) clamp(22px, 6vw, 84px);
  border-top: 1px solid var(--line);
  background: var(--paper);
}

.home-series-media {
  display: block;
  height: min(72vh, 760px);
  overflow: hidden;
  background: var(--panel);
}

.home-series-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 520ms var(--ui-ease-out);
}

.home-series-media:hover img {
  transform: scale(1.012);
}

.home-series-copy {
  max-width: 580px;
}

.home-series-copy h2 {
  margin: 10px 0 24px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 5vw, 70px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: 0;
}

.home-series-copy p {
  margin: 0 0 30px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.8;
}

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

.contact-context {
  padding: 14px 0 4px;
  border-top: 1px solid var(--line);
}

.contact-context-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.contact-context-heading h2,
.contact-context-heading span {
  margin: 0;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}

.contact-context-heading span {
  color: var(--muted);
  font-weight: 400;
}

.contact-context-list {
  display: grid;
  max-height: 280px;
  overflow-y: auto;
}

.contact-context-item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 9px 0;
  border-top: 1px solid rgba(var(--ink-rgb), 0.07);
}

.contact-context-item img {
  width: 48px;
  height: 48px;
  object-fit: cover;
}

.contact-context-item div {
  display: grid;
  min-width: 0;
}

.contact-context-item strong,
.contact-context-item span {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contact-context-item span {
  color: var(--muted);
  font-size: 11px;
}

.contact-context-item button {
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.contact-context-item button:hover,
.contact-context-item button:focus-visible {
  color: var(--ink);
}

.public-page {
  min-height: 100vh;
  background: var(--paper);
}

.public-page .archive-header.site-header {
  border-bottom: 1px solid var(--line);
  background: rgba(var(--paper-rgb), 0.96);
  backdrop-filter: blur(14px);
}

.public-page .site-nav a[aria-current="page"] {
  color: var(--accent);
}

.public-shell {
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: 132px clamp(22px, 5vw, 72px) 88px;
}

.series-intro,
.lightbox-heading {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(320px, 1fr);
  gap: clamp(32px, 7vw, 112px);
  align-items: end;
  padding-bottom: 44px;
  border-bottom: 1px solid var(--line);
}

.series-intro h1,
.lightbox-heading h1,
.about-intro h1 {
  margin: 6px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 7vw, 94px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: 0;
}

.about-intro h1 {
  text-transform: none;
}

.lightbox-heading h1 {
  font-size: 52px;
}

.series-intro > p,
.lightbox-heading > div > p:last-child {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.8;
}

.series-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
}

.series-toolbar > p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.series-filters {
  display: flex;
  gap: 6px;
}

.series-filters button {
  min-height: 34px;
  padding: 5px 13px;
  border: 1px solid transparent;
  border-radius: var(--ui-radius-sm);
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}

.series-filters button:hover,
.series-filters button:focus-visible,
.series-filters button.is-active {
  border-color: var(--line);
  background: var(--panel);
  color: var(--ink);
}

.series-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 64px clamp(24px, 4vw, 58px);
}

.series-card {
  display: block;
  min-width: 0;
  animation: gallery-item-enter 640ms var(--ui-ease-out) both;
  animation-delay: var(--item-delay, 0ms);
}

.series-card figure {
  height: min(54vw, 560px);
  margin: 0;
  overflow: hidden;
  background: var(--panel);
}

.series-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms var(--ui-ease-out);
}

.series-card:hover img {
  transform: scale(1.015);
}

.series-card-copy {
  display: grid;
  grid-template-columns: minmax(180px, 0.72fr) minmax(220px, 1fr);
  gap: 18px 28px;
  padding: 18px 0 0;
  border-top: 1px solid var(--line);
}

.series-card-copy p,
.series-card-copy h2 {
  margin: 0;
}

.series-card-copy > div > p,
.series-card-copy > span {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.series-card-copy h2 {
  margin-top: 4px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
}

.series-card-copy > p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.series-card-copy > span {
  grid-column: 2;
}

.series-empty,
.lightbox-empty {
  padding: 88px 0;
  text-align: center;
}

.series-empty h2,
.lightbox-empty h2 {
  margin: 0 0 24px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 400;
}

.series-back-link {
  display: inline-block;
  margin-bottom: 38px;
  color: var(--muted);
  font-size: 13px;
}

.series-back-link:hover {
  color: var(--ink);
}

.series-detail-header {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(340px, 1fr);
  gap: clamp(40px, 8vw, 132px);
  padding-bottom: 56px;
  border-bottom: 1px solid var(--line);
}

.series-detail-header h1 {
  max-width: 700px;
  margin: 8px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 7vw, 88px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.series-detail-statement p {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 16px;
}

.series-detail-statement p:first-child {
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.5;
}

.series-detail-statement .button {
  margin-top: 16px;
}

.series-work-grid,
.lightbox-gallery {
  columns: 3 300px;
  column-gap: clamp(18px, 2.5vw, 38px);
  padding-top: 54px;
}

.series-work,
.lightbox-item {
  display: inline-block;
  width: 100%;
  margin: 0 0 42px;
  break-inside: avoid;
  animation: gallery-item-enter 620ms var(--ui-ease-out) both;
  animation-delay: var(--item-delay, 0ms);
}

.lightbox-item {
  position: relative;
}

.lightbox-image-link {
  display: block;
  outline: 2px solid transparent;
  outline-offset: 4px;
  transition: outline-color 180ms ease;
}

.lightbox-item.is-inquiry-selected .lightbox-image-link {
  outline-color: #214c43;
}

.lightbox-inquiry-toggle {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(var(--ink-rgb), 0.42);
  border-radius: 50%;
  background: rgba(var(--white-rgb), 0.94);
  color: transparent;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.lightbox-inquiry-toggle span {
  width: 8px;
  height: 13px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-1px) rotate(45deg);
}

.lightbox-inquiry-toggle:hover {
  border-color: var(--ink);
  background: var(--white);
}

.lightbox-inquiry-toggle[aria-pressed="true"] {
  border-color: #214c43;
  background: #214c43;
  color: var(--white);
}

.lightbox-inquiry-toggle:focus-visible {
  outline: 2px solid rgba(var(--accent-rgb), 0.82);
  outline-offset: 3px;
}

.series-work figure,
.lightbox-item figure {
  width: 100%;
  margin: 0;
  aspect-ratio: var(--display-ratio, 1);
  overflow: hidden;
  background: var(--panel);
}

.series-work img,
.lightbox-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.series-work > div,
.lightbox-item-copy {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding-top: 10px;
}

.series-work h2,
.lightbox-item h2 {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.series-work span,
.lightbox-item p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.series-next {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin-top: 36px;
  padding-top: 32px;
  border-top: 1px solid var(--line);
}

.series-next span {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.series-next a {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
}

.about-main {
  padding-top: 116px;
}

.about-intro {
  display: grid;
  grid-template-columns: minmax(300px, 1.08fr) minmax(320px, 0.92fr);
  gap: clamp(40px, 8vw, 128px);
  align-items: center;
}

.about-portrait {
  height: min(72vh, 760px);
  margin: 0;
  overflow: hidden;
  background: var(--panel);
}

.about-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-intro-copy {
  max-width: 590px;
}

.about-lede,
.about-practice h2,
.about-availability h2 {
  margin: 32px 0 22px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
  line-height: 1.5;
}

.about-intro-copy > p:last-child,
.about-practice-copy,
.about-availability p {
  color: var(--muted);
  font-size: 16px;
}

.about-practice {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(340px, 1fr);
  gap: clamp(40px, 9vw, 150px);
  margin-top: 104px;
  padding: 72px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.about-practice h2 {
  margin-top: 8px;
  font-size: 36px;
}

.about-practice-copy p {
  margin: 0 0 24px;
}

.about-availability {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(300px, 0.8fr);
  gap: clamp(40px, 8vw, 120px);
  align-items: center;
  padding-top: 88px;
}

.about-availability figure {
  height: 520px;
  margin: 0;
  overflow: hidden;
}

.about-availability img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-availability h2 {
  margin-top: 8px;
  font-size: 36px;
}

.about-availability .button {
  margin-top: 18px;
}

.lightbox-heading {
  align-items: center;
}

.lightbox-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.lightbox-selection-count {
  flex: 1 0 100%;
  color: var(--muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.lightbox-remove-all {
  border-color: rgba(128, 48, 42, 0.42);
  color: #7a332e;
}

.lightbox-local-note {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.lightbox-item-copy > div {
  min-width: 0;
}

.lightbox-item-copy button {
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.lightbox-item-copy button:hover,
.lightbox-item-copy button:focus-visible {
  color: var(--ink);
}

@media (max-width: 900px) {
  .home-series-feature,
  .series-intro,
  .lightbox-heading,
  .series-detail-header,
  .about-intro,
  .about-practice,
  .about-availability {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-series-copy {
    max-width: 720px;
  }

  .series-grid {
    gap: 46px 20px;
  }

  .series-card-copy {
    grid-template-columns: minmax(0, 1fr);
  }

  .series-card-copy > span {
    grid-column: 1;
  }

  .about-portrait {
    height: 62vh;
  }

  .about-intro-copy {
    max-width: 720px;
  }

  .about-availability figure {
    height: 440px;
  }

  .lightbox-actions {
    justify-content: flex-start;
  }

  .lightbox-selection-count {
    text-align: left;
  }
}

@media (max-width: 620px) {
  .home-series-feature {
    gap: 34px;
    padding: 64px 16px;
  }

  .home-series-media {
    height: 62vh;
    min-height: 420px;
  }

  .home-series-copy h2 {
    font-size: 46px;
  }

  .contact-form-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .public-page .site-header {
    gap: 10px;
    padding: 10px 14px;
  }

  .public-page .site-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
    font-size: 11px;
  }

  .home-page .site-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
    font-size: 11px;
  }

  .home-page .site-nav a {
    text-align: center;
  }

  .public-page .site-nav a {
    text-align: center;
  }

  .public-shell {
    padding: 126px 16px 56px;
  }

  .series-intro,
  .lightbox-heading {
    gap: 24px;
    padding-bottom: 28px;
  }

  .series-intro h1,
  .lightbox-heading h1,
  .about-intro h1 {
    font-size: 52px;
  }

  .series-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .series-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .series-card figure {
    height: 62vh;
    min-height: 380px;
  }

  .series-detail-header {
    gap: 28px;
    padding-bottom: 36px;
  }

  .series-detail-header h1 {
    font-size: 52px;
  }

  .series-work-grid,
  .lightbox-gallery {
    columns: 1;
    padding-top: 36px;
  }

  .series-next {
    align-items: flex-start;
    flex-direction: column;
  }

  .about-main {
    padding-top: 126px;
  }

  .about-portrait {
    height: 58vh;
    min-height: 420px;
  }

  .about-practice {
    margin-top: 64px;
    padding: 52px 0;
  }

  .about-availability {
    padding-top: 64px;
  }

  .about-availability figure {
    height: 52vh;
    min-height: 360px;
  }

  .lightbox-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .lightbox-selection-count {
    flex-basis: auto;
  }

  .lightbox-actions .button {
    width: 100%;
  }

  .lightbox-inquiry-toggle {
    width: 44px;
    height: 44px;
  }

  .lightbox-heading h1 {
    font-size: 42px;
  }

  .upload-studio-header .site-nav,
  .manage-header .site-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .upload-studio-header .site-nav a,
  .manage-header .site-nav a {
    text-align: center;
  }

  .upload-studio-header .account-menu {
    position: absolute;
    top: 12px;
    right: 16px;
    margin-left: 0;
  }

  .upload-studio-shell,
  .manage-main {
    padding-top: 122px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .series-card,
  .series-work,
  .lightbox-item {
    animation: none;
  }

  .series-card img {
    transition: none;
  }

  .lightbox-image-link,
  .lightbox-inquiry-toggle {
    transition: none;
  }
}

/* Universal public rail: shared by Home, Works, Lightbox, About, and Contact. */
@media (min-width: 901px) {
  .public-rail-page {
    --archive-rail-width: 78px;
    padding-left: var(--archive-rail-width);
  }

  .public-rail-page > .site-header {
    left: var(--archive-rail-width);
  }
}

/* Compact gallery navigation, July 2026. */
@media (min-width: 901px) {
  .archive-page { --archive-rail-width: 78px; }

  .archive-rail {
    gap: 22px;
    padding: 18px 10px 14px;
    border-right-color: #e9e9e7;
    background: rgba(252, 252, 251, 0.96);
    box-shadow: 1px 0 0 rgba(0, 0, 0, 0.015);
    overflow-x: hidden;
  }

  .archive-rail-brand {
    width: 44px;
    height: 44px;
    border-color: #d8d8d5;
    border-radius: 50%;
    background: #fff;
    font-size: 19px;
    letter-spacing: -0.04em;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
  }

  .archive-rail-brand:hover,
  .archive-rail-brand:focus-visible {
    border-color: #b8b8b4;
    background: #f5f5f2;
    transform: translateY(-1px);
  }

  .archive-rail-nav,
  .archive-rail-footer { gap: 6px; }

  .archive-rail-button {
    position: relative;
    width: 58px;
    min-height: 54px;
    gap: 4px;
    padding: 7px 4px 6px;
    border: 0;
    border-radius: 10px;
    color: #777773;
    transform: none;
  }

  .archive-rail-button::after {
    content: "";
    position: absolute;
    top: 12px;
    bottom: 12px;
    left: -10px;
    width: 2px;
    border-radius: 0 2px 2px 0;
    background: transparent;
  }

  .archive-rail-button .ui-icon {
    width: 19px;
    height: 19px;
    stroke-width: 1.75;
  }

  .archive-rail-copy {
    color: inherit;
    font-size: 9px;
    font-weight: 650;
    line-height: 1.1;
    letter-spacing: 0.025em;
    white-space: nowrap;
  }

  .archive-rail-button:hover,
  .archive-rail-button:focus-visible {
    border-color: transparent;
    background: #f0f0ed;
    color: #222220;
    transform: none;
  }

  .archive-rail-button.is-active {
    border-color: transparent;
    background: #e9eeef;
    color: #173b4b;
    box-shadow: inset 0 0 0 1px rgba(42, 83, 101, 0.08);
  }

  .archive-rail-button.is-active::after { background: #2f657d; }

  .archive-rail-footer {
    padding-top: 12px;
    border-top-color: #e4e4e1;
  }
}

/* Auth foundation: editorial public-to-workspace boundary. */
.auth-page {
  min-height: 100vh;
  margin: 0;
  background: #f5f4f0;
  color: #171715;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
}

.auth-skip {
  position: fixed;
  top: 10px;
  left: 50%;
  z-index: 20;
  padding: 9px 13px;
  background: #171715;
  color: #fff;
  transform: translate(-50%, -160%);
}

.auth-skip:focus { transform: translate(-50%, 0); }

.auth-shell {
  display: grid;
  grid-template-columns: minmax(420px, 1.08fr) minmax(420px, 0.92fr);
  min-height: 100vh;
}

.auth-visual {
  position: relative;
  min-height: 100vh;
  padding: 28px;
  overflow: hidden;
  background: #22231f;
}

.auth-visual figure,
.auth-visual img {
  width: 100%;
  height: 100%;
  margin: 0;
}

.auth-visual figure { position: absolute; inset: 0; }

.auth-visual img {
  object-fit: cover;
  filter: saturate(0.76) brightness(0.78);
}

.auth-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 12, 10, 0.28), transparent 42%, rgba(11, 12, 10, 0.46));
  pointer-events: none;
}

.auth-brand {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: baseline;
  gap: 9px;
  color: #fff;
  text-decoration: none;
}

.auth-brand span {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 700;
}

.auth-brand small {
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.auth-visual figcaption {
  position: absolute;
  right: 28px;
  bottom: 26px;
  left: 28px;
  z-index: 2;
  color: rgba(255, 255, 255, 0.82);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(19px, 2vw, 30px);
  line-height: 1.2;
}

.auth-panel {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 100vh;
  padding: clamp(34px, 7vw, 96px);
  background: #faf9f6;
}

.auth-panel-inner { width: min(100%, 430px); min-width: 0; }

.auth-page[data-auth-mode="register"] .auth-panel {
  place-items: start center;
  padding-top: clamp(42px, 6vh, 64px);
  padding-bottom: clamp(42px, 6vh, 64px);
}

.auth-page[data-auth-mode="register"] .auth-panel h1 { font-size: clamp(42px, 3.2vw, 46px); }
.auth-page[data-auth-mode="register"] .auth-intro { margin-bottom: 24px; }
.auth-page[data-auth-mode="register"] .auth-form { gap: 16px; }

.auth-eyebrow {
  margin: 0 0 18px;
  color: #6d6c66;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.auth-panel h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 4.5vw, 64px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.035em;
  white-space: normal;
  overflow-wrap: break-word;
}

.auth-intro {
  max-width: 390px;
  margin: 20px 0 34px;
  color: #65645f;
  font-size: 14px;
  line-height: 1.65;
}

.auth-oauth[hidden] { display: none; }

.auth-oauth-providers {
  display: grid;
  gap: 10px;
}

.auth-oauth-button {
  display: grid;
  grid-template-columns: 20px auto;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  gap: 13px;
  align-items: center;
  margin: 0 auto;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #f0f1f3;
  color: #171715;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: background-color 160ms ease, box-shadow 160ms ease;
}

.auth-oauth-button:hover { background: #e4e6e9; }

.auth-oauth-button:active { background: #dadde1; }

.auth-oauth-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(36, 77, 93, 0.24);
}

.auth-provider-logo {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.auth-apple-logo { fill: currentColor; }

.auth-oauth-button-apple {
  border-color: #171715;
  background: #171715;
  color: #fff;
}

.auth-oauth-button-apple:hover { background: #2a2a27; }

.auth-oauth-button-apple:active { background: #090908; }

.auth-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: center;
  margin: 22px 0;
  color: #77756f;
  font-size: 10px;
  text-transform: uppercase;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  height: 1px;
  background: #d9d7d0;
}

.auth-form { display: grid; gap: 20px; }
.auth-form[hidden] { display: none; }
.auth-form[aria-busy="true"] { opacity: 0.78; }

.auth-field { display: grid; gap: 8px; }
.auth-field[hidden],
.auth-consent[hidden] { display: none; }

.auth-field > span,
.auth-consent > span {
  font-size: 12px;
  font-weight: 650;
}

.auth-field input {
  width: 100%;
  min-height: 48px;
  padding: 0 2px;
  border: 0;
  border-bottom: 1px solid #c9c7c0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: #171715;
  font: inherit;
}

.auth-field input:focus {
  border-bottom-color: #244d5d;
  box-shadow: 0 1px 0 #244d5d;
}

.auth-field input[aria-invalid="true"] { border-bottom-color: #9b3128; }

.auth-field small,
.auth-consent small {
  min-height: 15px;
  color: #9b3128;
  font-size: 11px;
  line-height: 1.35;
}

.auth-field-hint {
  margin: -2px 0 0;
  color: #77756f;
  font-size: 10px;
  line-height: 1.45;
}

.auth-field-hint[hidden] { display: none; }

.auth-consent {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 9px;
  align-items: start;
}

.auth-consent input { width: 16px; height: 16px; margin: 1px 0 0; }
.auth-consent small { grid-column: 2; }

.auth-consent a {
  color: #244d5d;
  font-weight: 700;
  text-underline-offset: 3px;
}

.auth-consent a:focus-visible {
  outline: 2px solid #244d5d;
  outline-offset: 3px;
}

.auth-submit {
  min-height: 48px;
  margin-top: 4px;
  border: 1px solid #171715;
  border-radius: 0;
  background: #171715;
  color: #fff;
  font: 700 12px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.04em;
}

.auth-submit:hover:not(:disabled) { background: #2d2d29; }
.auth-submit:disabled { cursor: wait; opacity: 0.58; }

.auth-notice {
  margin: 0 0 22px;
  padding: 12px 14px;
  border-left: 2px solid #9b3128;
  background: #f4ebe8;
  color: #69231d;
  font-size: 12px;
  line-height: 1.5;
}

.auth-notice.is-success {
  border-left-color: #42664b;
  background: #eaf0e9;
  color: #29432f;
}

.auth-loading {
  display: flex;
  min-height: 48px;
  margin: 0 0 24px;
  gap: 11px;
  align-items: center;
  color: #65645f;
  font-size: 12px;
}

.auth-loading[hidden] { display: none; }

.auth-loading span {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  border: 1px solid #b9b7af;
  border-top-color: #244d5d;
  border-radius: 50%;
  animation: mfa-spin 0.8s linear infinite;
}

.auth-loading p { margin: 0; }

.auth-open-browser {
  display: inline-flex;
  min-height: 40px;
  margin: -10px 0 24px;
  align-items: center;
  border-bottom: 1px solid #244d5d;
  color: #244d5d;
  font-size: 11px;
  font-weight: 700;
  text-underline-offset: 3px;
}

.auth-open-browser[hidden] { display: none; }

.auth-secondary-link,
.auth-next-link {
  display: inline-flex;
  width: fit-content;
  min-height: 34px;
  margin-top: 14px;
  align-items: center;
  color: #244d5d;
  font-size: 11px;
  font-weight: 650;
  text-underline-offset: 3px;
}

.auth-secondary-link[hidden],
.auth-next-link[hidden] { display: none; }

.auth-next-link {
  margin-top: 20px;
  border-bottom: 1px solid #244d5d;
  text-decoration: none;
}

.auth-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 28px 0 0;
  color: #77756f;
  font-size: 12px;
}

.auth-switch[hidden] { display: none; }

.auth-switch a,
.auth-public-link { color: #171715; text-underline-offset: 3px; }

.auth-public-link {
  display: inline-block;
  margin-top: 44px;
  font-size: 11px;
}

.mfa-panel-inner { width: min(100%, 470px); }

.mfa-loading {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 48px;
  color: #65645f;
  font-size: 12px;
}

.mfa-loading[hidden] { display: none; }

.mfa-loading span {
  width: 14px;
  height: 14px;
  border: 1px solid #b9b7af;
  border-top-color: #244d5d;
  border-radius: 50%;
  animation: mfa-spin 0.8s linear infinite;
}

@keyframes mfa-spin { to { transform: rotate(360deg); } }

.mfa-enrollment { margin: 0 0 28px; }

.mfa-enrollment h2 {
  margin: 0 0 12px;
  font: 600 15px/1.35 Inter, "Helvetica Neue", Arial, sans-serif;
}

.mfa-enrollment ol {
  margin: 0 0 20px;
  padding-left: 20px;
  color: #65645f;
  font-size: 12px;
  line-height: 1.6;
}

.mfa-enrollment li + li { margin-top: 5px; }

.mfa-qr-frame {
  display: grid;
  place-items: center;
  width: 178px;
  height: 178px;
  padding: 10px;
  border: 1px solid #d7d5ce;
  background: #fff;
}

.mfa-qr-frame img { display: block; width: 100%; height: 100%; object-fit: contain; }

.mfa-secret { margin-top: 14px; color: #65645f; font-size: 11px; }
.mfa-secret summary { cursor: pointer; color: #244d5d; font-weight: 650; }
.mfa-secret p { margin: 10px 0 7px; line-height: 1.5; }
.mfa-secret code { display: block; overflow-wrap: anywhere; color: #171715; font: 600 11px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }

.mfa-form { margin-top: 2px; }
.mfa-form .auth-field small { color: #77756f; }

.mfa-sign-out {
  margin: 24px 0 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #aaa8a1;
  background: transparent;
  color: #4f4e49;
  font: 500 11px/1.6 Inter, "Helvetica Neue", Arial, sans-serif;
}

.mfa-sign-out:hover:not(:disabled) { color: #171715; border-bottom-color: #171715; }
.mfa-sign-out:disabled { opacity: 0.55; }

.mfa-trust {
  max-width: 420px;
  margin: 30px 0 0;
  padding-top: 18px;
  border-top: 1px solid #dedcd5;
  color: #85837c;
  font-size: 10px;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .auth-shell { grid-template-columns: minmax(0, 1fr); }
  .auth-visual { min-height: 178px; padding: 20px; }
  .auth-brand span { font-size: 21px; }
  .auth-visual figcaption { right: 20px; bottom: 18px; left: 20px; font-size: 17px; }
  .auth-panel { min-height: calc(100vh - 178px); padding: 44px 22px 52px; place-items: start center; }
  .auth-panel h1 { font-size: 38px; line-height: 1.02; }
  .auth-page[data-auth-mode="register"] .auth-panel h1 { font-size: 38px; }
  .auth-intro { margin-bottom: 28px; }
  .mfa-qr-frame { width: 164px; height: 164px; }
}

/* Account Settings: quiet editorial identity and session control. */
.account-settings-page {
  --archive-rail-width: 78px;
  min-height: 100vh;
  background: #fbfbf8;
  color: #191917;
}

.account-settings-page .ui-icon {
  width: 18px;
  height: 18px;
  stroke-width: 1.75;
}

.account-settings-header {
  left: var(--archive-rail-width);
  min-height: 72px;
  padding: 0 clamp(24px, 4vw, 58px);
  border-bottom: 1px solid #e4e4df;
  background: rgba(251, 251, 248, 0.96);
  backdrop-filter: blur(14px);
}

.account-settings-header .site-nav a[aria-current="page"] {
  border-bottom: 1px solid #263f4b;
  color: #263f4b;
}

.account-settings-shell {
  width: min(1240px, calc(100% - var(--archive-rail-width)));
  margin-left: var(--archive-rail-width);
  padding: 126px clamp(28px, 6vw, 82px) 96px;
}

.account-settings-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 330px);
  gap: clamp(36px, 8vw, 96px);
  align-items: end;
  padding-bottom: 46px;
  border-bottom: 1px solid #dcdcd6;
}

.account-settings-intro .section-kicker { margin: 0 0 15px; }

.account-settings-intro h1 {
  max-width: 760px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 7vw, 82px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.account-settings-intro > div > p:last-of-type {
  max-width: 610px;
  margin: 24px 0 0;
  color: #6a6963;
  font-size: 14px;
  line-height: 1.7;
}

.account-identity-summary {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  min-width: 0;
  padding: 6px 0 6px 22px;
  border-left: 1px solid #cfcfc8;
}

.account-avatar {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 1px solid #c9c9c2;
  border-radius: 50%;
  background: #fff;
  color: #273e49;
  font: 500 18px/1 Georgia, "Times New Roman", serif;
}

.account-identity-copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.account-identity-copy strong {
  overflow-wrap: anywhere;
  font-size: 14px;
  font-weight: 650;
}

.account-identity-copy small {
  overflow-wrap: anywhere;
  color: #6f6e68;
  font-size: 11px;
}

.account-status-line {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 5px;
  color: #3d5c45;
  font-size: 10px;
  font-weight: 650;
  text-transform: capitalize;
}

.account-status-line i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #55785d;
}

.account-page-loading,
.account-session-loading {
  display: flex;
  align-items: center;
  gap: 11px;
  color: #6f6e68;
  font-size: 12px;
}

.account-page-loading {
  min-height: 180px;
  border-bottom: 1px solid #e1e1dc;
}

.account-page-loading p { margin: 0; }

.account-page-loading > span,
.account-session-loading > span {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  border: 1px solid #c3c2bb;
  border-top-color: #2f657d;
  border-radius: 50%;
  animation: mfa-spin 0.8s linear infinite;
}

.account-page-notice {
  margin: 28px 0 0;
  padding: 13px 15px;
  border-left: 2px solid #943b32;
  background: #f5ebe8;
  color: #6e2a24;
  font-size: 12px;
  line-height: 1.55;
}

.account-page-notice.is-success {
  border-left-color: #4c6b53;
  background: #edf2ec;
  color: #315039;
}

.account-page-notice button {
  min-height: 32px;
  margin-left: 8px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 700;
}

.account-settings-layout {
  display: grid;
  grid-template-columns: 170px minmax(0, 760px);
  gap: clamp(38px, 7vw, 92px);
  align-items: start;
  padding-top: 50px;
}

.account-settings-index {
  position: sticky;
  top: 104px;
  display: grid;
  gap: 2px;
  padding-top: 8px;
}

.account-settings-index a {
  display: flex;
  align-items: center;
  min-height: 38px;
  border-bottom: 1px solid transparent;
  color: #6f6e68;
  font-size: 11px;
  font-weight: 600;
}

.account-settings-index a:hover,
.account-settings-index a:focus-visible,
.account-settings-index a[aria-current="location"] {
  border-bottom-color: #c7c7c0;
  color: #1b1b19;
}

.account-settings-content { min-width: 0; }

.account-settings-section {
  scroll-margin-top: 108px;
  padding: 0 0 70px;
}

.account-settings-section + .account-settings-section {
  padding-top: 62px;
  border-top: 1px solid #dcdcd6;
}

.account-section-heading {
  display: grid;
  grid-template-columns: minmax(190px, 0.8fr) minmax(240px, 1.2fr);
  gap: 36px;
  align-items: start;
  margin-bottom: 36px;
}

.account-section-heading > div > p {
  margin: 0 0 9px;
  color: #6f6e68;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.account-section-heading h2 {
  margin: 0;
  font: 400 clamp(30px, 4vw, 43px)/1.02 Georgia, "Times New Roman", serif;
  letter-spacing: -0.035em;
}

.account-section-heading > p {
  margin: 3px 0 0;
  color: #717069;
  font-size: 12px;
  line-height: 1.65;
}

.account-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 34px;
}

.account-form[aria-busy="true"] { opacity: 0.72; }

.account-field {
  display: grid;
  min-width: 0;
  gap: 8px;
}

.account-field-wide { grid-column: 1 / -1; }

.account-field > span {
  color: #2a2a27;
  font-size: 11px;
  font-weight: 650;
}

.account-field input,
.account-field textarea,
.account-field select {
  width: 100%;
  min-height: 46px;
  padding: 8px 1px;
  border: 0;
  border-bottom: 1px solid #c9c9c2;
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: #1a1a18;
  font: 400 13px/1.5 Inter, "Helvetica Neue", Arial, sans-serif;
}

.account-field textarea {
  min-height: 126px;
  resize: vertical;
}

.account-field input:focus,
.account-field textarea:focus,
.account-field select:focus {
  border-bottom-color: #2f657d;
  box-shadow: 0 1px 0 #2f657d;
}

.account-field input[aria-invalid="true"],
.account-field textarea[aria-invalid="true"],
.account-field select[aria-invalid="true"] { border-bottom-color: #943b32; }

.account-field em {
  color: #686761;
  font-size: 10px;
  font-style: normal;
  line-height: 1.45;
}

.account-field small {
  min-height: 15px;
  color: #943b32;
  font-size: 10px;
  line-height: 1.4;
}

.account-form-actions {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding-top: 4px;
}

.account-form-actions p {
  margin: 0;
  color: #6f6e68;
  font-size: 10px;
}

.account-form-actions .button { min-width: 142px; }

.account-security-list {
  margin: 0;
  border-top: 1px solid #deded8;
}

.account-security-list > div {
  display: grid;
  grid-template-columns: minmax(130px, 0.7fr) minmax(0, 1.3fr);
  gap: 28px;
  padding: 20px 0;
  border-bottom: 1px solid #e5e5e0;
}

.account-security-list dt {
  color: #74736d;
  font-size: 10px;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.account-security-list dd {
  display: grid;
  min-width: 0;
  gap: 3px;
  margin: 0;
  overflow-wrap: anywhere;
}

.account-security-list dd strong { font-size: 12px; font-weight: 650; }
.account-security-list dd span { color: #6f6e68; font-size: 10px; }

.account-text-action {
  display: inline-flex;
  min-height: 42px;
  margin-top: 20px;
  align-items: center;
  border-bottom: 1px solid #9ba9af;
  color: #264b5b;
  font-size: 11px;
  font-weight: 650;
}

.account-session-loading { min-height: 76px; }

.account-session-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid #deded8;
  list-style: none;
}

.account-session-list li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
  min-width: 0;
  padding: 22px 0;
  border-bottom: 1px solid #e5e5e0;
}

.account-session-list li > .ui-icon {
  width: 24px;
  height: 24px;
  color: #5c6262;
}

.account-session-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.account-session-copy strong {
  overflow-wrap: anywhere;
  font-size: 12px;
  font-weight: 650;
}

.account-session-copy span,
.account-session-copy small {
  overflow-wrap: anywhere;
  color: #6f6e68;
  font-size: 10px;
}

.account-session-current {
  color: #365946;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-session-empty {
  display: block !important;
  color: #6f6e68;
  font-size: 11px;
}

.account-session-note {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  margin-top: 20px;
  padding: 14px 0;
  color: #74736d;
}

.account-session-note p { margin: 0; font-size: 10px; line-height: 1.55; }

.account-session-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.button-danger {
  border: 1px solid #8e3931;
  background: transparent;
  color: #7c3029;
}

.button-danger:hover:not(:disabled),
.button-danger:focus-visible:not(:disabled) {
  border-color: #702820;
  background: #f5ebe8;
  color: #64221d;
}

.account-confirm-dialog {
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  padding: 34px;
  border: 1px solid #d2d2cb;
  border-radius: 0;
  background: #fbfbf8;
  color: #191917;
  box-shadow: 0 30px 90px rgba(20, 20, 18, 0.2);
}

.account-confirm-dialog::backdrop { background: rgba(20, 20, 18, 0.46); }
.account-confirm-dialog .section-kicker { margin: 0 0 13px; }

.account-confirm-dialog h2 {
  margin: 0;
  font: 400 34px/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: -0.035em;
}

.account-confirm-dialog > form > p:not(.section-kicker) {
  margin: 18px 0 0;
  color: #6f6e68;
  font-size: 12px;
  line-height: 1.65;
}

.account-dialog-notice {
  margin-top: 18px;
  padding: 11px 13px;
  border-left: 2px solid #943b32;
  background: #f5ebe8;
  color: #6e2a24;
  font-size: 11px;
}

.account-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #deded8;
}

@media (max-width: 940px) {
  .account-settings-shell { padding-right: 34px; padding-left: 34px; }
  .account-settings-layout { grid-template-columns: 130px minmax(0, 1fr); gap: 38px; }
  .account-section-heading { grid-template-columns: 1fr; gap: 14px; }
}

@media (max-width: 760px) {
  .account-settings-page { --archive-rail-width: 0px; }
  .account-settings-rail { display: none; }
  .account-settings-header {
    left: 0;
    align-items: center;
    flex-direction: row;
    gap: 18px;
    min-height: 68px;
    padding: 0 18px;
  }
  .account-settings-header .brand-mark span:last-child { display: none; }
  .account-settings-header .site-nav {
    display: flex;
    justify-content: flex-end;
    width: auto;
    gap: 18px;
    font-size: 10px;
  }
  .account-settings-shell {
    width: 100%;
    margin-left: 0;
    padding: 102px 20px 70px;
  }
  .account-settings-intro { grid-template-columns: 1fr; gap: 34px; padding-bottom: 34px; }
  .account-settings-intro h1 { font-size: 46px; }
  .account-identity-summary { padding-left: 0; border-left: 0; }
  .account-settings-layout { display: block; padding-top: 0; }
  .account-settings-index {
    position: sticky;
    top: 68px;
    z-index: 10;
    display: flex;
    gap: 24px;
    margin: 0 -20px 42px;
    padding: 8px 20px;
    overflow-x: auto;
    border-bottom: 1px solid #deded8;
    background: rgba(251, 251, 248, 0.97);
    scrollbar-width: none;
  }
  .account-settings-index::-webkit-scrollbar { display: none; }
  .account-settings-index a { flex: 0 0 auto; }
  .account-settings-section { scroll-margin-top: 130px; padding-bottom: 54px; }
  .account-settings-section + .account-settings-section { padding-top: 48px; }
  .account-section-heading { margin-bottom: 28px; }
  .account-form { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .account-field-wide { grid-column: auto; }
  .account-form-actions,
  .account-session-actions { align-items: stretch; flex-direction: column; }
  .account-form-actions .button,
  .account-session-actions .button { width: 100%; min-height: 46px; }
  .account-form-actions p { order: 2; }
  .account-security-list > div { grid-template-columns: 1fr; gap: 7px; }
  .account-session-list li {
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: start;
  }
  .account-session-current { grid-column: 2; }
  .account-confirm-dialog { width: calc(100vw - 24px); padding: 25px 20px; }
  .account-dialog-actions { align-items: stretch; flex-direction: column; }
  .account-dialog-actions .button { width: 100%; min-height: 46px; }
  .account-dialog-actions .button-danger { order: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .account-page-loading > span,
  .account-session-loading > span { animation-duration: 1.6s; }
}

/* Admin Review Queue: quiet-luxury editorial moderation workspace. */
.admin-review-page {
  --archive-rail-width: 78px;
  --admin-review-header-height: 64px;
  min-height: 100vh;
  background: #fbfbf8;
  color: #1c1c19;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-review-page .ui-icon {
  width: 18px;
  height: 18px;
  stroke-width: 1.75;
}

.admin-review-skip {
  position: fixed;
  top: 10px;
  left: calc(var(--archive-rail-width) + 16px);
  z-index: 120;
  padding: 9px 13px;
  border: 1px solid #292925;
  background: #fbfbf8;
  color: #1c1c19;
  font-size: 12px;
  font-weight: 700;
  transform: translateY(-160%);
}

.admin-review-skip:focus {
  outline: 2px solid #2f657d;
  outline-offset: 2px;
  transform: translateY(0);
}

.admin-review-rail {
  width: var(--archive-rail-width);
  border-right-color: #e5e5e0;
  background: rgba(251, 251, 248, 0.98);
}

.admin-review-header {
  left: var(--archive-rail-width);
  min-height: var(--admin-review-header-height);
  padding: 0 clamp(20px, 3vw, 46px);
  border-bottom: 1px solid #e3e3de;
  background: rgba(251, 251, 248, 0.96);
  backdrop-filter: blur(14px);
}

.admin-review-header .brand-mark {
  gap: 11px;
  color: #22221f;
}

.admin-review-header .brand-mark span:first-child { font-size: 22px; }

.admin-review-header .brand-mark span:last-child {
  color: #6a6962;
  font: 700 9px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.admin-review-header .site-nav {
  gap: clamp(18px, 3vw, 34px);
  color: #686761;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.02em;
}

.admin-review-header .site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: var(--admin-review-header-height);
  border-bottom: 1px solid transparent;
}

.admin-review-header .site-nav a:hover,
.admin-review-header .site-nav a:focus-visible,
.admin-review-header .site-nav a[aria-current="page"] {
  border-bottom-color: #2f657d;
  color: #1c1c19;
  outline: none;
}

.admin-review-shell {
  width: min(1840px, calc(100% - var(--archive-rail-width)));
  min-width: 0;
  min-height: 100vh;
  margin-left: var(--archive-rail-width);
  padding: calc(var(--admin-review-header-height) + 28px) clamp(22px, 2.8vw, 46px) 52px;
}

.admin-review-shell:focus { outline: none; }

.admin-review-command {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 0 0 26px;
}

.admin-review-command .section-kicker {
  margin: 0 0 8px;
  color: #6b6a64;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.admin-review-command h1 {
  margin: 0;
  color: #1b1b18;
  font: 400 clamp(38px, 4vw, 58px)/0.96 Georgia, "Times New Roman", serif;
  letter-spacing: -0.045em;
}

.admin-review-icon-button {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #d6d6d0;
  border-radius: 50%;
  background: transparent;
  color: #3d3d39;
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.admin-review-icon-button:hover,
.admin-review-icon-button:focus-visible {
  border-color: #85857e;
  background: #f1f1ed;
  color: #171715;
  outline: none;
}

.admin-review-icon-button:focus-visible { box-shadow: var(--ui-focus); }

.admin-review-icon-button:disabled {
  cursor: wait;
  opacity: 0.48;
}

.admin-review-metrics {
  display: flex;
  align-items: stretch;
  min-width: 0;
  overflow-x: auto;
  border-top: 1px solid #deded8;
  border-bottom: 1px solid #deded8;
  scrollbar-width: none;
}

.admin-review-metrics::-webkit-scrollbar { display: none; }

.admin-review-metrics button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 0 150px;
  gap: 22px;
  min-height: 58px;
  padding: 0 18px;
  border: 0;
  border-right: 1px solid #e4e4df;
  background: transparent;
  color: #696861;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.admin-review-metrics button:last-child { border-right: 0; }

.admin-review-metrics button::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: -1px;
  left: 18px;
  height: 2px;
  background: transparent;
}

.admin-review-metrics button:hover,
.admin-review-metrics button:focus-visible {
  background: #f4f4f0;
  color: #22221f;
  outline: none;
}

.admin-review-metrics button:focus-visible { box-shadow: inset 0 0 0 2px rgba(47, 101, 125, 0.42); }

.admin-review-metrics button[aria-pressed="true"] {
  color: #173b4b;
}

.admin-review-metrics button[aria-pressed="true"]::after { background: #2f657d; }

.admin-review-metrics span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.025em;
}

.admin-review-metrics strong {
  color: inherit;
  font: 500 22px/1 Georgia, "Times New Roman", serif;
}

.admin-review-filters {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  min-height: 76px;
  padding: 16px 0;
}

.admin-review-filters label {
  display: grid;
  gap: 6px;
  min-width: min(260px, 100%);
}

.admin-review-filters label > span {
  color: #6a6963;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.admin-review-filters select {
  width: 100%;
  min-height: 38px;
  padding: 0 28px 0 0;
  border: 0;
  border-bottom: 1px solid #cfcfc9;
  border-radius: 0;
  background: transparent;
  color: #252522;
  font: 600 12px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-review-filters select:focus {
  border-bottom-color: #2f657d;
  outline: none;
}

.admin-review-filters p {
  margin: 0 0 8px;
  color: #6d6c65;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.admin-review-workspace {
  display: grid;
  grid-template-columns: minmax(310px, 370px) minmax(0, 1fr);
  align-items: start;
  min-width: 0;
  border-top: 1px solid #dcdcd6;
  border-bottom: 1px solid #dcdcd6;
  background: #fff;
}

.admin-review-queue {
  position: sticky;
  top: calc(var(--admin-review-header-height) + 16px);
  display: flex;
  flex-direction: column;
  align-self: start;
  min-width: 0;
  height: calc(100vh - var(--admin-review-header-height) - 34px);
  max-height: 940px;
  border-right: 1px solid #dfdfd9;
  background: #fbfbf8;
}

.admin-review-queue > header {
  display: grid;
  align-items: stretch;
  gap: 12px;
  min-height: 104px;
  padding: 18px;
  border-bottom: 1px solid #e2e2dc;
}

.admin-review-queue-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 9px;
  min-width: 0;
}

.admin-review-queue h2 {
  margin: 0;
  color: #242420;
  font: 600 14px/1.2 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-review-queue-heading > span {
  color: #74736c;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.admin-review-bulk-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding-top: 11px;
  border-top: 1px solid #e2e2dc;
}

.admin-review-bulk-tools label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #62635e;
  cursor: pointer;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.35;
}

.admin-review-bulk-tools input,
.admin-review-bulk-select input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #244f45;
}

.admin-review-bulk-tools button {
  min-height: 32px;
  min-width: 130px;
  padding: 0 9px;
  border: 1px solid #315c51;
  background: #315c51;
  color: #fff;
  cursor: pointer;
  font: 750 9px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  white-space: nowrap;
}

.admin-review-bulk-tools button:disabled { cursor: not-allowed; opacity: 0.46; }

.admin-review-list-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 52px;
  padding: 13px 18px;
  border-bottom: 1px solid #e4e4df;
  color: #65645e;
  font-size: 11px;
  line-height: 1.45;
}

.admin-review-list-state[data-tone="loading"]::before {
  content: "";
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  border: 1px solid #b8b8b1;
  border-top-color: #2f657d;
  border-radius: 50%;
  animation: admin-review-spin 700ms linear infinite;
}

.admin-review-list-state[data-tone="loading"] {
  justify-content: flex-start;
}

.admin-review-list-state[data-tone="empty"] { color: #6f6e68; }

.admin-review-list-state[data-tone="error"] {
  border-left: 2px solid #8e3931;
  background: #fbf4f2;
  color: #6e2b25;
}

.admin-review-list-state button,
.admin-review-detail-state button,
.admin-review-conflict button,
.admin-review-image-error button {
  flex: 0 0 auto;
  min-height: 30px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #244f62;
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-review-list-state button:focus-visible,
.admin-review-detail-state button:focus-visible,
.admin-review-conflict button:focus-visible,
.admin-review-image-error button:focus-visible {
  outline: 2px solid rgba(47, 101, 125, 0.48);
  outline-offset: 4px;
}

.admin-review-list {
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  list-style: none;
  scrollbar-color: #c7c7c1 transparent;
  scrollbar-width: thin;
}

.admin-review-list-item {
  position: relative;
  min-width: 0;
  border-bottom: 1px solid #e6e6e1;
}

.admin-review-bulk-select {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 11px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  cursor: pointer;
}

.admin-review-bulk-select:focus-within {
  outline: 2px solid rgba(36, 79, 69, 0.4);
  outline-offset: -2px;
}

.admin-review-list-item > button {
  position: relative;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 13px;
  width: 100%;
  min-width: 0;
  min-height: 116px;
  padding: 14px 42px 14px 18px;
  border: 0;
  background: transparent;
  color: #22221f;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.admin-review-list-item > button::before {
  content: "";
  position: absolute;
  top: 13px;
  bottom: 13px;
  left: 0;
  width: 2px;
  background: transparent;
}

.admin-review-list-item > button:hover,
.admin-review-list-item > button:focus-visible {
  background: #f3f3ef;
  outline: none;
}

.admin-review-list-item > button:focus-visible { box-shadow: inset 0 0 0 2px rgba(47, 101, 125, 0.38); }

.admin-review-list-item.is-active > button { background: #eef2f1; }
.admin-review-list-item.is-active > button::before { background: #2f657d; }
.admin-review-list-item > button:disabled { cursor: wait; opacity: 0.62; }

.admin-review-list-thumb {
  display: grid;
  place-items: center;
  width: 68px;
  height: 84px;
  overflow: hidden;
  border: 1px solid #deded8;
  background: #efefeb;
  color: #85857e;
}

.admin-review-list-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.92) contrast(1.01);
}

.admin-review-list-copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.admin-review-list-copy > strong {
  min-width: 0;
  overflow: hidden;
  color: #22221f;
  font: 650 13px/1.3 Inter, "Helvetica Neue", Arial, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-review-list-meta {
  min-width: 0;
  overflow: hidden;
  color: #6e6d67;
  font-size: 10px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-review-list-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 8px;
  min-width: 0;
  color: #7a7972;
  font-size: 9px;
  line-height: 1.35;
}

.admin-review-list-facts span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-review-list-facts span + span::before {
  content: "·";
  margin-right: 8px;
  color: #b0afa8;
}

.admin-review-list-facts .is-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: 0.025em;
}

.admin-review-list-status {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  min-height: 19px;
  padding: 2px 7px;
  border: 1px solid #d7d7d1;
  border-radius: 999px;
  color: #65645e;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
}

.admin-review-list-status[data-status="submitted"] { color: #765b2a; border-color: #d8caa8; }
.admin-review-list-status[data-status="in_review"] { color: #245269; border-color: #b9cbd2; }
.admin-review-list-status[data-status="approved"] { color: #315e45; border-color: #bdd0c4; }
.admin-review-list-status[data-status="rejected"] { color: #7d3029; border-color: #d9b8b3; }
.admin-review-list-status[data-status="changes_requested"] { color: #765329; border-color: #d9c3a6; }

.admin-review-list-chevron {
  width: 14px;
  height: 14px;
  color: #aaa9a2;
}

.admin-review-load-more {
  flex: 0 0 auto;
  min-height: 44px;
  border: 0;
  border-top: 1px solid #dfdfda;
  background: transparent;
  color: #385e6f;
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-review-load-more:hover,
.admin-review-load-more:focus-visible { background: #f1f1ed; outline: none; }
.admin-review-load-more:focus-visible { box-shadow: inset 0 0 0 2px rgba(47, 101, 125, 0.4); }
.admin-review-load-more:disabled { cursor: wait; opacity: 0.5; }

.admin-review-detail {
  min-width: 0;
  min-height: 68vh;
  background: #fff;
}

.admin-review-mobile-toolbar { display: none; }

.admin-review-detail-state {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 12px;
  min-height: min(72vh, 760px);
  padding: 42px 24px;
  color: #6e6d67;
  text-align: center;
}

.admin-review-detail-state > .ui-icon {
  width: 28px;
  height: 28px;
  color: #92918a;
  stroke-width: 1.4;
}

.admin-review-detail-state[data-tone="loading"] > .ui-icon {
  animation: admin-review-pulse 1.3s ease-in-out infinite;
}

.admin-review-detail-state[data-tone="error"] > .ui-icon { color: #8e3931; }

.admin-review-detail-state h2 {
  margin: 4px 0 0;
  color: #2b2b27;
  font: 400 clamp(27px, 3vw, 38px)/1.05 Georgia, "Times New Roman", serif;
  letter-spacing: -0.03em;
}

.admin-review-detail-state p {
  max-width: 430px;
  margin: 0;
  color: #73726b;
  font-size: 13px;
  line-height: 1.65;
}

.admin-review-detail-content { min-width: 0; }

.admin-review-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  padding: 27px clamp(22px, 2.5vw, 38px) 25px;
  border-bottom: 1px solid #e0e0da;
}

.admin-review-detail-header > div:first-child { min-width: 0; }

.admin-review-status-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
  color: #74736d;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-review-status {
  display: inline-flex;
  align-items: center;
  min-height: 21px;
  padding: 2px 8px;
  border: 1px solid #d3d3cd;
  border-radius: 999px;
  color: #595853;
  font-weight: 750;
}

.admin-review-status[data-status="submitted"] { color: #765b2a; border-color: #d8caa8; }
.admin-review-status[data-status="in_review"] { color: #245269; border-color: #b9cbd2; }
.admin-review-status[data-status="approved"] { color: #315e45; border-color: #bdd0c4; }
.admin-review-status[data-status="rejected"] { color: #7d3029; border-color: #d9b8b3; }

.admin-review-detail-header h2 {
  max-width: 920px;
  margin: 0;
  overflow-wrap: anywhere;
  color: #1d1d1a;
  font: 400 clamp(30px, 3.3vw, 50px)/1.02 Georgia, "Times New Roman", serif;
  letter-spacing: -0.04em;
}

.admin-review-detail-header h2:focus { outline: none; }

.admin-review-detail-header p {
  max-width: 860px;
  margin: 12px 0 0;
  overflow-wrap: anywhere;
  color: #6f6e68;
  font-size: 13px;
  line-height: 1.55;
}

.admin-review-assignment-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  flex: 0 0 auto;
  gap: 8px;
}

.admin-review-assignment-actions .button {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 0;
  font-size: 12px;
}

.admin-review-assigned-note {
  max-width: 230px;
  overflow-wrap: anywhere;
  color: #686761;
  font-size: 13px;
  line-height: 1.45;
  text-align: right;
}

.admin-review-conflict {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 18px clamp(22px, 2.5vw, 38px) 0;
  padding: 12px 14px;
  border-left: 2px solid #8e3931;
  background: #fbf4f2;
  color: #6d2a24;
}

.admin-review-conflict p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}

.admin-review-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(350px, 0.65fr);
  grid-auto-rows: min-content;
  align-items: start;
  min-width: 0;
}

.admin-review-media {
  position: sticky;
  top: calc(var(--admin-review-header-height) + 16px);
  align-self: start;
  height: max-content;
  min-width: 0;
  padding: clamp(22px, 2.8vw, 42px);
}

.admin-review-image-stage {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: clamp(440px, 65vh, 820px);
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfdfd9;
  background: #f0f0ec;
}

.admin-review-image-stage > img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.admin-review-image-stage.is-actual-size {
  place-items: start;
  overflow: auto;
}

.admin-review-image-stage.is-actual-size > img {
  width: auto;
  height: auto;
  max-width: none;
  object-fit: none;
}

.admin-review-image-stage > .admin-review-icon-button {
  position: absolute;
  top: 13px;
  right: 13px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(28, 28, 25, 0.72);
  color: #fff;
}

.admin-review-image-stage > .admin-review-icon-button:hover,
.admin-review-image-stage > .admin-review-icon-button:focus-visible {
  border-color: #fff;
  background: #20201d;
  color: #fff;
}

.admin-review-image-error {
  display: grid;
  justify-items: center;
  gap: 10px;
  max-width: 320px;
  padding: 24px;
  color: #676660;
  text-align: center;
}

.admin-review-image-error p {
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
}

.admin-review-asset-switcher {
  display: flex;
  align-items: stretch;
  gap: 0;
  min-width: 0;
  overflow-x: auto;
  border-bottom: 1px solid #dadad4;
  scrollbar-width: none;
}

.admin-review-asset-switcher::-webkit-scrollbar { display: none; }

.admin-review-asset-button {
  flex: 1 0 100px;
  min-height: 48px;
  padding: 0 14px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: #74736c;
  cursor: pointer;
  font: 700 12px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.admin-review-asset-button:hover,
.admin-review-asset-button:focus-visible {
  background: #f4f4f0;
  color: #232320;
  outline: none;
}

.admin-review-asset-button.is-active {
  border-bottom-color: #2f657d;
  color: #244f62;
}

.admin-review-asset-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-bottom: 1px solid #deded8;
}

.admin-review-asset-meta dt,
.admin-review-asset-meta dd {
  min-width: 0;
  margin: 0;
  padding: 11px 10px;
  overflow-wrap: anywhere;
  border-right: 1px solid #e5e5e0;
}

.admin-review-asset-meta dt {
  color: #77766f;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.admin-review-asset-meta dd {
  color: #2d2d29;
  font-size: 13px;
  line-height: 1.45;
}

.admin-review-inspector {
  align-self: start;
  height: max-content;
  min-width: 0;
  border-left: 1px solid #dfdfd9;
}

.admin-review-inspector > section,
.admin-review-decision {
  min-width: 0;
  padding: 27px clamp(20px, 2.2vw, 32px) 30px;
  border-bottom: 1px solid #dfdfd9;
}

.admin-review-inspector h3,
.admin-review-decision legend {
  margin: 0 0 20px;
  color: #282824;
  font: 650 12px/1.3 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.admin-review-definition-list {
  display: grid;
  grid-template-columns: minmax(112px, 0.62fr) minmax(0, 1.38fr);
  gap: 0;
  margin: 0;
}

.admin-review-definition-list dt,
.admin-review-definition-list dd {
  min-width: 0;
  margin: 0;
  padding: 9px 0;
  overflow-wrap: anywhere;
  border-top: 1px solid #e8e8e3;
}

.admin-review-definition-list dt {
  padding-right: 15px;
  color: #77766f;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

.admin-review-definition-list dd {
  color: #2d2d29;
  font-size: 13px;
  line-height: 1.55;
  white-space: pre-wrap;
}

.admin-review-readiness,
.admin-review-history {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-review-readiness li {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  min-height: 44px;
  padding: 12px 0;
  border-top: 1px solid #e7e7e2;
  color: #4e4e49;
  font-size: 12px;
  line-height: 1.5;
}

.admin-review-readiness li .ui-icon {
  width: 15px;
  height: 15px;
  margin-top: 1px;
  color: #4d765e;
}

.admin-review-readiness li[data-state="blocked"] .ui-icon,
.admin-review-readiness li[data-state="fail"] .ui-icon { color: #8e3931; }

.admin-review-readiness li[data-state="pending"] .ui-icon { color: #8a682d; }

.admin-review-history li {
  display: grid;
  gap: 6px;
  padding: 13px 0;
  border-top: 1px solid #e7e7e2;
}

.admin-review-history strong {
  color: #2c2c28;
  font-size: 13px;
  font-weight: 700;
}

.admin-review-history span {
  overflow-wrap: anywhere;
  color: #77766f;
  font-size: 12px;
  line-height: 1.5;
  text-transform: uppercase;
}

.admin-review-history p {
  margin: 0;
  overflow-wrap: anywhere;
  color: #55554f;
  font-size: 13px;
  line-height: 1.55;
}

.admin-review-history .admin-review-history-internal {
  display: grid;
  grid-template-columns: minmax(78px, auto) minmax(0, 1fr);
  gap: 10px;
  padding: 9px 10px;
  border-left: 2px solid #b7b6ae;
  background: #f4f4f0;
  color: #4d4d48;
}

.admin-review-history-internal b {
  color: #6b6a64;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-review-history-internal span {
  color: inherit;
  font-size: 13px;
  line-height: 1.55;
  text-transform: none;
}

.admin-review-history-empty { color: #77766f; font-size: 13px; }

.admin-review-decision {
  display: grid;
  gap: 22px;
  scroll-margin-top: calc(var(--admin-review-header-height) + 16px);
  scroll-padding-bottom: 88px;
  background: #fafaf7;
}

.admin-review-decision fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.admin-review-decision legend { padding: 0; }

.admin-review-check-all {
  float: right;
  min-height: 32px;
  margin: -26px 0 8px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #244f45;
  cursor: pointer;
  font: 750 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-review-check-all:focus-visible {
  outline: 2px solid rgba(36, 79, 69, 0.38);
  outline-offset: 4px;
}

.admin-review-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
  border-top: 1px solid #deded8;
}

.admin-review-check-item {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  min-width: 0;
  min-height: 48px;
  padding: 13px 0;
  border-bottom: 1px solid #e5e5e0;
  color: #454540;
  cursor: pointer;
  font-size: 12px;
  line-height: 1.45;
}

.admin-review-check-item input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #2f657d;
}

.admin-review-check-item input:focus-visible { outline: 2px solid rgba(47, 101, 125, 0.48); outline-offset: 2px; }

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

.admin-review-decision > label,
.admin-review-decision-grid label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.admin-review-decision label > span {
  color: #686761;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.admin-review-decision select,
.admin-review-decision textarea {
  width: 100%;
  min-width: 0;
  border: 0;
  border-bottom: 1px solid #c9c9c3;
  border-radius: 0;
  background: transparent;
  color: #242420;
  font: 400 13px/1.55 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-review-decision select {
  min-height: 44px;
  padding: 0 26px 0 0;
}

.admin-review-decision textarea {
  min-height: 90px;
  padding: 8px 0;
  resize: vertical;
}

.admin-review-decision select:focus,
.admin-review-decision textarea:focus {
  border-bottom-color: #2f657d;
  outline: none;
}

.admin-review-form-notice {
  min-height: 16px;
  margin: 0;
  color: #6e6d67;
  font-size: 13px;
  line-height: 1.5;
}

.admin-review-form-notice[data-tone="error"] { color: #7d3029; }

.admin-review-decision-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-width: 0;
  padding: 14px 0 max(14px, env(safe-area-inset-bottom));
  border-top: 1px solid #d7d7d1;
  background: #fafaf7;
}

.admin-review-decision-footer .button {
  flex: 0 0 auto;
  min-height: 44px;
  border-radius: 0;
  font-size: 12px;
}

.admin-review-dialog {
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  padding: 0;
  overflow: auto;
  border: 1px solid #cfcfc9;
  border-radius: 0;
  background: #fbfbf8;
  color: #20201d;
}

.admin-review-dialog::backdrop { background: rgba(23, 23, 21, 0.48); }

.admin-review-dialog form { padding: 32px; }

.admin-review-dialog .section-kicker {
  margin: 0 0 10px;
  color: #6b6a64;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.admin-review-dialog h2 {
  margin: 0;
  color: #1f1f1c;
  font: 400 34px/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: -0.035em;
}

.admin-review-dialog form > p:not(.section-kicker) {
  margin: 18px 0 0;
  color: #6d6c65;
  font-size: 13px;
  line-height: 1.65;
}

.admin-review-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid #deded8;
}

.admin-review-dialog-actions .button {
  min-height: 40px;
  border-radius: 0;
  font-size: 10px;
}

.admin-review-bulk-dialog { width: min(640px, calc(100vw - 32px)); }

.admin-review-bulk-dialog form {
  display: grid;
  gap: 16px;
}

.admin-review-bulk-dialog form > p:not(.section-kicker) { margin: 0; }

.admin-review-bulk-policy {
  padding: 12px 14px;
  border: 1px solid #deded8;
  background: #f7f7f4;
}

.admin-review-bulk-policy ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-review-bulk-policy li {
  color: #555650;
  font-size: 11px;
  line-height: 1.4;
}

.admin-review-bulk-policy li::before {
  content: "✓";
  margin-right: 7px;
  color: #315c51;
}

.admin-review-bulk-attestation,
.admin-review-bulk-dialog form > label:not(.admin-review-bulk-attestation) {
  display: grid;
  gap: 7px;
  color: #555650;
  font-size: 12px;
  font-weight: 700;
}

.admin-review-bulk-attestation {
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  padding: 12px;
  border-left: 2px solid #315c51;
  background: #eef3f0;
  cursor: pointer;
}

.admin-review-bulk-attestation input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #315c51;
}

.admin-review-bulk-dialog textarea {
  width: 100%;
  min-height: 72px;
  padding: 10px;
  resize: vertical;
  border: 1px solid #cecec8;
  border-radius: 0;
  background: #fff;
  color: #252521;
  font: 400 13px/1.5 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-review-bulk-dialog textarea:focus {
  border-color: #315c51;
  outline: 2px solid rgba(49, 92, 81, 0.14);
}

.admin-review-page .contact-toast[data-type="error"] { background: #752f29; }
.admin-review-page .contact-toast[data-type="success"] { background: #315e45; }

.admin-review-page[data-review-busy] .admin-review-workspace { cursor: progress; }

@keyframes admin-review-spin { to { transform: rotate(360deg); } }

@keyframes admin-review-pulse {
  0%, 100% { opacity: 0.42; }
  50% { opacity: 1; }
}

@media (max-width: 1360px) {
  .admin-review-workspace { grid-template-columns: minmax(290px, 330px) minmax(0, 1fr); }
  .admin-review-detail-grid { grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.85fr); }
  .admin-review-checklist { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1180px) {
  .admin-review-shell { padding-right: 24px; padding-left: 24px; }
  .admin-review-workspace { grid-template-columns: minmax(280px, 31vw) minmax(0, 1fr); }
  .admin-review-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .admin-review-media { position: static; }
  .admin-review-image-stage { height: clamp(380px, 56vh, 640px); }
  .admin-review-inspector { border-top: 1px solid #dfdfd9; border-left: 0; }
  .admin-review-checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
  .admin-review-workspace { grid-template-columns: minmax(0, 1fr); }

  .admin-review-queue {
    position: static;
    width: 100%;
    height: auto;
    max-height: none;
    border-right: 0;
    border-bottom: 1px solid #dfdfd9;
  }

  .admin-review-list { max-height: min(48vh, 520px); }
  .admin-review-detail { width: 100%; }
}

@media (max-width: 900px) {
  .admin-review-shell { padding-right: 18px; padding-left: 18px; }
  .admin-review-detail-header { flex-direction: column; }
  .admin-review-assignment-actions { justify-content: flex-start; }
  .admin-review-assigned-note { max-width: none; text-align: left; }
  .admin-review-asset-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-review-definition-list { grid-template-columns: minmax(100px, 0.58fr) minmax(0, 1.42fr); }
  .admin-review-checklist { grid-template-columns: minmax(0, 1fr); }
  .admin-review-decision-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .admin-review-page {
    --archive-rail-width: 0px;
    --admin-review-header-height: 68px;
  }

  .admin-review-skip { left: 12px; }
  .admin-review-rail { display: none; }

  .admin-review-header {
    left: 0;
    align-items: center;
    flex-direction: row;
    gap: 18px;
    height: var(--admin-review-header-height);
    min-height: var(--admin-review-header-height);
    padding: 0 16px;
  }

  .admin-review-header .brand-mark span:last-child { display: none; }

  .admin-review-header .site-nav {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    gap: 17px;
    font-size: 9px;
  }

  .admin-review-header .site-nav a { min-height: var(--admin-review-header-height); }

  .admin-review-shell {
    width: 100%;
    margin-left: 0;
    padding: calc(var(--admin-review-header-height) + 23px) 16px 38px;
  }

  .admin-review-command { align-items: center; padding-bottom: 22px; }
  .admin-review-command h1 { font-size: clamp(38px, 12vw, 52px); }
  .admin-review-command .section-kicker { margin-bottom: 6px; }

  .admin-review-metrics { margin-right: -16px; margin-left: -16px; padding-right: 16px; padding-left: 16px; }
  .admin-review-metrics button { flex-basis: 132px; min-height: 54px; padding: 0 13px; }
  .admin-review-metrics button::after { right: 13px; left: 13px; }

  .admin-review-filters { min-height: 70px; }
  .admin-review-filters label { min-width: min(220px, 66vw); }

  .admin-review-workspace {
    display: flex;
    flex-direction: column;
    border-bottom: 0;
  }

  .admin-review-workspace[data-mobile-view="queue"] .admin-review-detail,
  .admin-review-workspace[data-mobile-view="detail"] .admin-review-queue {
    display: none;
  }

  .admin-review-detail {
    order: 1;
    width: 100%;
    scroll-margin-top: var(--admin-review-header-height);
    border-bottom: 1px solid #dcdcd6;
  }

  .admin-review-mobile-toolbar {
    position: sticky;
    top: var(--admin-review-header-height);
    z-index: 12;
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 4px 18px;
    border-bottom: 1px solid #dcdcd6;
    background: rgba(251, 251, 248, 0.97);
    backdrop-filter: blur(12px);
  }

  .admin-review-mobile-toolbar button {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 6px 0 0;
    border: 0;
    background: transparent;
    color: #244f62;
    cursor: pointer;
    font: 700 12px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  }

  .admin-review-mobile-toolbar button:focus-visible {
    outline: 2px solid rgba(47, 101, 125, 0.48);
    outline-offset: 3px;
  }

  .admin-review-mobile-toolbar .ui-icon {
    width: 16px;
    height: 16px;
    transform: rotate(180deg);
  }

  .admin-review-queue {
    position: static;
    order: 2;
    width: 100%;
    height: auto;
    max-height: none;
    scroll-margin-top: var(--admin-review-header-height);
    border-top: 18px solid #fbfbf8;
    border-right: 0;
  }

  .admin-review-list { max-height: none; overflow: visible; }

  .admin-review-detail-state { min-height: 42vh; }
  .admin-review-detail-header { padding: 24px 18px 22px; }
  .admin-review-detail-header h2 { font-size: clamp(32px, 10vw, 44px); }
  .admin-review-conflict { align-items: flex-start; flex-direction: column; margin: 16px 18px 0; }
  .admin-review-media { padding: 18px; }
  .admin-review-image-stage { height: min(66vh, 560px); min-height: 340px; }
  .admin-review-inspector > section,
  .admin-review-decision { padding-right: 18px; padding-left: 18px; }
  .admin-review-dialog form { padding: 26px 22px; }
}

@media (max-width: 480px) {
  .admin-review-shell { padding-right: 12px; padding-left: 12px; }
  .admin-review-header { padding-right: 12px; padding-left: 12px; }
  .admin-review-header .site-nav { gap: 12px; }
  .admin-review-header .site-nav a:first-child { display: none; }
  .admin-review-command { gap: 14px; }
  .admin-review-command h1 { font-size: 40px; }
  .admin-review-command .admin-review-icon-button { width: 38px; height: 38px; }

  .admin-review-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-right: -12px;
    margin-left: -12px;
    padding-right: 0;
    padding-left: 0;
    overflow: visible;
  }

  .admin-review-metrics button {
    min-width: 0;
    padding: 0 8px;
    gap: 4px;
  }

  .admin-review-metrics button::after { right: 8px; left: 8px; }
  .admin-review-metrics span { font-size: 9px; }
  .admin-review-metrics strong { font-size: 19px; }

  .admin-review-filters {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
    padding: 14px 0;
  }

  .admin-review-filters label { min-width: 0; width: 100%; }
  .admin-review-filters p { margin: 0; }

  .admin-review-list-item > button {
    grid-template-columns: 58px minmax(0, 1fr) 14px;
    gap: 10px;
    min-height: 106px;
    padding: 12px 10px 12px 13px;
  }

  .admin-review-list-thumb { width: 58px; height: 74px; }
  .admin-review-list-facts span:nth-child(n + 4) { display: none; }
  .admin-review-detail-header { padding-right: 14px; padding-left: 14px; }
  .admin-review-assignment-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .admin-review-assignment-actions .button { width: 100%; }
  .admin-review-conflict { margin-right: 14px; margin-left: 14px; }
  .admin-review-media { padding: 14px; }
  .admin-review-image-stage { height: 52vh; min-height: 280px; }
  .admin-review-asset-button { flex-basis: 92px; }
  .admin-review-asset-meta { grid-template-columns: minmax(0, 1fr); }

  .admin-review-asset-meta dt,
  .admin-review-asset-meta dd { border-right: 0; }

  .admin-review-definition-list { grid-template-columns: minmax(92px, 0.56fr) minmax(0, 1.44fr); }
  .admin-review-inspector > section,
  .admin-review-decision { padding-right: 14px; padding-left: 14px; }
  .admin-review-mobile-toolbar { padding-right: 14px; padding-left: 14px; }
  .admin-review-decision-footer {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }
  .admin-review-decision-footer .button { width: 100%; }
  .admin-review-dialog { width: calc(100vw - 20px); }
  .admin-review-dialog form { padding: 24px 18px; }
  .admin-review-dialog h2 { font-size: 30px; }
  .admin-review-dialog-actions { align-items: stretch; flex-direction: column; }
  .admin-review-dialog-actions .button { width: 100%; }
  .admin-review-page .contact-toast { right: 12px; bottom: 12px; max-width: calc(100vw - 24px); }
}

@media (prefers-reduced-motion: reduce) {
  .admin-review-list-state[data-tone="loading"]::before,
  .admin-review-detail-state[data-tone="loading"] > .ui-icon { animation: none; }

  .admin-review-skip,
  .admin-review-icon-button,
  .admin-review-page .contact-toast { transition: none; }
}

/* Shared authenticated account menu. */
.account-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  flex: 0 0 auto;
  margin-left: clamp(12px, 2vw, 28px);
  color: #171717;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
}

.account-profile-link {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(var(--ink-rgb), 0.2);
  border-radius: 50%;
  background: #f1f3f4;
  color: #1f3139;
  font: 800 12px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  cursor: pointer;
  transition: border-color var(--ui-motion-fast) var(--ui-ease-standard), box-shadow var(--ui-motion-fast) var(--ui-ease-standard);
}

.account-profile-link:hover,
.account-profile-link:focus-visible {
  border-color: rgba(var(--accent-rgb), 0.62);
  outline: none;
  box-shadow: var(--ui-focus);
}

.account-menu-trigger {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #4f5a5f;
  cursor: pointer;
}

.account-menu-trigger:hover,
.account-menu-trigger:focus-visible,
.account-menu-trigger[aria-expanded="true"] {
  outline: none;
  background: rgba(var(--ink-rgb), 0.07);
  box-shadow: var(--ui-focus);
}

.account-menu-trigger-icon {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.account-menu-trigger-icon span {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
}

.account-menu-popover {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 140;
  width: min(320px, calc(100vw - 24px));
  overflow: hidden;
  border: 1px solid rgba(var(--ink-rgb), 0.16);
  border-radius: 8px;
  background: #fff;
  color: #171717;
  box-shadow: 0 20px 52px rgba(var(--ink-rgb), 0.18);
}

.account-menu-identity {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 20px;
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.12);
}

.account-menu-avatar {
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #263a43;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
}

.account-menu-avatar:hover,
.account-menu-avatar:focus-visible {
  outline: none;
  box-shadow: var(--ui-focus);
}

.account-menu-identity > span:last-child {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.account-menu-identity strong,
.account-menu-identity small,
.account-menu-identity em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-menu-identity strong {
  font-size: 15px;
  font-style: normal;
  line-height: 1.25;
}

.account-menu-identity small {
  color: #62666d;
  font-size: 11px;
  line-height: 1.4;
}

.account-menu-identity em {
  color: #315e45;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
}

.account-menu-links {
  display: grid;
  padding: 8px 0;
}

.account-menu-actions {
  display: grid;
}

.account-menu-links a,
.account-menu-signout {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 42px;
  padding: 0 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #252525;
  font: 650 13px/1.3 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  text-align: left;
  cursor: pointer;
}

.account-menu-links a:hover,
.account-menu-links a:focus-visible,
.account-menu-links a[aria-current="page"],
.account-menu-signout:hover,
.account-menu-signout:focus-visible {
  outline: none;
  background: #f2f4f5;
  color: #1f5167;
}

.account-menu-signout {
  border-top: 1px solid rgba(var(--ink-rgb), 0.12);
  color: #7c3029;
}

.account-menu-signout:disabled {
  cursor: wait;
  opacity: 0.58;
}

.account-menu-error {
  margin: 0;
  padding: 10px 20px;
  border-top: 1px solid rgba(124, 48, 41, 0.18);
  background: rgba(124, 48, 41, 0.06);
  color: #7c3029;
  font-size: 11px;
  line-height: 1.45;
}

/* User Dashboard: profile overview and server-aggregated work state. */
.dashboard-page {
  --archive-rail-width: 0px;
  min-height: 100vh;
  background: #fff;
}

.dashboard-header {
  left: 0;
  min-height: 68px;
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.12);
  background: rgba(var(--paper-rgb), 0.97);
  backdrop-filter: blur(14px);
}

.dashboard-header .site-nav {
  margin-left: auto;
}

.dashboard-shell {
  width: 100%;
  min-width: 0;
  margin-left: 0;
  padding: 88px clamp(22px, 3.5vw, 54px) 72px;
}

.dashboard-cover {
  position: relative;
  height: 260px;
  margin: 0;
  overflow: hidden;
  background: #e8ebed;
}

.dashboard-cover::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(var(--ink-rgb), 0.08);
  content: "";
  pointer-events: none;
}

.dashboard-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
  filter: saturate(0.82) contrast(1.03);
}

.dashboard-identity {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) auto;
  gap: 18px 24px;
  align-items: end;
  padding: 0 0 34px;
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.12);
}

.dashboard-avatar {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  margin-top: -42px;
  border: 5px solid #fff;
  border-radius: 50%;
  background: #243b45;
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

.dashboard-avatar:hover,
.dashboard-avatar:focus-visible,
.account-avatar:hover,
.account-avatar:focus-visible {
  outline: none;
  box-shadow: var(--ui-focus);
}

.dashboard-identity-copy {
  min-width: 0;
  padding-top: 22px;
}

.dashboard-identity-copy .section-kicker {
  margin: 0 0 4px;
  color: #52666f;
  font-size: 9px;
}

.dashboard-identity-copy h1 {
  margin: 0;
  overflow-wrap: anywhere;
  font: 500 40px/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

.dashboard-email {
  margin: 5px 0 0;
  overflow-wrap: anywhere;
  color: #62666d;
  font-size: 13px;
  line-height: 1.4;
}

.dashboard-account-state {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 15px;
  margin-top: 9px;
  color: #52605f;
  font-size: 10px;
  font-weight: 700;
}

.dashboard-account-state span + span::before {
  margin-right: 15px;
  color: #abb0b3;
  content: "/";
}

.dashboard-commands {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  padding-bottom: 2px;
}

.dashboard-commands .button {
  min-height: 42px;
  padding: 0 16px;
  border-radius: 6px;
  font-size: 12px;
}

.dashboard-commands .button-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.dashboard-workspace-link,
.dashboard-text-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 4px;
  border: 0;
  background: transparent;
  color: #315f73;
  font: 750 11px/1.3 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  cursor: pointer;
}

.dashboard-workspace-link:hover,
.dashboard-workspace-link:focus-visible,
.dashboard-text-button:hover,
.dashboard-text-button:focus-visible {
  outline: none;
  color: #172f39;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.dashboard-workspace-link .ui-icon { width: 14px; height: 14px; }

.dashboard-bio {
  grid-column: 2 / 4;
  max-width: 760px;
  margin: 0;
  overflow-wrap: anywhere;
  color: #565b60;
  font-size: 14px;
  line-height: 1.7;
}

.dashboard-tabs {
  display: flex;
  align-items: end;
  gap: 28px;
  min-height: 62px;
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.12);
}

.dashboard-tabs button {
  position: relative;
  align-self: stretch;
  padding: 0 2px;
  border: 0;
  background: transparent;
  color: #6a6e72;
  font: 750 12px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  cursor: pointer;
}

.dashboard-tabs button::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: transparent;
  content: "";
}

.dashboard-tabs button:hover,
.dashboard-tabs button:focus-visible,
.dashboard-tabs button[aria-selected="true"] {
  outline: none;
  color: #171717;
}

.dashboard-tabs button:focus-visible { box-shadow: 0 3px 0 rgba(var(--accent-rgb), 0.25); }
.dashboard-tabs button[aria-selected="true"]::after { background: #2f657d; }

.dashboard-loading {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 420px;
  gap: 14px;
  color: #62666d;
  font-size: 12px;
  text-align: center;
}

.dashboard-loading > span {
  width: 22px;
  height: 22px;
  border: 2px solid #d8dcde;
  border-top-color: #2f657d;
  border-radius: 50%;
  animation: dashboard-spin 800ms linear infinite;
}

.dashboard-loading p { margin: 0; }
@keyframes dashboard-spin { to { transform: rotate(360deg); } }

.dashboard-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 210px;
  margin-top: 28px;
  padding: 32px 0;
  border-top: 1px solid rgba(124, 48, 41, 0.32);
  border-bottom: 1px solid rgba(124, 48, 41, 0.16);
}

.dashboard-error h2,
.dashboard-error p { margin: 0; }
.dashboard-error .section-kicker { margin-bottom: 8px; color: #7c3029; }
.dashboard-error h2 { font: 500 28px/1.2 Georgia, "Times New Roman", serif; letter-spacing: 0; }
.dashboard-error [data-dashboard-error-message] { margin-top: 10px; color: #62666d; font-size: 13px; }
.dashboard-error .button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; border-radius: 6px; }

.dashboard-content { min-width: 0; }

.dashboard-status-section,
.dashboard-section,
.dashboard-works-section,
.dashboard-capability-note {
  min-width: 0;
  padding: 34px 0;
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.12);
}

.dashboard-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.dashboard-section-heading p,
.dashboard-section-heading h2,
.dashboard-section-heading small { margin: 0; }

.dashboard-section-heading p {
  margin-bottom: 5px;
  color: #6c7377;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.dashboard-section-heading h2 {
  font: 500 25px/1.15 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

.dashboard-section-heading small {
  color: #73787c;
  font-size: 10px;
}

.dashboard-status-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid rgba(var(--ink-rgb), 0.12);
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.12);
}

.dashboard-status-grid > div {
  display: flex;
  min-width: 0;
  min-height: 92px;
  padding: 17px 18px;
  flex-direction: column-reverse;
  justify-content: space-between;
  border-left: 1px solid rgba(var(--ink-rgb), 0.1);
}

.dashboard-status-grid > div:first-child { border-left: 0; }
.dashboard-status-grid dt { overflow-wrap: anywhere; color: #62666d; font-size: 10px; font-weight: 700; line-height: 1.35; }
.dashboard-status-grid dd { margin: 0; color: #171717; font: 500 30px/1 Georgia, "Times New Roman", serif; }
.dashboard-status-grid [data-status="changes_requested"] dd { color: #8a2c25; }

.dashboard-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(30px, 5vw, 74px);
}

.dashboard-overview-lower .dashboard-section { padding-top: 38px; }

.dashboard-empty-state {
  display: grid;
  align-content: center;
  min-height: 156px;
  padding: 24px 0;
  border-top: 1px solid rgba(var(--ink-rgb), 0.1);
  color: #62666d;
}

.dashboard-empty-state strong { color: #303437; font-size: 13px; }
.dashboard-empty-state p { max-width: 440px; margin: 7px 0 0; font-size: 12px; line-height: 1.55; }
.dashboard-empty-state a { width: fit-content; margin-top: 14px; color: #315f73; font-size: 11px; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }

.dashboard-image-list { border-top: 1px solid rgba(var(--ink-rgb), 0.1); }

.dashboard-image-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  min-height: 78px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.09);
}

.dashboard-image-row:hover .dashboard-image-copy strong,
.dashboard-image-row:focus-visible .dashboard-image-copy strong { color: #2f657d; }
.dashboard-image-row:focus-visible { outline: 2px solid rgba(var(--accent-rgb), 0.4); outline-offset: 3px; }

.dashboard-image-thumbnail {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0;
  overflow: hidden;
  background: #eef0f1;
  color: #7a8387;
}

.dashboard-image-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.dashboard-image-thumbnail .ui-icon { width: 20px; height: 20px; }
.dashboard-image-copy { display: grid; min-width: 0; gap: 4px; }
.dashboard-image-copy strong { overflow: hidden; color: #292d2f; font-size: 12px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-image-copy small { overflow: hidden; color: #777c80; font-size: 10px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-image-row > em { color: #59676c; font-size: 9px; font-style: normal; font-weight: 750; text-transform: uppercase; }

.dashboard-attention-list,
.dashboard-activity-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(var(--ink-rgb), 0.1);
  list-style: none;
}

.dashboard-attention-list li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 34px;
  gap: 10px;
  align-items: start;
  min-height: 104px;
  padding: 17px 0;
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.09);
}

.dashboard-attention-list li > .ui-icon { margin-top: 2px; color: #8a2c25; }
.dashboard-attention-list strong { overflow-wrap: anywhere; color: #272b2d; font-size: 12px; }
.dashboard-attention-list p { margin: 4px 0; color: #60666a; font-size: 11px; line-height: 1.5; }
.dashboard-attention-list small { color: #808487; font-size: 9px; }
.dashboard-attention-list a { display: grid; place-items: center; width: 34px; height: 34px; color: #315f73; }
.dashboard-attention-list a:hover,
.dashboard-attention-list a:focus-visible { outline: none; background: #eef2f3; box-shadow: var(--ui-focus); }

.dashboard-activity-list li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 11px;
  min-height: 78px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.09);
}

.dashboard-activity-list li > .ui-icon { margin-top: 1px; color: #59727d; }
.dashboard-activity-list strong { overflow-wrap: anywhere; font-size: 12px; }
.dashboard-activity-list p { margin: 2px 0; color: #4f5d62; font-size: 10px; font-weight: 700; }
.dashboard-activity-list small { color: #7c8184; font-size: 9px; }

.dashboard-storage-list {
  margin: 0;
  border-top: 1px solid rgba(var(--ink-rgb), 0.1);
}

.dashboard-storage-list > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  min-height: 50px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.09);
}

.dashboard-storage-list dt { color: #62666d; font-size: 11px; }
.dashboard-storage-list dd { margin: 0; color: #202426; font-size: 13px; font-weight: 750; }
.dashboard-storage-note { margin: 16px 0 0; color: #71777a; font-size: 10px; line-height: 1.55; }

.dashboard-works-section { padding-top: 38px; }
.dashboard-draft-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.dashboard-draft-grid > .dashboard-empty-state { grid-column: 1 / -1; }

.dashboard-draft-card {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  min-height: 112px;
  gap: 14px;
  padding: 12px;
  border: 1px solid rgba(var(--ink-rgb), 0.12);
  border-radius: 6px;
  background: #fff;
}

.dashboard-draft-card:hover,
.dashboard-draft-card:focus-visible { border-color: rgba(var(--accent-rgb), 0.5); outline: none; box-shadow: var(--ui-focus); }
.dashboard-draft-card .dashboard-image-thumbnail { width: 88px; height: 88px; }
.dashboard-draft-card > span { display: grid; min-width: 0; gap: 7px; }
.dashboard-draft-card strong,
.dashboard-draft-card small { overflow: hidden; text-overflow: ellipsis; }
.dashboard-draft-card strong { color: #282c2e; font-size: 12px; line-height: 1.35; white-space: nowrap; }
.dashboard-draft-card small { color: #72777a; font-size: 9px; line-height: 1.45; white-space: normal; }

.dashboard-capability-note { max-width: 760px; padding-top: 44px; }
.dashboard-capability-note .section-kicker { margin: 0 0 7px; color: #667279; }
.dashboard-capability-note h2 { margin: 0; font: 500 26px/1.2 Georgia, "Times New Roman", serif; letter-spacing: 0; }
.dashboard-capability-note > p:last-child { margin: 12px 0 0; color: #62666d; font-size: 12px; line-height: 1.65; }

@media (max-width: 1120px) {
  .dashboard-identity { grid-template-columns: 104px minmax(0, 1fr); }
  .dashboard-commands { grid-column: 2; justify-content: flex-start; }
  .dashboard-bio { grid-column: 2; }
  .dashboard-draft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .dashboard-overview-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .dashboard-overview-grid .dashboard-section { padding-top: 34px; }
  .dashboard-status-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-status-grid > div:nth-child(4) { border-left: 0; border-top: 1px solid rgba(var(--ink-rgb), 0.1); }
  .dashboard-status-grid > div:nth-child(5) { border-top: 1px solid rgba(var(--ink-rgb), 0.1); }
}

@media (max-width: 760px) {
  .dashboard-header {
    left: 0;
    align-items: center;
    flex-direction: row;
    gap: 14px;
    height: 68px;
    min-height: 68px;
    padding: 0 16px;
  }
  .dashboard-header .brand-mark span:last-child { display: none; }
  .dashboard-header .site-nav {
    display: flex;
    grid-template-columns: none;
    width: auto;
    gap: 16px;
    font-size: 10px;
  }
  .dashboard-shell { width: 100%; margin-left: 0; padding: 68px 0 48px; }
  .dashboard-cover { height: 176px; }
  .dashboard-identity { grid-template-columns: 76px minmax(0, 1fr); gap: 12px 15px; padding: 0 16px 28px; }
  .dashboard-avatar { width: 76px; height: 76px; margin-top: -28px; border-width: 4px; font-size: 17px; }
  .dashboard-identity-copy { padding-top: 14px; }
  .dashboard-identity-copy h1 { font-size: 31px; }
  .dashboard-email { font-size: 11px; }
  .dashboard-account-state { display: grid; gap: 2px; }
  .dashboard-account-state span + span::before { display: none; }
  .dashboard-commands { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; padding-top: 8px; }
  .dashboard-commands .button { width: 100%; min-width: 0; justify-content: center; padding: 0 10px; white-space: normal; text-align: center; }
  .dashboard-commands .dashboard-workspace-link { grid-column: 1 / -1; justify-content: center; }
  .dashboard-bio { grid-column: 1 / -1; font-size: 13px; }
  .dashboard-tabs,
  .dashboard-content,
  .dashboard-loading,
  .dashboard-error { margin-right: 16px; margin-left: 16px; }
  .dashboard-tabs { min-height: 56px; }
  .dashboard-error { align-items: flex-start; flex-direction: column; }
  .dashboard-status-section,
  .dashboard-section,
  .dashboard-works-section,
  .dashboard-capability-note { padding-top: 28px; padding-bottom: 28px; }
  .dashboard-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .dashboard-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-status-grid > div { min-height: 82px; padding: 14px; }
  .dashboard-status-grid > div:nth-child(odd) { border-left: 0; }
  .dashboard-status-grid > div:nth-child(n + 3) { border-top: 1px solid rgba(var(--ink-rgb), 0.1); }
  .dashboard-status-grid dd { font-size: 27px; }
  .dashboard-draft-grid { grid-template-columns: minmax(0, 1fr); }
  .dashboard-capability-note { max-width: none; }
}

@media (max-width: 480px) {
  .account-menu { margin-left: 2px; }
  .account-menu-trigger { width: 44px; height: 44px; }
  .account-menu-popover { position: fixed; top: 62px; right: 12px; }
  .account-menu-identity { padding: 17px; }
  .account-menu-links a,
  .account-menu-signout { min-height: 44px; padding-right: 17px; padding-left: 17px; }
  .dashboard-header .site-nav a:first-child { display: none; }
  .dashboard-cover { height: 160px; }
  .dashboard-image-row { grid-template-columns: 54px minmax(0, 1fr); }
  .dashboard-image-row > em { grid-column: 2; justify-self: start; }
  .dashboard-image-thumbnail { width: 54px; height: 54px; }
}

@media (max-width: 620px) {
  .home-account-entry.is-avatar { justify-self: end; }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-loading > span { animation: none; }
  .account-menu-trigger { transition: none; }
}

/* Profile Dashboard refresh: cover-led identity and richer account context. */
.dashboard-page {
  --dashboard-charcoal: #202927;
  --dashboard-forest: #214b40;
  --dashboard-teal: #2f6870;
  --dashboard-rust: #9a4937;
  --dashboard-ground: #e9ede9;
  background: var(--dashboard-ground);
  color: #18201e;
}

.dashboard-page .dashboard-header {
  background: rgba(246, 248, 244, 0.96);
  border-bottom-color: #cdd5cf;
}

.dashboard-page .dashboard-shell {
  max-width: none;
  padding: 88px clamp(24px, 3.5vw, 58px) 90px;
}

.dashboard-page .dashboard-cover {
  isolation: isolate;
  height: clamp(270px, 22vw, 340px);
  border: 1px solid rgba(17, 30, 27, 0.2);
  background: #273632;
}

.dashboard-page .dashboard-cover::after {
  border: 0;
  background: rgba(14, 22, 20, 0.1);
}

.dashboard-page .dashboard-cover > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
  filter: saturate(0.92) contrast(1.02);
}

.dashboard-cover-copy {
  position: absolute;
  bottom: 25px;
  left: clamp(22px, 3vw, 42px);
  z-index: 2;
  display: grid;
  gap: 4px;
  max-width: calc(100% - 44px);
  color: #fff;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.48);
}

.dashboard-cover-copy span {
  font-size: 10px;
  font-weight: 750;
  text-transform: uppercase;
}

.dashboard-cover-copy strong {
  max-width: 100%;
  font: 500 25px/1.05 Georgia, "Times New Roman", serif;
  overflow-wrap: anywhere;
}

.dashboard-cover-tools {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  display: grid;
  justify-items: end;
  gap: 8px;
}

.dashboard-cover-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: 5px;
  background: rgba(24, 32, 30, 0.82);
  color: #fff;
  cursor: pointer;
  font: 720 11px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.dashboard-cover-button:hover,
.dashboard-cover-button:focus-visible {
  border-color: #fff;
  background: #18201e;
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.28);
}

.dashboard-cover-status {
  max-width: min(340px, calc(100vw - 40px));
  margin: 0;
  padding: 8px 10px;
  border-left: 3px solid #7cb596;
  background: rgba(20, 30, 27, 0.9);
  color: #fff;
  font-size: 10px;
  line-height: 1.4;
}

.dashboard-cover-status[data-tone="error"] { border-left-color: #d27a68; }

.dashboard-page .dashboard-identity {
  grid-template-columns: 118px minmax(0, 1fr) auto;
  gap: 14px 26px;
  align-items: end;
  padding: 0 clamp(20px, 2.8vw, 40px) 34px;
  border: 1px solid #d5dbd5;
  border-top: 0;
  background: #f7f8f5;
}

.dashboard-page .dashboard-avatar {
  width: 108px;
  height: 108px;
  margin-top: -46px;
  overflow: hidden;
  border: 5px solid #f7f8f5;
  background: var(--dashboard-teal);
  color: #fff;
  font-size: 23px;
}

.dashboard-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dashboard-page .dashboard-identity-copy { padding-top: 22px; }
.dashboard-page .dashboard-identity-copy .section-kicker { color: #467066; }

.dashboard-page .dashboard-identity-copy h1 {
  color: #18201e;
  font-size: 43px;
}

.dashboard-location-line {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  color: #586660;
  font-size: 11px;
  font-weight: 650;
}

.dashboard-location-line .ui-icon { width: 14px; height: 14px; color: var(--dashboard-rust); }

.dashboard-page .dashboard-commands {
  gap: 9px;
  padding-bottom: 4px;
}

.dashboard-page .dashboard-commands .button {
  min-height: 44px;
  border-radius: 5px;
  font-size: 11px;
}

.dashboard-page .dashboard-commands .button-primary {
  border-color: var(--dashboard-forest);
  background: var(--dashboard-forest);
}

.dashboard-page .dashboard-commands .button-secondary {
  border-color: #889891;
  background: #fff;
  color: #26332f;
}

.dashboard-profile-copy {
  grid-column: 2 / 4;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 32px;
  align-items: end;
  min-width: 0;
  padding-top: 4px;
}

.dashboard-page .dashboard-bio {
  grid-column: 1;
  max-width: 720px;
  color: #4e5a56;
}

.dashboard-page .dashboard-email {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  color: #6b746f;
  font-size: 11px;
  text-align: right;
}

.dashboard-page .dashboard-account-state {
  grid-column: 2;
  grid-row: 2;
  justify-content: flex-end;
  margin-top: 0;
  color: #49635b;
  text-align: right;
}

.dashboard-profile-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  border-right: 1px solid #d0d8d2;
  border-bottom: 1px solid #d0d8d2;
  border-left: 1px solid #d0d8d2;
}

.dashboard-profile-facts > div {
  display: grid;
  align-content: start;
  min-width: 0;
  min-height: 132px;
  padding: 22px clamp(16px, 2vw, 28px);
  border-left: 1px solid rgba(22, 34, 30, 0.14);
}

.dashboard-profile-facts > div:first-child { border-left: 0; }
.dashboard-profile-facts > div:nth-child(4) { border-left: 0; }
.dashboard-profile-facts > div:nth-child(n + 4) { border-top: 1px solid rgba(22, 34, 30, 0.14); }

.dashboard-profile-facts > div > span,
.dashboard-profile-completion > div > span {
  font-size: 9px;
  font-weight: 780;
  text-transform: uppercase;
}

.dashboard-profile-facts strong,
.dashboard-profile-facts a {
  min-width: 0;
  margin-top: 7px;
  overflow-wrap: anywhere;
  font: 650 16px/1.35 Inter, "Helvetica Neue", Arial, sans-serif;
}

.dashboard-profile-facts small {
  margin-top: 7px;
  font-size: 9px;
  line-height: 1.45;
  opacity: 0.74;
}

.dashboard-profile-completion {
  background: var(--dashboard-forest);
  color: #f6f7f2;
}

.dashboard-profile-completion > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.dashboard-profile-completion strong {
  margin: 0;
  color: #fff;
  font: 500 27px/1 Georgia, "Times New Roman", serif;
}

.dashboard-completion-track {
  height: 5px;
  margin-top: 22px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.24);
}

.dashboard-completion-track span {
  display: block;
  width: 0;
  height: 100%;
  background: #b9d8c7;
  transition: width 260ms var(--ui-ease-out);
}

.dashboard-profile-fact:nth-child(2) {
  background: #eee0da;
  color: #5d2f26;
}

.dashboard-profile-fact:nth-child(3) {
  background: #dcebea;
  color: #224f54;
}

.dashboard-profile-fact:nth-child(3) a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.dashboard-profile-fact:nth-child(4) {
  background: #e5e9e5;
  color: #34433e;
}

.dashboard-profile-fact:nth-child(5) {
  background: #303a38;
  color: #f2f4ef;
}

.dashboard-profile-fact:nth-child(6) {
  background: #e4dfcc;
  color: #51492d;
}

.dashboard-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-top: 7px;
}

.dashboard-social-links a {
  margin: 0;
  font-size: 13px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.dashboard-page .dashboard-tabs {
  min-height: 66px;
  padding: 0 4px;
  border-bottom-color: #bdc8c0;
  background: transparent;
}

.dashboard-page .dashboard-tabs button[aria-selected="true"]::after { background: var(--dashboard-rust); }

.dashboard-page .dashboard-loading { min-height: 360px; }

.dashboard-page .dashboard-status-section,
.dashboard-page .dashboard-section,
.dashboard-page .dashboard-works-section,
.dashboard-page .dashboard-capability-note {
  border-bottom-color: #c9d1cb;
}

.dashboard-page .dashboard-status-grid {
  border-color: #c9d1cb;
  background: #f4f6f2;
}

.dashboard-page .dashboard-status-grid > div { border-left-color: #d1d7d2; }
.dashboard-page .dashboard-status-grid > div:nth-child(2) { background: #e3ece7; }
.dashboard-page .dashboard-status-grid > div:nth-child(3) { background: #eee1dc; }
.dashboard-page .dashboard-status-grid > div:nth-child(4) { background: #dce9e9; }
.dashboard-page .dashboard-status-grid > div:nth-child(5) { background: #e6e7e1; }

.dashboard-page .dashboard-section-heading h2 { color: #1e2926; }
.dashboard-page .dashboard-section-heading p { color: #66766f; }

.dashboard-page .dashboard-draft-card {
  border-color: #ccd4ce;
  background: #f8f9f6;
}

.dashboard-page .dashboard-image-thumbnail { background: #dde5df; }

.dashboard-cover-dialog {
  width: min(980px, calc(100vw - 36px));
  max-height: min(820px, calc(100dvh - 36px));
  padding: 0;
  overflow: hidden;
  border: 1px solid #89968f;
  border-radius: 6px;
  background: #f5f7f3;
  color: #1d2825;
}

.dashboard-cover-dialog::backdrop { background: rgba(19, 26, 24, 0.62); }

.dashboard-cover-dialog-shell {
  display: flex;
  flex-direction: column;
  max-height: min(820px, calc(100dvh - 36px));
}

.dashboard-cover-dialog header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 28px 22px;
  border-bottom: 1px solid #ced6d0;
  background: #eef2ed;
}

.dashboard-cover-dialog .section-kicker {
  margin: 0 0 6px;
  color: #426a5f;
  font-size: 9px;
}

.dashboard-cover-dialog h2 {
  margin: 0;
  font: 500 29px/1.15 Georgia, "Times New Roman", serif;
}

.dashboard-cover-dialog header p:last-child {
  margin: 8px 0 0;
  color: #63706a;
  font-size: 11px;
  line-height: 1.5;
}

.dashboard-cover-dialog-close {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #bec9c1;
  border-radius: 4px;
  background: transparent;
  color: #34423e;
  cursor: pointer;
}

.dashboard-cover-dialog-close:hover,
.dashboard-cover-dialog-close:focus-visible { background: #dfe7e1; outline: none; }
.dashboard-cover-dialog-close:disabled { cursor: wait; opacity: 0.5; }

.dashboard-cover-dialog-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 50px;
  padding: 12px 28px;
  border-bottom: 1px solid #d7ded8;
  color: #52615c;
  font-size: 11px;
}

.dashboard-cover-dialog-state[data-tone="loading"]::before {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  border: 2px solid #b9c5bd;
  border-top-color: var(--dashboard-teal);
  border-radius: 50%;
  content: "";
  animation: dashboard-spin 800ms linear infinite;
}

.dashboard-cover-dialog-state[data-tone="loading"] { justify-content: flex-start; }
.dashboard-cover-dialog-state[data-tone="success"] { border-left: 3px solid #4f856b; background: #e6f0e9; color: #315641; }
.dashboard-cover-dialog-state[data-tone="error"] { border-left: 3px solid var(--dashboard-rust); background: #f5e8e3; color: #71382d; }

.dashboard-cover-dialog-state button {
  min-height: 32px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: 750 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.dashboard-cover-source {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 15px 28px;
  border-bottom: 1px solid #d7ded8;
  background: #fff;
}

.dashboard-cover-source > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.dashboard-cover-source strong { color: #25322e; font-size: 11px; line-height: 1.35; }
.dashboard-cover-source span { color: #68736e; font-size: 10px; line-height: 1.45; }

.dashboard-cover-upload {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  flex: 0 0 auto;
  gap: 8px;
  border-radius: 4px;
  white-space: nowrap;
}

.dashboard-cover-upload .ui-icon { width: 17px; height: 17px; }
.dashboard-cover-upload:disabled { cursor: wait; opacity: 0.55; }

.dashboard-cover-empty {
  display: grid;
  flex: 1 1 auto;
  justify-items: start;
  align-content: center;
  min-height: 300px;
  padding: 42px 28px;
  background: #f5f7f3;
}

.dashboard-cover-empty strong { font: 500 25px/1.2 Georgia, "Times New Roman", serif; }
.dashboard-cover-empty p { max-width: 520px; margin: 12px 0 22px; color: #63706a; font-size: 12px; line-height: 1.6; }
.dashboard-cover-empty .button { border-color: var(--dashboard-forest); background: var(--dashboard-forest); }

.dashboard-cover-candidates {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  min-height: 0;
  padding: 20px 28px 24px;
  overflow-y: auto;
  background: #f5f7f3;
}

.dashboard-cover-candidate {
  position: relative;
  display: grid;
  grid-template-rows: 130px auto;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #c7d0c9;
  border-radius: 5px;
  background: #fff;
  color: #26332f;
  cursor: pointer;
  text-align: left;
}

.dashboard-cover-candidate:hover,
.dashboard-cover-candidate:focus-visible { border-color: #52766c; outline: none; box-shadow: var(--ui-focus); }
.dashboard-cover-candidate[aria-pressed="true"] { border-color: var(--dashboard-teal); box-shadow: inset 0 0 0 2px var(--dashboard-teal); }
.dashboard-cover-candidate:disabled { cursor: wait; opacity: 0.62; }

.dashboard-cover-candidate > img {
  width: 100%;
  height: 130px;
  object-fit: cover;
  background: #dfe5e0;
}

.dashboard-cover-candidate > span:nth-of-type(1) {
  display: grid;
  min-width: 0;
  gap: 3px;
  padding: 10px 12px 12px;
}

.dashboard-cover-candidate strong {
  overflow: hidden;
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-cover-candidate small { color: #727d78; font-size: 9px; }

.dashboard-cover-candidate-marker {
  position: absolute;
  top: 8px;
  right: 8px;
  display: none;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 4px;
  background: var(--dashboard-teal);
  color: #fff;
}

.dashboard-cover-candidate-marker .ui-icon { width: 15px; height: 15px; }
.dashboard-cover-candidate[aria-pressed="true"] .dashboard-cover-candidate-marker { display: grid; }

.dashboard-cover-candidate[data-current="true"]::after {
  position: absolute;
  top: 9px;
  left: 9px;
  padding: 5px 7px;
  border-radius: 3px;
  background: rgba(26, 35, 32, 0.86);
  color: #fff;
  content: "Current";
  font-size: 8px;
  font-weight: 780;
  text-transform: uppercase;
}

.dashboard-cover-dialog footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 28px max(15px, env(safe-area-inset-bottom));
  border-top: 1px solid #cbd4cd;
  background: #eef2ed;
}

.dashboard-cover-dialog footer > div { display: flex; gap: 9px; }
.dashboard-cover-dialog footer .button { min-height: 40px; border-radius: 4px; font-size: 10px; }
.dashboard-cover-dialog footer .button-primary { border-color: var(--dashboard-forest); background: var(--dashboard-forest); }

.dashboard-cover-remove {
  min-height: 36px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #883f31;
  cursor: pointer;
  font: 720 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.dashboard-cover-remove:disabled { cursor: wait; opacity: 0.48; }

@media (max-width: 1120px) {
  .dashboard-page .dashboard-identity { grid-template-columns: 118px minmax(0, 1fr); }
  .dashboard-page .dashboard-commands { grid-column: 2; justify-content: flex-start; }
  .dashboard-profile-copy { grid-column: 2; grid-template-columns: minmax(0, 1fr); }
  .dashboard-page .dashboard-email,
  .dashboard-page .dashboard-account-state { grid-column: 1; grid-row: auto; justify-content: flex-start; text-align: left; }
  .dashboard-profile-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-profile-facts > div:nth-child(odd) { border-left: 0; }
  .dashboard-profile-facts > div:nth-child(even) { border-left: 1px solid rgba(22, 34, 30, 0.14); }
  .dashboard-profile-facts > div:nth-child(n + 3) { border-top: 1px solid rgba(22, 34, 30, 0.14); }
}

@media (max-width: 760px) {
  .dashboard-page .dashboard-shell { width: 100%; padding: 68px 0 54px; }
  .dashboard-page .dashboard-cover { height: 240px; border-right: 0; border-left: 0; }
  .dashboard-cover-copy { bottom: 18px; left: 17px; }
  .dashboard-cover-copy strong { font-size: 21px; }
  .dashboard-cover-tools { top: 14px; right: 14px; }
  .dashboard-cover-button { min-height: 38px; padding: 0 11px; }
  .dashboard-page .dashboard-identity {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 12px 14px;
    padding: 0 18px 28px;
    border-right: 0;
    border-left: 0;
  }
  .dashboard-page .dashboard-avatar { width: 80px; height: 80px; margin-top: -31px; border-width: 4px; font-size: 17px; }
  .dashboard-page .dashboard-identity-copy { padding-top: 13px; }
  .dashboard-page .dashboard-identity-copy h1 { font-size: 32px; }
  .dashboard-page .dashboard-commands { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 8px; }
  .dashboard-profile-copy { grid-column: 1 / -1; }
  .dashboard-profile-facts { border-right: 0; border-left: 0; }
  .dashboard-page .dashboard-tabs,
  .dashboard-page .dashboard-content,
  .dashboard-page .dashboard-loading,
  .dashboard-page .dashboard-error { margin-right: 18px; margin-left: 18px; }
  .dashboard-cover-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .dashboard-cover-dialog-shell { max-height: calc(100dvh - 16px); }
  .dashboard-cover-dialog header { padding: 20px 18px 17px; }
  .dashboard-cover-dialog h2 { font-size: 25px; }
  .dashboard-cover-dialog header p:last-child { max-width: 260px; }
  .dashboard-cover-dialog-state { padding-right: 18px; padding-left: 18px; }
  .dashboard-cover-source { padding-right: 18px; padding-left: 18px; }
  .dashboard-cover-empty { padding: 34px 18px; }
  .dashboard-cover-candidates { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px 14px 18px; }
  .dashboard-cover-candidate { grid-template-rows: 96px auto; }
  .dashboard-cover-candidate > img { height: 96px; }
  .dashboard-cover-dialog footer { padding-right: 18px; padding-left: 18px; }
}

@media (max-width: 480px) {
  .dashboard-page .dashboard-cover { height: 218px; }
  .dashboard-cover-button span { display: none; }
  .dashboard-cover-button { width: 40px; padding: 0; justify-content: center; }
  .dashboard-cover-button .ui-icon { width: 18px; height: 18px; }
  .dashboard-page .dashboard-header .site-nav a:first-child { display: inline; }
  .dashboard-page .dashboard-commands { grid-template-columns: minmax(0, 1fr); }
  .dashboard-page .dashboard-commands .button { min-height: 46px; }
  .dashboard-cover-source { align-items: stretch; flex-direction: column; gap: 12px; }
  .dashboard-cover-upload { width: 100%; }
  .dashboard-profile-facts { grid-template-columns: minmax(0, 1fr); }
  .dashboard-profile-facts > div { min-height: 112px; border-top: 1px solid rgba(22, 34, 30, 0.14); border-left: 0; }
  .dashboard-profile-facts > div:first-child { border-top: 0; }
  .dashboard-cover-dialog footer { align-items: stretch; flex-direction: column-reverse; gap: 10px; }
  .dashboard-cover-dialog footer > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-cover-remove { align-self: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-completion-track span { transition: none; }
  .dashboard-cover-dialog-state[data-tone="loading"]::before { animation: none; }
}

/* Operational surfaces use neutral tracking at every nested text level. */
.home-page *,
.dashboard-page *,
.upload-studio-page *,
.admin-review-page *,
.account-settings-page * {
  letter-spacing: 0 !important;
}

/* Compact Account Settings workspace. */
.account-settings-page {
  --archive-rail-width: 0px;
  --profile-ink: #191c1a;
  --profile-teal: #245f55;
  --profile-line: #d9dbd7;
  background: #f5f5f3;
}

.account-settings-page .account-settings-header {
  left: 0;
  min-height: 68px;
  border-bottom: 1px solid #dedfdb;
  background: rgba(255, 255, 255, 0.96);
}

.account-settings-page .account-settings-shell {
  width: min(1360px, calc(100% - 64px));
  margin: 0 auto;
  padding: 96px 0 64px;
}

.account-settings-page .account-settings-intro {
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: 32px;
  align-items: center;
  min-height: 0;
  padding: 18px 28px;
  border: 1px solid var(--profile-line);
  border-radius: 4px;
  background: #fff;
}

.account-settings-page .account-settings-intro .section-kicker {
  margin-bottom: 6px;
}

.account-settings-page .account-settings-intro h1 {
  color: var(--profile-ink);
  font-size: 38px;
  line-height: 1.08;
  text-transform: none;
}

.account-settings-page .account-settings-intro > div > p:last-of-type {
  max-width: 620px;
  margin-top: 8px;
  color: #626761;
  font-size: 13px;
  line-height: 1.5;
}

.account-settings-page .account-return-profile {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 24px;
  margin-top: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--profile-teal);
  font-size: 12px;
  font-weight: 700;
}

.account-settings-page .account-return-profile:hover,
.account-settings-page .account-return-profile:focus-visible {
  outline: none;
  box-shadow: var(--ui-focus);
}

.account-settings-page .account-identity-summary {
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  padding: 4px 0 4px 24px;
  border-left: 1px solid var(--profile-line);
  background: transparent;
}

.account-settings-page .account-avatar {
  position: relative;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border-color: #c9ceca;
  background: #f5f7f5;
  color: var(--profile-teal);
  font-size: 15px;
}

.account-settings-page .account-avatar > span,
.account-settings-page .account-avatar > img {
  transition: opacity 190ms ease;
}

.account-settings-page .account-avatar > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}

.account-settings-page .account-avatar.is-image-ready > span {
  opacity: 0;
}

.account-settings-page .account-avatar.is-image-ready > img {
  opacity: 1;
}

.account-settings-page .account-settings-layout {
  grid-template-columns: 204px minmax(0, 1fr);
  gap: 24px;
  padding-top: 28px;
}

.account-settings-page .account-settings-content {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--profile-line);
  border-radius: 4px;
  background: #fff;
}

.account-settings-page .account-settings-index {
  top: 92px;
  gap: 0;
  padding: 6px;
  border: 1px solid var(--profile-line);
  border-radius: 4px;
  background: #fff;
}

.account-settings-page .account-settings-index a {
  position: relative;
  min-height: 44px;
  padding: 0 12px 0 15px;
  border: 0;
  border-radius: 2px;
  color: #646863;
  font-size: 13px;
}

.account-settings-page .account-settings-index a:hover,
.account-settings-page .account-settings-index a:focus-visible {
  outline: none;
  background: #f3f4f2;
  color: var(--profile-ink);
  box-shadow: var(--ui-focus);
}

.account-settings-page .account-settings-index a[aria-current="location"] {
  background: #f0f2ef;
  color: var(--profile-ink);
  font-weight: 750;
}

.account-settings-page .account-settings-index a[aria-current="location"]::before {
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 0;
  width: 3px;
  background: var(--profile-teal);
  content: "";
}

.account-settings-page .account-settings-section {
  scroll-margin-top: 92px;
  padding: 28px 30px 32px;
}

.account-settings-page .account-settings-section + .account-settings-section {
  padding-top: 32px;
  border-top: 1px solid var(--profile-line);
}

.account-settings-page .account-section-heading {
  grid-template-columns: minmax(250px, 0.9fr) minmax(0, 1.1fr);
  gap: 24px;
  margin-bottom: 0;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--profile-line);
}

.account-settings-page .account-section-heading h2 {
  color: var(--profile-ink);
  font-size: 32px;
  line-height: 1.12;
}

.account-settings-page .account-section-heading > p {
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.55;
}

.account-settings-page .account-profile-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding-top: 24px;
}

.account-settings-page .account-profile-group {
  min-inline-size: 0;
  margin: 0;
  padding: 20px 22px 22px;
  border: 1px solid var(--profile-line);
  border-radius: 4px;
  background: #fff;
}

.account-settings-page .account-profile-group > legend {
  display: grid;
  max-width: calc(100% - 16px);
  gap: 3px;
  margin-left: -8px;
  padding: 0 8px;
  background: #fff;
}

.account-settings-page .account-profile-group > legend > span {
  color: var(--profile-ink);
  font-size: 13px;
  font-weight: 750;
}

.account-settings-page .account-profile-group > legend > small {
  color: #747973;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.45;
}

.account-settings-page .account-profile-group-identity,
.account-settings-page .account-profile-group-about,
.account-settings-page .account-profile-group-links,
.account-settings-page .account-profile-form > .account-form-actions {
  grid-column: 1 / -1;
}

.account-settings-page .account-profile-identity-layout {
  display: grid;
  grid-template-columns: 184px minmax(0, 1fr);
  gap: 26px;
  min-width: 0;
  padding-top: 4px;
}

.account-settings-page .account-profile-avatar-summary {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 12px;
  min-width: 0;
  padding-right: 24px;
  border-right: 1px solid var(--profile-line);
}

.account-settings-page .account-profile-avatar {
  position: relative;
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border: 1px solid #c9ceca;
  border-radius: 50%;
  background: #f3f5f3;
  color: var(--profile-teal);
  font: 650 20px/1 Georgia, "Times New Roman", serif;
}

.account-settings-page .account-profile-avatar > span,
.account-settings-page .account-profile-avatar > img {
  transition: opacity 190ms ease;
}

.account-settings-page .account-profile-avatar > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}

.account-settings-page .account-profile-avatar.is-image-ready > span {
  opacity: 0;
}

.account-settings-page .account-profile-avatar.is-image-ready > img {
  opacity: 1;
}

.account-settings-page .account-profile-avatar-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.account-settings-page .account-profile-avatar-summary strong {
  overflow-wrap: anywhere;
  color: var(--profile-ink);
  font-size: 13px;
}

.account-settings-page .account-profile-avatar-summary small {
  color: #70746f;
  font-size: 11px;
  line-height: 1.4;
}

.account-settings-page .account-profile-avatar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.account-settings-page .account-profile-avatar-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  gap: 6px;
  padding: 7px 9px;
  border: 1px solid #c9ccc8;
  border-radius: 3px;
  background: #fff;
  color: var(--profile-ink);
  font: 700 11px/1.2 Arial, Helvetica, sans-serif;
  cursor: pointer;
}

.account-settings-page .account-profile-avatar-action .ui-icon {
  width: 15px;
  height: 15px;
}

.account-settings-page .account-profile-avatar-action:hover {
  background: #f3f4f2;
}

.account-settings-page .account-profile-avatar-action:focus-visible {
  outline: none;
  box-shadow: var(--ui-focus);
}

.account-settings-page .account-profile-avatar-action:disabled {
  cursor: wait;
  opacity: 0.58;
}

.account-settings-page .account-profile-avatar-action.is-danger {
  border-color: #d9b9b5;
  color: #873c34;
}

.account-settings-page .account-profile-avatar-action[hidden] {
  display: none;
}

.account-settings-page .account-profile-avatar-help,
.account-settings-page .account-profile-avatar-status {
  display: block;
  max-width: 152px;
}

.account-settings-page .account-profile-avatar-status {
  min-height: 16px;
  color: #315f55;
  font-weight: 700;
}

.account-settings-page .account-profile-avatar-status[data-state="error"] {
  color: #873c34;
}

@media (prefers-reduced-motion: reduce) {
  .account-settings-page .account-avatar > span,
  .account-settings-page .account-avatar > img,
  .account-settings-page .account-profile-avatar > span,
  .account-settings-page .account-profile-avatar > img {
    transition: none;
  }
}

.account-settings-page .account-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
  min-width: 0;
}

.account-settings-page .account-profile-group-identity .account-profile-grid,
.account-settings-page .account-profile-group-work .account-profile-grid,
.account-settings-page .account-profile-group-location .account-profile-grid {
  grid-template-columns: minmax(0, 1fr);
}

.account-settings-page .account-field {
  align-content: start;
  gap: 6px;
}

.account-settings-page .account-field > span {
  color: #303531;
  font-size: 13px;
  font-weight: 650;
}

.account-settings-page .account-field input,
.account-settings-page .account-field textarea,
.account-settings-page .account-field select {
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #c9ccc8;
  border-radius: 3px;
  background: #fff;
  font-size: 14px;
}

.account-settings-page .account-field textarea {
  min-height: 140px;
}

.account-settings-page .account-field input:focus,
.account-settings-page .account-field textarea:focus,
.account-settings-page .account-field select:focus {
  border-color: var(--profile-teal);
  box-shadow: 0 0 0 2px rgba(36, 95, 85, 0.14);
}

.account-settings-page .account-field input[aria-invalid="true"],
.account-settings-page .account-field textarea[aria-invalid="true"],
.account-settings-page .account-field select[aria-invalid="true"] {
  border-color: #a64036;
  box-shadow: 0 0 0 2px rgba(166, 64, 54, 0.1);
}

.account-settings-page .account-field em {
  color: #6b706b;
  font-size: 11px;
}

.account-settings-page .account-field small {
  min-height: 16px;
  font-size: 11px;
}

.account-settings-page .account-field small:empty {
  display: none;
}

.account-settings-page .account-role-picker {
  min-inline-size: 0;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
}

.account-settings-page .account-role-picker > legend {
  margin: 0;
  padding: 0;
  color: #303531;
  font-size: 13px;
  font-weight: 650;
}

.account-settings-page .account-role-picker > p {
  margin: 5px 0 13px;
  color: #70756f;
  font-size: 11px;
  line-height: 1.45;
}

.account-settings-page .account-role-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.account-settings-page .account-role-option {
  position: relative;
  display: inline-flex;
  min-width: 0;
}

.account-settings-page .account-role-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
}

.account-settings-page .account-role-option > span {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 12px 8px 32px;
  border: 1px solid #c9ccc8;
  border-radius: 3px;
  background: #fff;
  color: #303531;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.25;
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.account-settings-page .account-role-option > span::before {
  position: absolute;
  top: 50%;
  left: 12px;
  width: 11px;
  height: 11px;
  border: 1px solid #9fa49f;
  border-radius: 2px;
  background: #fff;
  content: "";
  transform: translateY(-50%);
}

.account-settings-page .account-role-option > span::after {
  position: absolute;
  top: 50%;
  left: 15px;
  width: 5px;
  height: 3px;
  border-bottom: 1.5px solid #245f55;
  border-left: 1.5px solid #245f55;
  content: "";
  opacity: 0;
  transform: translateY(-65%) rotate(-45deg);
}

.account-settings-page .account-role-option input:checked + span {
  border-color: var(--profile-teal);
  background: #e8efec;
  color: #173f37;
}

.account-settings-page .account-role-option input:checked + span::before {
  border-color: #8ca79f;
}

.account-settings-page .account-role-option input:checked + span::after {
  opacity: 1;
}

.account-settings-page .account-role-option input:focus-visible + span {
  border-color: var(--profile-teal);
  outline: none;
  box-shadow: 0 0 0 3px rgba(36, 95, 85, 0.16);
}

.account-settings-page .account-role-option input:disabled:not(:checked) + span {
  cursor: not-allowed;
  opacity: 0.42;
}

.account-settings-page .account-role-option.is-legacy > span {
  border-style: dashed;
}

.account-settings-page .account-role-picker[aria-invalid="true"] .account-role-options {
  border-radius: 3px;
  outline: 2px solid rgba(166, 64, 54, 0.22);
  outline-offset: 4px;
}

.account-settings-page .account-role-feedback {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: start;
  margin-top: 10px;
}

.account-settings-page .account-role-feedback em {
  color: #6b706b;
  font-size: 10px;
  font-style: normal;
  line-height: 1.45;
}

.account-settings-page .account-role-feedback small {
  min-height: 0;
  color: #a64036;
  text-align: right;
}

.account-settings-page .account-profile-form > .account-form-actions {
  min-height: 68px;
  margin-top: 0;
  padding: 16px 18px;
  border: 1px solid var(--profile-line);
  border-radius: 4px;
  background: #f8f9f7;
}

.account-settings-page .account-profile-form > .account-form-actions p {
  color: #626761;
}

.account-settings-page .account-form-actions p {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  line-height: 1.45;
}

.account-settings-page .account-form-actions p::before {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #9ba09b;
  content: "";
}

.account-settings-page .account-form-actions p[data-state="dirty"]::before,
.account-settings-page .account-form-actions p[data-state="saving"]::before {
  background: #ad7a24;
}

.account-settings-page .account-form-actions p[data-state="saved"]::before {
  background: #427052;
}

.account-settings-page .account-form-actions p[data-state="error"]::before {
  background: #973d35;
}

.account-settings-page .account-form-actions .button-primary {
  min-height: 44px;
  border-color: var(--profile-teal);
  border-radius: 3px;
  background: var(--profile-teal);
  color: #fff;
}

.account-settings-page .account-form-actions .button-primary:hover:not(:disabled),
.account-settings-page .account-form-actions .button-primary:focus-visible:not(:disabled) {
  border-color: #194d45;
  background: #194d45;
}

.account-settings-page [data-preferences-form] {
  gap: 20px;
  padding-top: 24px;
}

.account-settings-page [data-preferences-form] .account-form-actions {
  padding-top: 18px;
  border-top: 1px solid var(--profile-line);
}

.account-settings-page .account-security-list {
  padding-top: 8px;
  border-top: 0;
}

.account-settings-page .account-security-list > div {
  padding: 17px 0;
}

.account-settings-page .account-security-list dt,
.account-settings-page .account-security-list dd strong,
.account-settings-page .account-security-list dd span,
.account-settings-page .account-session-copy strong,
.account-settings-page .account-session-copy span,
.account-settings-page .account-session-copy small,
.account-settings-page .account-session-note p {
  font-size: 12px;
}

@media (max-width: 940px) {
  .account-settings-page .account-settings-layout {
    grid-template-columns: 176px minmax(0, 1fr);
    gap: 20px;
  }

  .account-settings-page .account-section-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
}

@media (max-width: 760px) {
  .account-settings-page .account-settings-header {
    align-items: center;
    flex-direction: row;
    gap: 8px;
    min-height: 64px;
    padding: 0 12px;
  }

  .account-settings-page .account-settings-header .brand-mark {
    flex: 0 0 auto;
  }

  .account-settings-page .account-settings-header .brand-mark span:first-child {
    font-size: 22px;
  }

  .account-settings-page .account-settings-header .brand-mark span:last-child {
    display: none;
  }

  .account-settings-page .account-settings-header .site-nav {
    display: flex;
    justify-content: flex-end;
    width: auto;
    margin-left: auto;
    gap: 10px;
    font-size: 10px;
    white-space: nowrap;
  }

  .account-settings-page .account-settings-header .site-nav a:last-child {
    text-align: left;
  }

  .account-settings-page .account-menu {
    gap: 1px;
    margin-left: 0;
  }

  .account-settings-page .account-profile-link {
    width: 34px;
    height: 34px;
    font-size: 10px;
  }

  .account-settings-page .account-menu-trigger {
    width: 26px;
    height: 40px;
  }

  .account-settings-page .account-settings-shell {
    width: 100%;
    padding: 82px 12px 48px;
  }

  .account-settings-page .account-settings-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    min-height: 0;
    padding: 17px 16px;
  }

  .account-settings-page .account-settings-intro h1 {
    font-size: 31px;
  }

  .account-settings-page .account-identity-summary {
    display: none;
  }

  .account-settings-page .account-settings-layout {
    padding-top: 16px;
  }

  .account-settings-page .account-settings-content {
    border-radius: 3px;
  }

  .account-settings-page .account-settings-section,
  .account-settings-page .account-settings-section + .account-settings-section {
    scroll-margin-top: 126px;
    padding: 22px 16px 28px;
  }

  .account-settings-page .account-section-heading {
    padding-bottom: 18px;
  }

  .account-settings-page .account-section-heading h2 { font-size: 29px; }

  .account-settings-page .account-settings-index {
    top: 64px;
    gap: 4px;
    margin: 0 -12px 16px;
    padding: 0 12px;
    border-width: 1px 0;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.98);
  }

  .account-settings-page .account-settings-index a {
    min-height: 44px;
    padding: 0 12px;
    background: transparent;
    font-size: 12px;
  }

  .account-settings-page .account-settings-index a[aria-current="location"] {
    background: transparent;
  }

  .account-settings-page .account-settings-index a[aria-current="location"]::before {
    top: auto;
    right: 12px;
    bottom: 0;
    left: 12px;
    width: auto;
    height: 2px;
  }

  .account-settings-page .account-profile-group {
    padding: 18px;
  }

  .account-settings-page .account-profile-form {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .account-settings-page .account-profile-group-identity,
  .account-settings-page .account-profile-group-about,
  .account-settings-page .account-profile-group-links,
  .account-settings-page .account-profile-form > .account-form-actions {
    grid-column: auto;
  }

  .account-settings-page .account-profile-identity-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .account-settings-page .account-profile-avatar-summary {
    align-items: center;
    grid-template-columns: 64px minmax(0, 1fr);
    padding: 0 0 18px;
    border-right: 0;
    border-bottom: 1px solid var(--profile-line);
  }

  .account-settings-page .account-profile-avatar {
    width: 64px;
    height: 64px;
  }

  .account-settings-page .account-profile-avatar-actions,
  .account-settings-page .account-profile-avatar-help,
  .account-settings-page .account-profile-avatar-status {
    grid-column: 1 / -1;
    max-width: none;
  }

  .account-settings-page .account-profile-avatar-action {
    min-height: 44px;
  }

  .account-settings-page .account-profile-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-settings-page .account-profile-grid .account-field-wide {
    grid-column: auto;
  }

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

  .account-settings-page .account-role-option,
  .account-settings-page .account-role-option > span {
    width: 100%;
  }

  .account-settings-page .account-profile-form > .account-form-actions {
    min-height: 0;
    padding: 16px 0 0;
  }

  .account-settings-page .account-form-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
  }

  .account-settings-page .account-form-actions p {
    order: initial;
  }

  .account-settings-page .account-form-actions .button {
    width: auto;
    min-width: 126px;
  }

  .account-settings-page .account-session-actions {
    align-items: stretch;
  }
}

@media (max-width: 360px) {
  .account-settings-page .account-settings-header .site-nav {
    gap: 7px;
    font-size: 9px;
  }

  .account-settings-page .account-form-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-settings-page .account-form-actions .button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .account-settings-page .account-role-options {
    grid-template-columns: minmax(0, 1fr);
  }

  .account-settings-page .account-role-feedback {
    display: grid;
    gap: 4px;
  }

  .account-settings-page .account-role-feedback small {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .account-settings-page .account-role-option > span {
    transition: none;
  }
}

/* Unified public presentation and creator profile, July 2026. */
:root {
  --presentation-canvas: #fafaf8;
  --presentation-panel: #f4f5f2;
  --presentation-ink: #151715;
  --presentation-muted: #626761;
  --presentation-line: #dfe1dd;
  --presentation-accent: #244f45;
  --presentation-accent-hover: #193b34;
  --presentation-danger: #93483f;
  --presentation-focus: 0 0 0 3px rgba(36, 79, 69, 0.2);
  --public-header-height: 64px;
}

[data-public-header] {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  display: flex;
  align-items: center;
  width: 100%;
  height: var(--public-header-height);
  min-height: var(--public-header-height);
  gap: 0;
  padding: 0 clamp(20px, 2.5vw, 36px);
  border-bottom: 1px solid var(--presentation-line);
  background: rgba(255, 255, 255, 0.98);
  color: var(--presentation-ink);
  backdrop-filter: blur(12px);
}

[data-public-header] .brand-mark {
  flex: 0 0 auto;
  margin-right: auto;
  color: inherit;
  font-size: 16px;
  white-space: nowrap;
}

[data-public-header] .brand-mark span:first-child {
  font-size: 23px;
}

[data-public-header] .public-site-nav {
  display: flex;
  align-self: stretch;
  align-items: center;
  width: auto;
  margin-left: auto;
  gap: 24px;
  color: inherit;
  font: 600 13px/1 Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  white-space: nowrap;
}

[data-public-header] .public-site-nav a,
[data-public-header] .public-sign-in,
[data-public-header] > .home-account-entry {
  position: relative;
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  min-width: 0;
  color: inherit;
  white-space: nowrap;
}

[data-public-header] .public-site-nav [data-lightbox-count] {
  margin-left: 3px;
  color: var(--presentation-muted);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

[data-public-header] .public-site-nav a::after,
[data-public-header] .public-sign-in::after,
[data-public-header] > .home-account-entry::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--presentation-accent);
  content: "";
  opacity: 0;
}

[data-public-header] .public-site-nav a:hover::after,
[data-public-header] .public-site-nav a:focus-visible::after,
[data-public-header] .public-site-nav a[aria-current="page"]::after {
  opacity: 1;
}

[data-public-header] .public-site-nav a:focus-visible,
[data-public-header] .public-sign-in:focus-visible,
[data-public-header] > .home-account-entry:focus-visible {
  outline: none;
  box-shadow: inset 0 -3px 0 rgba(36, 79, 69, 0.25);
}

[data-public-header] .public-sign-in,
[data-public-header] > .home-account-entry {
  width: auto;
  height: auto;
  margin-left: 24px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: 600 13px/1 Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  text-shadow: none;
}

[data-public-header] > .home-account-entry.is-avatar {
  align-self: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(21, 23, 21, 0.18);
  border-radius: 50%;
  background: var(--presentation-panel);
}

[data-public-header] .account-menu {
  order: 2;
  margin-left: 14px;
}

[data-public-header] .account-profile-link {
  width: 38px;
  height: 38px;
  background: var(--presentation-panel);
}

[data-public-header] .account-menu-trigger {
  width: 30px;
  height: 40px;
}

.public-nav-toggle {
  display: none;
  order: 3;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-left: 6px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: currentColor;
  cursor: pointer;
}

.public-nav-toggle:hover,
.public-nav-toggle:focus-visible,
.public-nav-toggle[aria-expanded="true"] {
  outline: none;
  background: rgba(21, 23, 21, 0.07);
  box-shadow: var(--presentation-focus);
}

.public-nav-toggle-icon {
  display: grid;
  gap: 4px;
  width: 18px;
}

.public-nav-toggle-icon span {
  display: block;
  width: 18px;
  height: 1.5px;
  background: currentColor;
}

.home-page [data-public-header] {
  border-bottom-color: transparent;
  background: transparent;
  color: #fff;
  backdrop-filter: none;
}

.home-page [data-public-header] .brand-mark,
.home-page [data-public-header] .public-site-nav {
  color: #fff;
}

.home-page [data-public-header] .public-site-nav a::after {
  background: #fff;
}

.home-page [data-public-header] .account-profile-link {
  border-color: rgba(255, 255, 255, 0.62);
  background: rgba(255, 255, 255, 0.94);
}

.home-page [data-public-header] .account-menu-trigger {
  color: #fff;
}

.home-page.is-scrolled [data-public-header] {
  border-bottom-color: var(--presentation-line);
  background: rgba(255, 255, 255, 0.96);
  color: var(--presentation-ink);
  backdrop-filter: blur(12px);
}

.home-page.is-scrolled [data-public-header] .brand-mark,
.home-page.is-scrolled [data-public-header] .public-site-nav,
.home-page.is-scrolled [data-public-header] .account-menu-trigger {
  color: var(--presentation-ink);
}

.home-page.is-scrolled [data-public-header] .public-site-nav a::after {
  background: var(--presentation-accent);
}

.public-page,
.archive-page {
  padding-left: 0;
  background: #fff;
  color: var(--presentation-ink);
}

.public-page .public-shell,
.public-page .contact-main {
  width: min(1360px, 100%);
  margin-right: auto;
  margin-left: auto;
  padding-top: calc(var(--public-header-height) + 56px);
}

.public-page .site-footer {
  width: min(1360px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.public-page .button-primary {
  border-color: var(--presentation-accent);
  background: var(--presentation-accent);
  color: #fff;
}

.public-page .button-primary:hover,
.public-page .button-primary:focus-visible {
  border-color: var(--presentation-accent-hover);
  background: var(--presentation-accent-hover);
}

.contact-page::before {
  display: none;
}

.contact-page .contact-page-art {
  background-image: url("assets/art/hero-ci-jian.jpg");
}

/* Full-width Works Archive without the retired public rail. */
.archive-page {
  --archive-rail-width: 0px;
  --archive-topbar-height: auto;
  --archive-tabs-height: 48px;
}

.archive-page .archive-main {
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: var(--public-header-height) 0 64px;
}

.archive-page .archive-topbar {
  position: static;
  display: block;
  min-height: 0;
  padding: 20px 28px 14px;
  border: 0;
  background: #fff;
}

.archive-page .archive-search-group {
  width: 100%;
}

.archive-page .archive-search-control {
  width: 100%;
  min-height: 42px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: var(--presentation-panel);
  box-shadow: none;
}

.archive-page .archive-search-control:focus-within {
  border-color: #aeb8b3;
  background: #fff;
  box-shadow: var(--presentation-focus);
}

.archive-page .archive-search-input {
  min-height: 40px;
  color: var(--presentation-ink);
  font-size: 14px;
}

.archive-page .archive-clear-search {
  border-radius: 4px;
  background: #fff;
  color: var(--presentation-accent);
  text-transform: none;
}

.archive-page .archive-controls {
  position: sticky;
  inset: var(--public-header-height) 0 auto;
  z-index: 18;
  display: block;
  margin: 0;
  padding: 0 28px;
  border-top: 0;
  border-bottom: 1px solid var(--presentation-line);
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(10px);
}

.archive-page .archive-discovery-bar {
  display: flex;
  align-items: stretch;
  min-height: 48px;
  gap: 28px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.archive-page .archive-discovery-bar::-webkit-scrollbar,
.archive-page .filter-options::-webkit-scrollbar {
  display: none;
}

.archive-page .filter-group {
  display: flex;
  flex: 0 0 auto;
  align-items: stretch;
  min-width: max-content;
  gap: 0;
}

.archive-page .filter-group + .filter-group {
  position: relative;
  padding-left: 28px;
}

.archive-page .filter-group + .filter-group::before {
  position: absolute;
  top: 13px;
  bottom: 13px;
  left: 0;
  width: 1px;
  background: var(--presentation-line);
  content: "";
}

.archive-page .filter-options {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
}

.archive-page .filter-button {
  position: relative;
  min-height: 48px;
  padding: 0 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--presentation-muted);
  font-size: 13px;
  font-weight: 650;
}

.archive-page .filter-button::after {
  right: 12px;
  bottom: 0;
  left: 12px;
  height: 2px;
  background: var(--presentation-accent);
}

.archive-page .filter-button:hover,
.archive-page .filter-button:focus-visible,
.archive-page .filter-button.is-active {
  background: transparent;
  color: var(--presentation-ink);
  outline: none;
  box-shadow: none;
  transform: none;
}

.archive-page .filter-button:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(36, 79, 69, 0.25);
}

.archive-page .archive-gallery-section {
  padding: 28px 28px 0;
}

.archive-page .archive-gallery-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}

.archive-page .archive-gallery-heading h1 {
  margin: 0;
  color: var(--presentation-ink);
  font: 500 32px/1.1 Georgia, "Times New Roman", serif;
  text-transform: none;
}

.archive-gallery-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  gap: 18px;
}

.archive-page .archive-count,
.archive-page .archive-data-status {
  margin: 0;
  color: var(--presentation-muted);
  font-size: 12px;
  text-align: right;
  text-transform: none;
  white-space: nowrap;
}

.archive-page .archive-gallery {
  display: block;
  column-count: 4;
  column-gap: 18px;
}

.archive-page .archive-item {
  margin-bottom: 18px;
}

.archive-page .archive-gallery.is-ratio-filtered {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-count: initial;
  gap: 18px;
}

.archive-page .archive-gallery.is-ratio-filtered .archive-item {
  width: 100%;
  margin: 0;
}

.archive-page .archive-gallery.is-ratio-filtered .archive-item img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

.archive-page .archive-image-frame,
.archive-page .archive-item img {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.archive-page .archive-image-frame {
  background: var(--presentation-panel);
}

.archive-page .archive-item[role="button"]:hover .archive-image-frame,
.archive-page .archive-item[role="button"]:focus-visible .archive-image-frame,
.archive-page .archive-item:focus-within .archive-image-frame {
  border: 0;
  background: var(--presentation-panel);
  box-shadow: none;
  transform: none;
}

.archive-page .archive-item[role="button"]:hover img,
.archive-page .archive-item[role="button"]:focus-visible img,
.archive-page .archive-item:focus-within img {
  transform: scale(1.01);
}

.archive-page .archive-hover-layer::before {
  background: rgba(0, 0, 0, 0.14);
}

.archive-page .archive-hover-brand {
  top: 14px;
  left: 14px;
  font-size: 20px;
}

.archive-page .archive-hover-actions {
  top: 12px;
  right: 12px;
  gap: 6px;
}

.archive-page .archive-hover-icon {
  min-width: 36px;
  height: 36px;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
}

.archive-page .archive-hover-icon .ui-icon {
  width: 18px;
  height: 18px;
  transform-origin: center;
}

.archive-page .archive-hover-icon[data-card-action="lightbox"].is-active {
  background: rgba(255, 255, 255, 0.96);
  color: #111;
}

.archive-page .archive-hover-icon[data-card-action="lightbox"].is-active .ui-icon,
.archive-page .work-viewer-action-button[data-viewer-action="lightbox"].is-active .ui-icon {
  fill: currentColor;
}

@keyframes bookmark-pop {
  0% {
    transform: scale(1);
  }

  45% {
    transform: scale(1.18);
  }

  100% {
    transform: scale(1);
  }
}

.archive-page .is-bookmark-popping {
  animation: bookmark-pop 220ms ease-out;
}

.archive-page .archive-item:focus-within .archive-hover-layer {
  opacity: 1;
  pointer-events: auto;
}

.archive-page .archive-item:focus-within .archive-hover-brand,
.archive-page .archive-item:focus-within .archive-hover-actions {
  transform: translateY(0);
}

.archive-page .work-viewer-media {
  background: var(--presentation-panel);
}

.archive-page .work-viewer-media img {
  border-color: var(--presentation-line);
  box-shadow: none;
}

/* Creator profile: reference-led identity and quiet operational data. */
.dashboard-page {
  --dashboard-forest: var(--presentation-accent);
  --dashboard-teal: var(--presentation-accent);
  --dashboard-rust: var(--presentation-danger);
  min-height: 100vh;
  background: #fff;
  color: var(--presentation-ink);
}

.dashboard-page .dashboard-header {
  left: 0;
  min-height: var(--public-header-height);
  border-bottom-color: var(--presentation-line);
  background: rgba(255, 255, 255, 0.98);
}

.dashboard-page .dashboard-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--public-header-height) 0 64px;
}

.dashboard-page .dashboard-cover {
  position: relative;
  width: 100%;
  height: 200px;
  margin: 0;
  overflow: hidden;
  border: 0;
  background: #eceeeb;
}

.dashboard-page .dashboard-cover::after {
  border: 0;
  background: rgba(0, 0, 0, 0.04);
}

.dashboard-page .dashboard-cover > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 50%;
  filter: none;
}

.dashboard-page .dashboard-cover-copy {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.dashboard-page .dashboard-cover-tools {
  top: 20px;
  right: 24px;
  bottom: auto;
  left: auto;
  align-items: flex-end;
}

.dashboard-page .dashboard-cover-button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.76);
  border-radius: 4px;
  background: rgba(20, 22, 20, 0.72);
  color: #fff;
  font-size: 11px;
  box-shadow: none;
}

.dashboard-page .dashboard-cover-button:hover,
.dashboard-page .dashboard-cover-button:focus-visible {
  border-color: #fff;
  background: rgba(20, 22, 20, 0.88);
  color: #fff;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.24);
}

.dashboard-profile-frame {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 48px;
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 0 48px;
}

.dashboard-profile-sidebar,
.dashboard-profile-work {
  min-width: 0;
}

.dashboard-page .dashboard-identity {
  display: block;
  padding: 0 0 26px;
  border: 0;
  border-bottom: 1px solid var(--presentation-line);
  background: #fff;
}

.dashboard-page .dashboard-avatar {
  position: relative;
  z-index: 2;
  width: 112px;
  height: 112px;
  margin-top: -56px;
  overflow: hidden;
  border: 4px solid #fff;
  background: #34443f;
  color: #fff;
  font-size: 22px;
}

.dashboard-page .dashboard-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dashboard-page .dashboard-identity-copy {
  padding-top: 18px;
}

.dashboard-page .dashboard-identity-copy .section-kicker {
  margin: 0 0 6px;
  color: var(--presentation-muted);
  font-size: 11px;
  font-weight: 600;
  text-transform: none;
}

.dashboard-page .dashboard-identity-copy h1 {
  margin: 0;
  color: var(--presentation-ink);
  font: 500 38px/1.08 Georgia, "Times New Roman", serif;
  overflow-wrap: anywhere;
  text-transform: none;
}

.dashboard-page .dashboard-location-line {
  margin-top: 12px;
  color: var(--presentation-muted);
  font-size: 13px;
}

.dashboard-page .dashboard-location-line .ui-icon {
  color: var(--presentation-accent);
}

.dashboard-page .dashboard-commands {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin-top: 24px;
  padding: 0;
}

.dashboard-page .dashboard-commands .button {
  width: 100%;
  min-height: 42px;
  gap: 7px;
  padding: 0 14px;
  border-radius: 4px;
  font-size: 12px;
  white-space: normal;
  text-align: center;
}

.dashboard-page .dashboard-commands .button-primary {
  border-color: var(--presentation-accent);
  background: var(--presentation-accent);
  color: #fff;
}

.dashboard-page .dashboard-commands .button-primary:hover,
.dashboard-page .dashboard-commands .button-primary:focus-visible {
  border-color: var(--presentation-accent-hover);
  background: var(--presentation-accent-hover);
}

.dashboard-page .dashboard-commands .button-secondary {
  border-color: #c9ceca;
  background: #fff;
  color: var(--presentation-ink);
}

.dashboard-page .dashboard-profile-copy {
  display: block;
  padding-top: 24px;
}

.dashboard-page .dashboard-bio {
  max-width: none;
  margin: 0;
  color: #3f433f;
  font-size: 14px;
  line-height: 1.65;
}

.dashboard-page .dashboard-email {
  margin: 18px 0 0;
  color: var(--presentation-muted);
  font-size: 11px;
  text-align: left;
}

.dashboard-page .dashboard-account-state {
  justify-content: flex-start;
  margin-top: 7px;
  color: var(--presentation-muted);
  font-size: 10px;
  text-align: left;
}

.dashboard-page .dashboard-profile-facts {
  display: block;
  border: 0;
  border-bottom: 1px solid var(--presentation-line);
  background: #fff;
}

.dashboard-page .dashboard-profile-facts > div,
.dashboard-page .dashboard-profile-facts > div:nth-child(n) {
  display: grid;
  min-height: 0;
  padding: 16px 0;
  border: 0;
  border-top: 1px solid #eceeeb;
  background: #fff;
  color: var(--presentation-ink);
}

.dashboard-page .dashboard-profile-facts > div:first-child {
  border-top: 0;
}

.dashboard-page .dashboard-profile-facts > div > span,
.dashboard-page .dashboard-profile-completion > div > span {
  color: var(--presentation-muted);
  font-size: 10px;
  font-weight: 700;
  text-transform: none;
}

.dashboard-page .dashboard-profile-facts strong,
.dashboard-page .dashboard-profile-facts a {
  margin-top: 4px;
  color: var(--presentation-ink);
  font: 600 13px/1.45 Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

.dashboard-page .dashboard-profile-facts a:hover,
.dashboard-page .dashboard-profile-facts a:focus-visible,
.dashboard-page .dashboard-social-links a:hover,
.dashboard-page .dashboard-social-links a:focus-visible {
  color: var(--presentation-accent);
  outline: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.dashboard-page .dashboard-profile-facts small {
  margin-top: 2px;
  color: var(--presentation-muted);
  font-size: 10px;
  opacity: 1;
}

.dashboard-page .dashboard-profile-completion {
  background: #fff;
  color: var(--presentation-ink);
}

.dashboard-page .dashboard-profile-completion strong {
  color: var(--presentation-ink);
  font: 600 18px/1 Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

.dashboard-page .dashboard-completion-track {
  height: 2px;
  margin-top: 11px;
  background: #e1e4e1;
}

.dashboard-page .dashboard-completion-track span {
  background: var(--presentation-accent);
}

.dashboard-page .dashboard-social-links {
  margin-top: 4px;
}

.dashboard-page .dashboard-social-links a {
  color: var(--presentation-accent);
  font-size: 12px;
}

.dashboard-page .dashboard-tabs {
  min-height: 56px;
  gap: 28px;
  padding: 0;
  border-bottom: 1px solid var(--presentation-line);
  background: #fff;
}

.dashboard-page .dashboard-tabs button {
  color: var(--presentation-muted);
  font-size: 13px;
}

.dashboard-page .dashboard-tabs button[aria-selected="true"]::after {
  height: 2px;
  background: var(--presentation-accent);
}

.dashboard-page .dashboard-loading {
  min-height: 340px;
}

.dashboard-page .dashboard-status-section,
.dashboard-page .dashboard-section,
.dashboard-page .dashboard-works-section,
.dashboard-page .dashboard-capability-note {
  padding-top: 30px;
  padding-bottom: 30px;
  border-bottom-color: var(--presentation-line);
  background: #fff;
}

.dashboard-page .dashboard-section-heading h2 {
  color: var(--presentation-ink);
  font: 500 24px/1.2 Georgia, "Times New Roman", serif;
}

.dashboard-page .dashboard-section-heading p {
  color: var(--presentation-muted);
  text-transform: none;
}

.dashboard-page .dashboard-status-grid {
  border-color: var(--presentation-line);
  background: #fff;
}

.dashboard-page .dashboard-status-grid > div,
.dashboard-page .dashboard-status-grid > div:nth-child(n) {
  border-color: var(--presentation-line);
  background: #fff;
}

.dashboard-page .dashboard-status-grid dt {
  color: var(--presentation-muted);
}

.dashboard-page .dashboard-overview-grid {
  gap: 44px;
}

.dashboard-page .dashboard-draft-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.dashboard-page .dashboard-draft-card {
  border-color: var(--presentation-line);
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
}

.dashboard-page .dashboard-draft-card:hover,
.dashboard-page .dashboard-draft-card:focus-visible {
  border-color: #9caaa4;
  box-shadow: var(--presentation-focus);
}

.dashboard-page .dashboard-image-thumbnail {
  background: var(--presentation-panel);
}

.dashboard-page .dashboard-cover-dialog {
  border: 1px solid var(--presentation-line);
  border-radius: 8px;
  background: #fff;
  color: var(--presentation-ink);
}

.dashboard-page .dashboard-cover-dialog::backdrop {
  background: rgba(21, 23, 21, 0.58);
}

.dashboard-page .dashboard-cover-dialog header,
.dashboard-page .dashboard-cover-dialog footer {
  background: #fff;
  border-color: var(--presentation-line);
}

.dashboard-page .dashboard-cover-dialog footer .button-primary,
.dashboard-page .dashboard-cover-empty .button {
  border-color: var(--presentation-accent);
  background: var(--presentation-accent);
  color: #fff;
}

.dashboard-page .dashboard-cover-candidate {
  border-radius: 4px;
  background: #fff;
}

.dashboard-page .dashboard-cover-candidate[aria-pressed="true"] {
  border-color: var(--presentation-accent);
  box-shadow: inset 0 0 0 2px var(--presentation-accent);
}

@media (max-width: 1179px) {
  .archive-page .archive-gallery {
    column-count: 3;
  }

  .archive-page .archive-gallery.is-ratio-filtered {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .dashboard-profile-frame {
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 36px;
    padding-right: 32px;
    padding-left: 32px;
  }

  .dashboard-page .dashboard-overview-grid {
    gap: 32px;
  }

  .dashboard-page .dashboard-draft-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  :root {
    --public-header-height: 56px;
  }

  html {
    scroll-padding-top: 68px;
  }

  [data-public-header],
  .dashboard-page [data-public-header] {
    align-items: center;
    flex-direction: row;
    height: var(--public-header-height);
    min-height: var(--public-header-height);
    gap: 0;
    padding: 0 12px;
  }

  [data-public-header] .brand-mark {
    order: 1;
    gap: 7px;
    margin-right: auto;
    font-size: 14px;
  }

  [data-public-header] .brand-mark span:first-child {
    font-size: 19px;
  }

  .dashboard-page [data-public-header] .brand-mark span:last-child {
    display: inline;
  }

  [data-public-header] .public-site-nav {
    position: absolute;
    top: var(--public-header-height);
    right: 0;
    left: 0;
    order: 4;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    height: auto;
    gap: 0;
    padding: 8px 12px 12px;
    border-bottom: 1px solid var(--presentation-line);
    background: #fff;
    color: var(--presentation-ink);
    box-shadow: 0 8px 18px rgba(21, 23, 21, 0.08);
  }

  [data-public-header] .public-site-nav[aria-hidden="true"] {
    display: none;
  }

  [data-public-header] .public-site-nav a {
    min-height: 44px;
    padding: 0 4px;
    border-bottom: 1px solid #eceeeb;
    color: var(--presentation-ink);
  }

  [data-public-header] .public-site-nav a:last-child {
    border-bottom: 0;
    text-align: left;
  }

  [data-public-header] .public-site-nav a::after {
    top: 10px;
    right: auto;
    bottom: 10px;
    left: -12px;
    width: 2px;
    height: auto;
    background: var(--presentation-accent);
  }

  [data-public-header] .public-sign-in,
  [data-public-header] > .home-account-entry {
    order: 2;
    align-self: center;
    height: 40px;
    margin-left: 8px;
    font-size: 12px;
  }

  [data-public-header] .account-menu {
    order: 2;
    margin-left: 6px;
  }

  [data-public-header] .account-profile-link {
    width: 36px;
    height: 36px;
  }

  [data-public-header] .account-menu-trigger {
    width: 26px;
    height: 38px;
  }

  [data-public-header] .account-menu-popover {
    position: fixed;
    top: 50px;
    right: 8px;
  }

  .public-nav-toggle {
    display: grid;
  }

  .home-page [data-public-header].is-menu-open {
    border-bottom-color: var(--presentation-line);
    background: rgba(255, 255, 255, 0.99);
    color: var(--presentation-ink);
  }

  .home-page [data-public-header].is-menu-open .brand-mark,
  .home-page [data-public-header].is-menu-open .account-menu-trigger {
    color: var(--presentation-ink);
  }

  .public-page .public-shell,
  .public-page .contact-main {
    width: 100%;
    padding-top: calc(var(--public-header-height) + 40px);
  }

  .archive-page .archive-main {
    padding-top: var(--public-header-height);
  }

  .archive-page .archive-topbar {
    padding: 16px 16px 10px;
  }

  .archive-page .archive-controls {
    position: static;
    padding: 0 16px;
    backdrop-filter: none;
  }

  .archive-page .archive-discovery-bar {
    display: grid;
    gap: 0;
    overflow: visible;
  }

  .archive-page .filter-group,
  .archive-page .filter-group + .filter-group {
    width: 100%;
    padding-left: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .archive-page .filter-group + .filter-group {
    border-top: 1px solid #eceeeb;
  }

  .archive-page .filter-group + .filter-group::before {
    display: none;
  }

  .archive-page .filter-button {
    min-height: 44px;
    font-size: 12px;
  }

  .archive-page .archive-gallery-section {
    padding: 24px 16px 0;
  }

  .archive-page .archive-gallery-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: flex-start;
    row-gap: 7px;
    margin-bottom: 18px;
  }

  .archive-page .archive-gallery-heading h1 {
    font-size: 28px;
  }

  .archive-gallery-meta {
    display: contents;
  }

  .archive-page .archive-count {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    padding-bottom: 3px;
  }

  .archive-page .archive-data-status {
    grid-column: 1 / -1;
    grid-row: 2;
    max-width: none;
    text-align: left;
    white-space: normal;
  }

  .archive-page .archive-gallery {
    column-count: 2;
    column-gap: 16px;
  }

  .archive-page .archive-gallery.is-ratio-filtered {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .archive-page .archive-item {
    margin-bottom: 16px;
  }

  .dashboard-page .dashboard-shell {
    padding-top: var(--public-header-height);
  }

  .dashboard-page .dashboard-cover {
    height: 152px;
  }

  .dashboard-page .dashboard-cover-tools {
    top: 12px;
    right: 12px;
  }

  .dashboard-profile-frame {
    display: block;
    width: 100%;
    padding: 0 16px;
  }

  .dashboard-page .dashboard-identity {
    padding-bottom: 22px;
  }

  .dashboard-page .dashboard-avatar {
    width: 84px;
    height: 84px;
    margin-top: -42px;
    font-size: 17px;
  }

  .dashboard-page .dashboard-identity-copy {
    padding-top: 14px;
  }

  .dashboard-page .dashboard-identity-copy h1 {
    font-size: 30px;
  }

  .dashboard-page .dashboard-commands {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-page .dashboard-commands .button {
    min-width: 0;
    min-height: 44px;
    padding: 8px 9px;
  }

  .dashboard-profile-work {
    padding-top: 12px;
  }

  .dashboard-page .dashboard-tabs,
  .dashboard-page .dashboard-content,
  .dashboard-page .dashboard-loading,
  .dashboard-page .dashboard-error {
    margin-right: 0;
    margin-left: 0;
  }

  .dashboard-page .dashboard-tabs {
    min-height: 54px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .dashboard-page .dashboard-overview-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .dashboard-page .dashboard-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-page .dashboard-status-grid > div:nth-child(odd) {
    border-left: 0;
  }

  .dashboard-page .dashboard-status-grid > div:nth-child(n + 3) {
    border-top: 1px solid var(--presentation-line);
  }

  .dashboard-page .dashboard-draft-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-page .dashboard-cover-dialog {
    width: calc(100vw - 16px);
  }
}

@media (max-width: 519px) {
  .archive-page .archive-gallery {
    column-count: 1;
  }

  .archive-page .archive-gallery.is-ratio-filtered {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-page .dashboard-commands {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .archive-page .archive-item[role="button"] img,
  .public-site-nav,
  .public-nav-toggle-icon span {
    transition: none;
  }

  .archive-page .is-bookmark-popping {
    animation: none;
  }
}

/* Work Viewer: a stable gallery reading room. */
.archive-page .work-viewer {
  --viewer-toolbar-height: 64px;
  z-index: 180;
  background: #171717;
}

.archive-page .work-viewer-backdrop {
  background: #171717;
  backdrop-filter: none;
}

.archive-page .work-viewer-dialog {
  width: 100vw;
  height: 100dvh;
  max-height: none;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #171717;
  box-shadow: none;
  filter: none;
  transform: none;
  transition: opacity 220ms ease;
}

.archive-page .work-viewer.is-open .work-viewer-dialog {
  filter: none;
  transform: none;
}

.archive-page .work-viewer-controls {
  position: relative;
  inset: auto;
  z-index: 10;
  flex: 0 0 var(--viewer-toolbar-height);
  width: 100%;
  height: var(--viewer-toolbar-height);
  min-height: var(--viewer-toolbar-height);
  padding: 0 20px;
  border-bottom: 1px solid #d9dbd7;
  background: #f7f7f5;
  box-shadow: none;
  backdrop-filter: none;
  pointer-events: auto;
}

.archive-page .work-viewer-status {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 10px;
}

.archive-page .work-viewer-position,
.archive-page .work-viewer-mode {
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #555a56;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
}

.archive-page .work-viewer-mode {
  padding-left: 10px;
  border-left: 1px solid #d2d5d1;
  color: #777c77;
  font-size: 11px;
  font-weight: 500;
}

.archive-page .work-viewer-actions {
  gap: 4px;
  pointer-events: auto;
}

.archive-page .work-viewer-icon-button {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  box-shadow: none;
  color: #333734;
}

.archive-page .work-viewer-icon-button .ui-icon {
  width: 19px;
  height: 19px;
}

.archive-page .work-viewer-icon-button:hover,
.archive-page .work-viewer-icon-button:focus-visible,
.archive-page .work-viewer-icon-button.is-active {
  border-color: #c8ccc8;
  background: #eceeeb;
  color: #1d5047;
  box-shadow: none;
}

.archive-page .work-viewer-icon-button:focus-visible {
  outline: 2px solid #245f55;
  outline-offset: 1px;
}

.archive-page .work-viewer-icon-button[data-tooltip]::after,
.archive-page .work-viewer-action-button[data-tooltip]::after {
  padding: 7px 9px;
  border-radius: 3px;
  background: #151515;
  box-shadow: none;
  font-size: 11px;
  font-weight: 650;
}

.archive-page .work-viewer-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 0;
  flex: 1 1 auto;
  width: 100%;
  height: calc(100dvh - var(--viewer-toolbar-height));
  min-height: 0;
  overflow: hidden;
  background: #171717;
  transition: grid-template-columns 220ms ease;
}

.archive-page .work-viewer-dialog.is-info-open .work-viewer-layout {
  grid-template-columns: minmax(0, 1fr) clamp(360px, 28vw, 460px);
}

.archive-page .work-viewer-media {
  display: grid;
  place-items: center;
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: clamp(32px, 4vw, 56px);
  overflow: auto;
  border: 0;
  background: #171717;
  box-sizing: border-box;
  overscroll-behavior: contain;
  scrollbar-color: #666 #222;
}

.archive-page .work-viewer-media:focus-visible {
  outline: 2px solid #c6d8d3;
  outline-offset: -4px;
}

.archive-page .work-viewer-media img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(100dvh - var(--viewer-toolbar-height) - clamp(64px, 8vw, 112px));
  object-fit: contain;
  border: 0;
  background: transparent;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
  cursor: default;
}

.archive-page .work-viewer-dialog.is-zoomed .work-viewer-media {
  place-items: start;
  padding: clamp(32px, 4vw, 56px);
}

.archive-page .work-viewer-dialog.is-zoomed .work-viewer-media img {
  width: auto;
  max-width: none;
  height: auto;
  max-height: none;
  cursor: default;
}

.archive-page .work-viewer-info {
  position: relative;
  inset: auto;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-width: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(18px);
  transition:
    opacity 200ms ease,
    transform 220ms ease,
    visibility 0s linear 220ms;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.archive-page .work-viewer-dialog.is-info-open .work-viewer-info {
  padding: clamp(28px, 2.4vw, 38px) clamp(24px, 2.1vw, 32px) 44px;
  border-left: 1px solid #d9dbd7;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
  transition-delay: 0s;
}

.archive-page .work-viewer-info h2 {
  margin: 0;
  color: #171917;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(36px, 2.7vw, 44px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.archive-page .work-viewer-creator {
  margin: 10px 0 0;
  color: #6a6f6a;
  font-size: 12px;
  line-height: 1.45;
}

.archive-page .work-viewer-creator a {
  color: #245f55;
  font-weight: 650;
}

.archive-page .work-viewer-note,
.archive-page .work-viewer-statement p {
  margin-top: 18px;
  color: #555a56;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.65;
}

.archive-page .work-viewer-primary-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 24px;
}

.archive-page .work-viewer-primary-actions > :first-child {
  grid-column: 1 / -1;
}

.archive-page .work-viewer-action-button {
  min-width: 0;
  min-height: 44px;
  gap: 7px;
  padding: 8px 9px;
  border: 1px solid #d0d4d0;
  border-radius: 3px;
  background: #fff;
  box-shadow: none;
  color: #2f3430;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
}

.archive-page .work-viewer-action-button .ui-icon {
  width: 16px;
  height: 16px;
}

.archive-page .work-viewer-action-button:hover,
.archive-page .work-viewer-action-button:focus-visible {
  border-color: #8d9690;
  background: #f3f4f2;
  color: #1d5047;
}

.archive-page .work-viewer-action-button.is-active {
  border-color: #538177;
  background: #edf3f1;
  color: #174b42;
}

.archive-page .work-viewer-action-button:focus-visible {
  outline: 2px solid #245f55;
  outline-offset: 1px;
}

.archive-page .work-viewer-metadata {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 20px;
  margin-top: 28px;
  padding: 20px 0;
  border-color: #dedfdb;
}

.archive-page .work-viewer-metadata dt,
.archive-page .work-viewer-tag-group p,
.archive-page .work-viewer-tags h3,
.archive-page .work-viewer-statement h3,
.archive-page .work-viewer-related h3 {
  color: #777c77;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0;
}

.archive-page .work-viewer-metadata dd {
  margin-top: 5px;
  color: #303430;
  font-size: 13px;
  line-height: 1.4;
}

.archive-page .work-viewer-tags,
.archive-page .work-viewer-statement,
.archive-page .work-viewer-related {
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid #dedfdb;
}

.archive-page .work-viewer-tag-groups {
  gap: 18px;
}

.archive-page .work-viewer-tag-list {
  gap: 7px;
}

.archive-page .work-viewer-tag {
  max-width: 100%;
  min-height: 30px;
  padding: 6px 11px;
  overflow: hidden;
  border: 1px solid #d5d8d4;
  border-radius: 18px;
  background: #fff;
  color: #4b504c;
  font-size: 12px;
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.archive-page .work-viewer-related-grid {
  gap: 0;
}

.archive-page .work-viewer-related-item {
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border: 0;
  border-top: 1px solid #e3e5e2;
  border-radius: 0;
  background: transparent;
}

.archive-page .work-viewer-related-item:first-child {
  border-top: 0;
}

.archive-page .work-viewer-related-item:hover,
.archive-page .work-viewer-related-item:focus-visible {
  border-color: #d5d8d4;
  background: #f7f7f5;
}

.archive-page .work-viewer-related-item img {
  width: 64px;
  height: 64px;
}

.archive-page .archive-toast {
  z-index: 100;
}

@media (min-width: 1280px) {
  .archive-page .work-viewer-primary-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .archive-page .work-viewer-primary-actions > :first-child {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .archive-page .work-viewer {
    --viewer-toolbar-height: calc(60px + env(safe-area-inset-top));
  }

  .archive-page .work-viewer-controls {
    align-items: center;
    padding: env(safe-area-inset-top) 10px 0;
  }

  .archive-page .work-viewer-position,
  .archive-page .work-viewer-mode {
    font-size: 10px;
  }

  .archive-page .work-viewer-mode {
    padding-left: 7px;
  }

  .archive-page .work-viewer-actions {
    gap: 2px;
  }

  .archive-page .work-viewer-icon-button {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  .archive-page .work-viewer-layout,
  .archive-page .work-viewer-dialog.is-info-open .work-viewer-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) 0;
    height: calc(100dvh - var(--viewer-toolbar-height));
    min-height: 0;
    overflow: hidden;
    transition: grid-template-rows 220ms ease;
  }

  .archive-page .work-viewer-dialog.is-info-open .work-viewer-layout {
    grid-template-rows: minmax(220px, 1fr) min(44dvh, 380px);
  }

  .archive-page .work-viewer-media,
  .archive-page .work-viewer-dialog.is-zoomed .work-viewer-media {
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 16px 14px;
  }

  .archive-page .work-viewer-media img {
    max-width: 100%;
    max-height: calc(100dvh - var(--viewer-toolbar-height) - 32px);
  }

  .archive-page .work-viewer-info {
    position: relative;
    inset: auto;
    width: 100%;
    height: 100%;
    padding: 0 18px;
    overflow-x: hidden;
    overflow-y: auto;
    border-top: 0;
    border-left: 0;
    transform: translateY(18px);
  }

  .archive-page .work-viewer-dialog.is-info-open .work-viewer-info {
    padding: 24px 18px calc(28px + env(safe-area-inset-bottom));
    border-top: 1px solid #d9dbd7;
    transform: translateY(0);
  }

  .archive-page .work-viewer-dialog.is-info-open:not(.is-zoomed) .work-viewer-media img {
    max-height: calc(100dvh - var(--viewer-toolbar-height) - min(44dvh, 380px) - 32px);
  }

  .archive-page .work-viewer-info h2 {
    font-size: 32px;
  }

  .archive-page .work-viewer-primary-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .archive-page .work-viewer-metadata {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 360px) {
  .archive-page .work-viewer-controls {
    padding-right: 8px;
    padding-left: 8px;
  }

  .archive-page .work-viewer-mode {
    display: none;
  }

  .archive-page .work-viewer-icon-button {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .archive-page .work-viewer-dialog,
  .archive-page .work-viewer-layout,
  .archive-page .work-viewer-info,
  .archive-page .work-viewer-icon-button,
  .archive-page .work-viewer-action-button {
    transition: none;
  }
}

/* Public creator delivery. */
.archive-page .work-viewer-creator a:hover,
.archive-page .work-viewer-creator a:focus-visible {
  color: var(--presentation-accent);
  outline: none;
  text-decoration: underline;
  text-decoration-color: currentColor;
  text-underline-offset: 3px;
}

.creator-page {
  min-height: 100vh;
  background: #fff;
  color: var(--presentation-ink);
}

.creator-main {
  width: 100%;
  min-height: 100vh;
  padding-top: var(--public-header-height);
}

.creator-loading,
.creator-error {
  display: grid;
  place-items: center;
  min-height: calc(100vh - var(--public-header-height));
  padding: 48px 20px;
  text-align: center;
}

.creator-loading {
  align-content: center;
  gap: 14px;
  color: var(--presentation-muted);
  font-size: 13px;
}

.creator-loading > span {
  width: 24px;
  height: 24px;
  border: 2px solid var(--presentation-line);
  border-top-color: var(--presentation-accent);
  border-radius: 50%;
  animation: creator-loading-spin 700ms linear infinite;
}

@keyframes creator-loading-spin {
  to { transform: rotate(360deg); }
}

.creator-error {
  align-content: center;
  max-width: 620px;
  margin: 0 auto;
}

.creator-error .section-kicker {
  margin: 0 0 10px;
  color: var(--presentation-muted);
}

.creator-error h1 {
  max-width: 560px;
  margin: 0;
  font: 500 34px/1.15 Georgia, "Times New Roman", serif;
}

.creator-error > p:not(.section-kicker) {
  max-width: 460px;
  margin: 15px 0 24px;
  color: var(--presentation-muted);
  font-size: 14px;
  line-height: 1.6;
}

.creator-error .button {
  min-height: 42px;
  border-radius: 4px;
}

.creator-profile {
  width: 100%;
}

.creator-cover {
  width: 100%;
  height: 220px;
  margin: 0;
  overflow: hidden;
  background: #eceeeb;
}

.creator-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 50%;
}

.creator-profile-frame {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 48px;
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: 0 48px 72px;
}

.creator-identity,
.creator-work {
  min-width: 0;
}

.creator-identity {
  padding-bottom: 28px;
}

.creator-avatar {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 112px;
  height: 112px;
  margin-top: -56px;
  overflow: hidden;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #34443f;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
}

.creator-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.creator-identity > .section-kicker {
  margin: 19px 0 7px;
  color: var(--presentation-muted);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.45;
  text-transform: none;
}

.creator-identity h1 {
  margin: 18px 0 0;
  color: var(--presentation-ink);
  font: 500 38px/1.08 Georgia, "Times New Roman", serif;
  overflow-wrap: anywhere;
}

.creator-identity > .section-kicker:not([hidden]) + h1 {
  margin-top: 0;
}

.creator-company {
  margin: 10px 0 0;
  color: #3f433f;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.creator-location {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 15px 0 0;
  color: var(--presentation-muted);
  font-size: 12px;
  line-height: 1.5;
}

.creator-location .ui-icon {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  color: var(--presentation-accent);
}

.creator-availability {
  margin: 18px 0 0;
  padding: 12px 0 12px 12px;
  border-left: 2px solid var(--presentation-accent);
  color: #35443f;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.creator-bio {
  margin: 24px 0 0;
  padding-top: 22px;
  border-top: 1px solid var(--presentation-line);
  color: #3f433f;
  font-size: 14px;
  line-height: 1.7;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.creator-links {
  display: grid;
  margin-top: 24px;
  border-top: 1px solid var(--presentation-line);
}

.creator-links a {
  min-width: 0;
  padding: 13px 0;
  border-bottom: 1px solid var(--presentation-line);
  color: var(--presentation-ink);
  font-size: 12px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.creator-links a:hover,
.creator-links a:focus-visible {
  color: var(--presentation-accent);
  outline: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.creator-work {
  padding-top: 0;
}

.creator-tabs {
  display: flex;
  align-items: stretch;
  min-height: 56px;
  gap: 28px;
  border-bottom: 1px solid var(--presentation-line);
}

.creator-tabs a {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: var(--presentation-muted);
  font-size: 13px;
  font-weight: 700;
}

.creator-tabs a::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--presentation-accent);
  content: "";
  opacity: 0;
}

.creator-tabs a[aria-current="page"],
.creator-tabs a:hover,
.creator-tabs a:focus-visible {
  color: var(--presentation-ink);
  outline: none;
}

.creator-tabs a[aria-current="page"]::after,
.creator-tabs a:focus-visible::after {
  opacity: 1;
}

.creator-work-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 30px 0 20px;
}

.creator-work-heading .section-kicker {
  margin: 0 0 7px;
  color: var(--presentation-muted);
  font-size: 10px;
  text-transform: none;
}

.creator-work-heading h2 {
  margin: 0;
  font: 500 28px/1.15 Georgia, "Times New Roman", serif;
}

.creator-work-heading > p {
  flex: 0 0 auto;
  margin: 0 0 3px;
  color: var(--presentation-muted);
  font-size: 12px;
}

.creator-data-status {
  margin: -8px 0 20px;
  color: var(--presentation-muted);
  font-size: 11px;
}

.creator-data-status:empty {
  display: none;
}

.creator-work-gallery {
  column-count: 3;
  column-gap: 18px;
}

.creator-work-card {
  display: inline-block;
  width: 100%;
  margin: 0 0 18px;
  break-inside: avoid;
  vertical-align: top;
}

.creator-work-card a {
  display: block;
  color: inherit;
}

.creator-work-card figure {
  margin: 0;
  overflow: hidden;
  background: var(--presentation-panel);
}

.creator-work-card img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  transition: transform 180ms ease;
}

.creator-work-card a > span {
  display: grid;
  gap: 4px;
  padding: 10px 0 3px;
}

.creator-work-card strong {
  color: var(--presentation-ink);
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.creator-work-card small {
  color: var(--presentation-muted);
  font-size: 10px;
  line-height: 1.4;
}

.creator-work-card a:hover img,
.creator-work-card a:focus-visible img {
  transform: scale(1.01);
}

.creator-work-card a:focus-visible {
  outline: none;
  box-shadow: var(--presentation-focus);
}

.creator-empty {
  padding: 54px 0;
  border-top: 1px solid var(--presentation-line);
}

.creator-empty h3 {
  margin: 0;
  font: 500 24px/1.2 Georgia, "Times New Roman", serif;
}

.creator-empty p {
  margin: 10px 0 0;
  color: var(--presentation-muted);
  font-size: 13px;
}

@media (max-width: 1179px) {
  .creator-profile-frame {
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 36px;
    padding-right: 32px;
    padding-left: 32px;
  }

  .creator-work-gallery {
    column-count: 2;
  }
}

@media (max-width: 760px) {
  .creator-cover {
    height: 152px;
  }

  .creator-profile-frame {
    display: block;
    width: 100%;
    padding: 0 16px 48px;
  }

  .creator-avatar {
    width: 84px;
    height: 84px;
    margin-top: -42px;
    font-size: 17px;
  }

  .creator-identity {
    padding-bottom: 28px;
    border-bottom: 1px solid var(--presentation-line);
  }

  .creator-identity h1 {
    font-size: 30px;
  }

  .creator-work {
    padding-top: 0;
  }

  .creator-tabs {
    min-height: 54px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .creator-tabs::-webkit-scrollbar {
    display: none;
  }

  .creator-work-heading {
    padding-top: 26px;
  }

  .creator-work-heading h2 {
    font-size: 25px;
  }

  .creator-work-gallery {
    column-count: 1;
  }

  .creator-work-card {
    margin-bottom: 20px;
  }

  .creator-error h1 {
    font-size: 29px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .creator-loading > span {
    animation: none;
  }

  .creator-work-card img {
    transition: none;
  }
}

/* Global footer system: a quiet photographic colophon. */
.site-footer.public-footer,
.site-footer.workspace-footer {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
}

.site-footer.public-footer *,
.site-footer.workspace-footer * {
  box-sizing: border-box;
  min-width: 0;
  letter-spacing: 0;
}

.site-footer.public-footer [hidden],
.site-footer.workspace-footer [hidden] {
  display: none !important;
}

.site-footer.public-footer {
  display: block;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #151515;
  color: #f5f5f1;
  font-size: 14px;
}

.site-footer-frame {
  width: min(1440px, 100%);
  margin: 0 auto;
}

.public-footer-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 48px;
  align-items: center;
  min-height: 148px;
  padding: 32px 64px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.public-footer-contact-copy {
  display: grid;
  gap: 8px;
  max-width: 760px;
}

.site-footer-kicker,
.site-footer-nav h2 {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
}

.public-footer-contact-copy h2 {
  margin: 0;
  color: #f5f5f1;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 500;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.public-footer-contact-copy > p:last-child {
  margin: 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 13px;
  line-height: 1.55;
}

.public-footer-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  gap: 12px;
  padding: 0 18px;
  border: 1px solid #f5f5f1;
  border-radius: 3px;
  background: #f5f5f1;
  color: #171717;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease;
}

.public-footer-contact-link svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.75;
}

.public-footer-contact-link:hover {
  border-color: #afccc4;
  background: #afccc4;
  color: #151515;
}

.public-footer-contact-link:focus-visible {
  outline: 2px solid #afccc4;
  outline-offset: 4px;
}

.public-footer-main {
  display: grid;
  grid-template-columns: minmax(300px, 1.7fr) repeat(3, minmax(140px, 1fr));
  gap: 48px;
  padding: 52px 64px 58px;
}

.public-footer-brand {
  align-content: start;
  display: grid;
  gap: 14px;
  padding-right: 32px;
}

.public-footer-brand h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 1.05;
}

.public-footer-brand h2 a {
  color: #f5f5f1;
}

.public-footer-brand > p {
  max-width: 280px;
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  line-height: 1.6;
}

.site-footer-nav {
  align-content: start;
  display: grid;
  gap: 3px;
}

.site-footer-nav h2 {
  margin-bottom: 12px;
}

.site-footer-nav a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 34px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 13px;
  line-height: 1.35;
  text-decoration: none;
  transition:
    color 180ms ease,
    text-decoration-color 180ms ease;
}

.site-footer-account-status {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  line-height: 1.35;
}

.site-footer-nav a:hover {
  color: #afccc4;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.site-footer-nav a:focus-visible,
.public-footer-brand h2 a:focus-visible {
  border-radius: 2px;
  outline: 2px solid #afccc4;
  outline-offset: 4px;
}

.site-footer-nav a[aria-current="page"] {
  color: #f5f5f1;
  text-decoration: underline;
  text-decoration-color: rgba(175, 204, 196, 0.8);
  text-underline-offset: 4px;
}

.site-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 70px;
  gap: 24px;
  padding: 18px 64px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
  line-height: 1.5;
}

.site-footer-bottom p {
  margin: 0;
}

.site-footer.workspace-footer {
  display: block;
  min-height: 80px;
  padding: 0;
  border-top: 1px solid #d9dbd7;
  background: #fafaf8;
  color: #555b56;
  font-size: 12px;
}

.workspace-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1440px, 100%);
  min-height: 80px;
  gap: 24px;
  margin: 0 auto;
  padding: 0 48px;
}

.workspace-footer-inner p {
  margin: 0;
}

.workspace-footer-inner nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 24px;
}

.workspace-footer-inner a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #3e4641;
  font-weight: 650;
  text-decoration: none;
  transition:
    color 180ms ease,
    text-decoration-color 180ms ease;
}

.workspace-footer-inner a:hover {
  color: #245f55;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.workspace-footer-inner a:focus-visible {
  border-radius: 2px;
  outline: 2px solid #245f55;
  outline-offset: 3px;
}

.home-page,
.archive-page,
.about-page,
.contact-page,
.lightbox-page,
.dashboard-page,
.upload-studio-page,
.account-settings-page,
.admin-review-page {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

.home-page > main,
.archive-page > main,
.about-page > main,
.contact-page > main,
.lightbox-page > main,
.dashboard-page > main,
.upload-studio-page > main,
.account-settings-page > main,
.admin-review-page > main {
  flex: 1 0 auto;
}

.admin-review-page > .admin-review-shell {
  min-height: 0;
}

.upload-studio-page > .workspace-footer,
.admin-review-page > .workspace-footer {
  width: calc(100% - var(--archive-rail-width));
  margin-left: var(--archive-rail-width);
}

@media (max-width: 1100px) {
  .public-footer-contact {
    gap: 36px;
    padding-right: 40px;
    padding-left: 40px;
  }

  .public-footer-contact-copy h2 {
    font-size: 32px;
  }

  .public-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px 56px;
    padding-right: 40px;
    padding-left: 40px;
  }

  .public-footer-brand {
    grid-column: 1 / -1;
    padding-right: 0;
  }

  .site-footer-bottom {
    padding-right: 40px;
    padding-left: 40px;
  }

  .workspace-footer-inner {
    padding-right: 32px;
    padding-left: 32px;
  }
}

@media (max-width: 760px) {
  .public-footer-contact {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    min-height: 0;
    padding: 34px 22px 36px;
  }

  .public-footer-contact-copy h2 {
    font-size: 28px;
    line-height: 1.16;
  }

  .public-footer-contact-link {
    width: 100%;
  }

  .public-footer-main {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    padding: 42px 22px 46px;
  }

  .public-footer-brand {
    grid-column: auto;
  }

  .public-footer-brand h2 {
    font-size: 34px;
  }

  .public-footer-brand h2 a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .site-footer-nav h2 {
    margin-bottom: 8px;
  }

  .site-footer-nav a {
    min-height: 44px;
    font-size: 14px;
  }

  .site-footer-account-status {
    min-height: 44px;
    font-size: 14px;
  }

  .site-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    min-height: 0;
    gap: 8px;
    padding: 22px;
  }

  .site-footer.workspace-footer {
    min-height: 0;
  }

  .workspace-footer-inner {
    align-items: flex-start;
    flex-direction: column;
    min-height: 0;
    gap: 0;
    padding: 10px 20px;
  }

  .workspace-footer-inner nav {
    width: 100%;
    gap: 0 22px;
  }

  .workspace-footer-inner a {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-footer-contact-link,
  .site-footer-nav a,
  .workspace-footer-inner a {
    transition: none;
  }
}

/* Admin Works: compact publication governance workspace. */
.admin-works-page {
  --archive-rail-width: 78px;
  --admin-works-header-height: 64px;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  background: #f8f8f5;
  color: #20201d;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-works-page > main { flex: 1 0 auto; }

.admin-works-page .ui-icon {
  width: 18px;
  height: 18px;
  stroke-width: 1.75;
}

.admin-works-skip {
  position: fixed;
  top: 10px;
  left: calc(var(--archive-rail-width) + 16px);
  z-index: 130;
  padding: 9px 13px;
  border: 1px solid #292925;
  background: #fbfbf8;
  color: #1c1c19;
  font-size: 12px;
  font-weight: 700;
  transform: translateY(-160%);
}

.admin-works-skip:focus {
  outline: 2px solid #245f55;
  outline-offset: 2px;
  transform: translateY(0);
}

.admin-works-rail {
  width: var(--archive-rail-width);
  border-right-color: #dedfd9;
  background: rgba(248, 248, 245, 0.98);
}

.admin-works-rail .archive-rail-button.is-active::after { background: #245f55; }

.admin-works-header {
  left: var(--archive-rail-width);
  justify-content: flex-start;
  min-height: var(--admin-works-header-height);
  padding: 0 clamp(20px, 2.8vw, 44px);
  border-bottom: 1px solid #dedfd9;
  background: rgba(248, 248, 245, 0.96);
  backdrop-filter: blur(14px);
}

.admin-works-header .brand-mark {
  gap: 11px;
  color: #22221f;
}

.admin-works-header .brand-mark span:first-child { font-size: 22px; }

.admin-works-header .brand-mark span:last-child {
  color: #6a6c66;
  font: 700 9px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.admin-works-header .site-nav {
  gap: clamp(18px, 3vw, 34px);
  margin-left: auto;
  color: #666963;
  font-size: 11px;
  font-weight: 650;
}

.admin-works-header .site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: var(--admin-works-header-height);
  border-bottom: 1px solid transparent;
}

.admin-works-header .site-nav a:hover,
.admin-works-header .site-nav a:focus-visible,
.admin-works-header .site-nav a[aria-current="page"] {
  border-bottom-color: #245f55;
  color: #1d1e1b;
  outline: none;
}

.admin-works-header .account-menu { margin-left: 24px; }

.admin-works-shell {
  width: min(1900px, calc(100% - var(--archive-rail-width)));
  min-width: 0;
  margin-left: var(--archive-rail-width);
  padding: calc(var(--admin-works-header-height) + 26px) clamp(20px, 2.5vw, 42px) 46px;
}

.admin-works-shell:focus { outline: none; }

.admin-works-command {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 23px;
}

.admin-works-command > div { min-width: 0; }

.admin-works-command .section-kicker {
  margin: 0 0 7px;
  color: #686b64;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.admin-works-command h1 {
  margin: 0;
  color: #1b1c19;
  font: 400 clamp(38px, 3.7vw, 54px)/1 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
  text-transform: none;
}

.admin-works-command > div > p:last-child {
  margin: 10px 0 0;
  color: #6b6e68;
  font-size: 12px;
  line-height: 1.5;
}

.admin-works-icon-button {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #cfd1ca;
  border-radius: 50%;
  background: transparent;
  color: #40433e;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.admin-works-icon-button:hover,
.admin-works-icon-button:focus-visible {
  border-color: #7e837d;
  background: #eeefea;
  color: #1b1d1a;
  outline: none;
}

.admin-works-icon-button:focus-visible { box-shadow: 0 0 0 3px rgba(36, 95, 85, 0.18); }
.admin-works-icon-button:disabled { cursor: wait; opacity: 0.48; }

.admin-works-metrics {
  display: flex;
  align-items: stretch;
  min-width: 0;
  overflow-x: auto;
  border-top: 1px solid #d9dbd4;
  border-bottom: 1px solid #d9dbd4;
  scrollbar-width: none;
}

.admin-works-metrics::-webkit-scrollbar { display: none; }

.admin-works-metrics button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 0 142px;
  gap: 20px;
  min-height: 56px;
  padding: 0 17px;
  border: 0;
  border-right: 1px solid #e1e2dc;
  background: transparent;
  color: #686b65;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.admin-works-metrics button:last-child { border-right: 0; }

.admin-works-metrics button::after {
  content: "";
  position: absolute;
  right: 17px;
  bottom: -1px;
  left: 17px;
  height: 2px;
  background: transparent;
}

.admin-works-metrics button:hover,
.admin-works-metrics button:focus-visible {
  background: #f0f1ec;
  color: #1f211e;
  outline: none;
}

.admin-works-metrics button:focus-visible { box-shadow: inset 0 0 0 2px rgba(36, 95, 85, 0.35); }
.admin-works-metrics button[aria-pressed="true"] { color: #194c42; }
.admin-works-metrics button[aria-pressed="true"]::after { background: #245f55; }

.admin-works-metrics span {
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.admin-works-metrics strong {
  font: 500 21px/1 Georgia, "Times New Roman", serif;
  font-variant-numeric: tabular-nums;
}

.admin-works-filters {
  display: grid;
  grid-template-columns: minmax(260px, 520px) auto auto minmax(160px, 210px) minmax(120px, 1fr);
  align-items: end;
  gap: 12px;
  min-height: 74px;
  padding: 15px 0;
}

.admin-works-search {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 40px;
  border-bottom: 1px solid #c6c9c2;
  color: #6e716b;
}

.admin-works-search:focus-within {
  border-bottom-color: #245f55;
  color: #245f55;
}

.admin-works-search input {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #242622;
  font: 500 12px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-works-search input:focus { outline: none; }
.admin-works-search input::placeholder { color: #8a8d87; opacity: 1; }

.admin-works-filters > button {
  min-height: 38px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid #777c75;
  background: transparent;
  color: #2c5149;
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-works-filters > button:hover,
.admin-works-filters > button:focus-visible {
  border-bottom-color: #245f55;
  color: #173f37;
  outline: none;
}

.admin-works-filters > button:focus-visible { box-shadow: 0 3px 0 rgba(36, 95, 85, 0.2); }

.admin-works-sort {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.admin-works-sort > span {
  color: #71746e;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.admin-works-sort select {
  width: 100%;
  min-height: 36px;
  padding: 0 24px 0 0;
  border: 0;
  border-bottom: 1px solid #c6c9c2;
  border-radius: 0;
  background: transparent;
  color: #292b27;
  font: 600 11px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-works-sort select:focus { border-bottom-color: #245f55; outline: none; }

.admin-works-filters > p {
  justify-self: end;
  margin: 0 0 8px;
  color: #6d706a;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.admin-works-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 400px);
  align-items: start;
  min-width: 0;
  border-top: 1px solid #d7d9d2;
  border-bottom: 1px solid #d7d9d2;
  background: #fff;
}

.admin-works-inventory {
  min-width: 0;
  background: #fff;
}

.admin-works-inventory > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 59px;
  padding: 12px 18px;
  border-bottom: 1px solid #e0e2dc;
}

.admin-works-inventory > header > div {
  display: flex;
  align-items: baseline;
  min-width: 0;
  gap: 12px;
}

.admin-works-inventory h2 {
  margin: 0;
  color: #252622;
  font: 650 14px/1.2 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-works-inventory > header span,
.admin-works-inventory > header small {
  color: #73766f;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

.admin-works-list-state {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 11px 18px;
  border-bottom: 1px solid #e1e3dd;
  color: #666a63;
  font-size: 11px;
  line-height: 1.45;
}

.admin-works-list-state[data-tone="loading"]::before {
  content: "";
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  border: 1px solid #b8bbb4;
  border-top-color: #245f55;
  border-radius: 50%;
  animation: admin-works-spin 700ms linear infinite;
}

.admin-works-list-state[data-tone="empty"] { color: #71746e; }

.admin-works-list-state[data-tone="error"] {
  border-left: 2px solid #8a3932;
  background: #fbf4f2;
  color: #6e2d27;
}

.admin-works-list-state button,
.admin-works-detail-state button,
.admin-works-conflict button {
  flex: 0 0 auto;
  margin-left: auto;
  min-height: 30px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #245f55;
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-works-list-state button:focus-visible,
.admin-works-detail-state button:focus-visible,
.admin-works-conflict button:focus-visible {
  outline: 2px solid rgba(36, 95, 85, 0.42);
  outline-offset: 3px;
}

.admin-works-table-wrap {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
}

.admin-works-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  table-layout: fixed;
  color: #292a27;
  font-size: 11px;
}

.admin-works-table th {
  height: 36px;
  padding: 0 13px;
  border-bottom: 1px solid #e2e4de;
  color: #777a73;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-align: left;
  text-transform: uppercase;
}

.admin-works-table th:nth-child(1) { width: 34%; }
.admin-works-table th:nth-child(2) { width: 25%; }
.admin-works-table th:nth-child(3) { width: 17%; }
.admin-works-table th:nth-child(4) { width: 18%; }
.admin-works-table th:nth-child(5) { width: 6%; }

.admin-works-table td {
  height: 76px;
  padding: 10px 13px;
  overflow: hidden;
  border-bottom: 1px solid #e5e7e1;
  vertical-align: middle;
}

.admin-works-table tbody tr { transition: background-color 140ms ease; }
.admin-works-table tbody tr:hover { background: #f6f7f3; }
.admin-works-table tbody tr.is-active { background: #edf2ef; }

.admin-works-row-button {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.admin-works-row-button:focus-visible {
  border-radius: 2px;
  outline: 2px solid rgba(36, 95, 85, 0.46);
  outline-offset: 4px;
}

.admin-works-thumb {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  overflow: hidden;
  border: 1px solid #dde0d9;
  background: #eef0eb;
}

.admin-works-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-works-title-copy {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.admin-works-title-copy strong,
.admin-works-table td:nth-child(2) strong {
  overflow: hidden;
  color: #242521;
  font-size: 11px;
  font-weight: 680;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-works-title-copy small,
.admin-works-table td:nth-child(2) small {
  display: block;
  overflow: hidden;
  color: #797c75;
  font-size: 9px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-works-table td:nth-child(2) strong { display: block; }
.admin-works-table time { color: #636760; font-size: 10px; white-space: nowrap; }

.admin-works-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid #cfd2cb;
  border-radius: 2px;
  color: #575b55;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.admin-works-status[data-status="published"] { border-color: #adc6bd; color: #245f55; }
.admin-works-status[data-status="quarantined"] { border-color: #d5aaa5; color: #843a33; }
.admin-works-status[data-status="deleted"] { border-color: #d5aaa5; color: #843a33; }
.admin-works-status[data-status="approved"] { border-color: #b9ccb8; color: #446840; }
.admin-works-status[data-status="in_review"],
.admin-works-status[data-status="submitted"] { border-color: #d5c49e; color: #795b28; }
.admin-works-status[data-status="unpublished"],
.admin-works-status[data-status="never_published"],
.admin-works-status[data-status="archived"] { border-color: #c8cbc4; color: #5f635d; }

.admin-works-row-arrow { color: #8a8d86; text-align: right; }

.admin-works-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  gap: 16px;
  padding: 9px 18px;
  color: #73766f;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

.admin-works-pagination button {
  min-height: 32px;
  padding: 0 2px;
  border: 0;
  border-bottom: 1px solid #6b716a;
  background: transparent;
  color: #245f55;
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-works-pagination button:focus-visible { outline: 2px solid rgba(36, 95, 85, 0.4); outline-offset: 3px; }
.admin-works-pagination button:disabled { cursor: wait; opacity: 0.5; }

.admin-works-inspector {
  position: sticky;
  top: calc(var(--admin-works-header-height) + 14px);
  align-self: start;
  min-width: 0;
  max-height: calc(100vh - var(--admin-works-header-height) - 28px);
  overflow-y: auto;
  border-left: 1px solid #d9dbd4;
  background: #fafaf7;
  scrollbar-color: #c4c7c0 transparent;
  scrollbar-width: thin;
}

.admin-works-mobile-toolbar { display: none; }

.admin-works-detail-state {
  display: grid;
  place-items: center;
  min-height: 560px;
  padding: 38px;
  color: #777a73;
  text-align: center;
}

.admin-works-detail-state > .ui-icon {
  width: 28px;
  height: 28px;
  margin-bottom: 18px;
  color: #778d85;
}

.admin-works-detail-state[data-tone="loading"] > .ui-icon { animation: admin-works-pulse 1.3s ease-in-out infinite; }
.admin-works-detail-state[data-tone="error"] > .ui-icon { color: #8a3932; }

.admin-works-detail-state h2 {
  margin: 0;
  color: #30322e;
  font: 400 26px/1.1 Georgia, "Times New Roman", serif;
}

.admin-works-detail-state h2:focus { outline: none; }

.admin-works-detail-state p {
  max-width: 290px;
  margin: 12px 0 0;
  color: #777a73;
  font-size: 11px;
  line-height: 1.65;
}

.admin-works-detail { min-width: 0; }

.admin-works-conflict {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 15px;
  border-bottom: 1px solid #d8ada8;
  background: #fbf2f0;
  color: #73322c;
  font-size: 10px;
}

.admin-works-conflict p { margin: 0; line-height: 1.45; }

.admin-works-preview {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 10;
  margin: 0;
  overflow: hidden;
  border-bottom: 1px solid #d9dbd4;
  background: #e8eae4;
}

.admin-works-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-works-preview > div {
  display: grid;
  place-items: center;
  position: absolute;
  inset: 0;
  color: #70746d;
  font-size: 10px;
}

.admin-works-detail-header {
  position: relative;
  padding: 20px 52px 20px 20px;
  border-bottom: 1px solid #dfe1da;
}

.admin-works-close-detail {
  position: absolute;
  top: 16px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #d1d4cd;
  border-radius: 50%;
  background: transparent;
  color: #656962;
  cursor: pointer;
}

.admin-works-close-detail:hover,
.admin-works-close-detail:focus-visible { border-color: #7c827a; background: #eef0eb; color: #222521; outline: none; }
.admin-works-close-detail:focus-visible { box-shadow: 0 0 0 3px rgba(36, 95, 85, 0.18); }

.admin-works-status-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}

.admin-works-status-line > span:last-child {
  color: #7a7d76;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

.admin-works-detail-header h2 {
  overflow-wrap: anywhere;
  margin: 13px 0 0;
  color: #20211e;
  font: 400 30px/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

.admin-works-detail-header h2:focus { outline: none; }

.admin-works-detail-header > p {
  overflow-wrap: anywhere;
  margin: 8px 0 0;
  color: #676b64;
  font-size: 10px;
  line-height: 1.5;
}

.admin-works-detail-header > a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  gap: 7px;
  min-height: 32px;
  margin-top: 10px;
  border-bottom: 1px solid #80948d;
  color: #245f55;
  font-size: 10px;
  font-weight: 700;
}

.admin-works-detail-header > a .ui-icon { width: 14px; height: 14px; }
.admin-works-detail-header > a:focus-visible { outline: 2px solid rgba(36, 95, 85, 0.4); outline-offset: 3px; }

.admin-works-inspector-section { padding: 19px 20px; border-bottom: 1px solid #dfe1da; }

.admin-works-inspector-section h3,
.admin-works-actions h3 {
  margin: 0 0 13px;
  color: #30322e;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.admin-works-definition-list {
  display: grid;
  grid-template-columns: minmax(100px, 0.7fr) minmax(0, 1.3fr);
  margin: 0;
}

.admin-works-definition-list dt,
.admin-works-definition-list dd {
  min-width: 0;
  margin: 0;
  padding: 8px 0;
  border-top: 1px solid #e5e7e1;
  font-size: 10px;
  line-height: 1.45;
}

.admin-works-definition-list dt { color: #777a73; }
.admin-works-definition-list dd { overflow-wrap: anywhere; color: #30332e; font-weight: 560; }

.admin-works-history {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-works-history li {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr);
  gap: 11px;
  min-width: 0;
}

.admin-works-history li > span {
  width: 7px;
  height: 7px;
  margin-top: 4px;
  border: 1px solid #719088;
  border-radius: 50%;
  background: #fafaf7;
}

.admin-works-history li[data-result="failure"] > span { border-color: #9a514a; }
.admin-works-history li[data-result="failure"] strong { color: #783b35; }

.admin-works-history li strong { display: block; color: #343732; font-size: 10px; }
.admin-works-history li small { display: block; margin-top: 3px; color: #7b7e77; font-size: 9px; line-height: 1.45; }
.admin-works-history li p { margin: 5px 0 0; color: #646861; font-size: 10px; line-height: 1.5; }
.admin-works-history li.is-empty { display: block; color: #777a73; font-size: 10px; line-height: 1.6; }

.admin-works-actions {
  display: grid;
  gap: 15px;
  padding: 20px;
  background: #f3f4ef;
}

.admin-works-actions h3 { margin-bottom: 6px; }

.admin-works-actions p {
  margin: 0;
  color: #6b6f68;
  font-size: 10px;
  line-height: 1.55;
}

.admin-works-actions .button {
  width: 100%;
  min-height: 42px;
  border-radius: 2px;
  font-size: 10px;
}

.admin-works-danger {
  border-color: #813a34 !important;
  background: #813a34 !important;
  color: #fff !important;
}

.admin-works-danger:hover,
.admin-works-danger:focus-visible { border-color: #642b26 !important; background: #642b26 !important; }

.admin-works-dialog {
  width: min(560px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  padding: 0;
  overflow: auto;
  border: 1px solid #c8cbc4;
  border-radius: 2px;
  background: #fafaf7;
  color: #232420;
}

.admin-works-dialog::backdrop { background: rgba(20, 21, 19, 0.52); }
.admin-works-dialog form { display: grid; gap: 17px; padding: 30px; }

.admin-works-dialog .section-kicker {
  margin: 0 0 -8px;
  color: #6d706a;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.admin-works-dialog h2 {
  margin: 0;
  color: #22231f;
  font: 400 32px/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

.admin-works-dialog form > p:not(.section-kicker) {
  margin: -4px 0 0;
  color: #696d66;
  font-size: 11px;
  line-height: 1.6;
}

.admin-works-dialog label { display: grid; gap: 6px; }

.admin-works-dialog label > span {
  color: #5e625c;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-works-dialog label > span small {
  color: #888b85;
  font: inherit;
  font-weight: 550;
}

.admin-works-dialog select,
.admin-works-dialog textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #cbd0c8;
  border-radius: 2px;
  background: #fff;
  color: #282a26;
  font: 400 12px/1.5 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-works-dialog select { min-height: 42px; padding: 0 34px 0 11px; }
.admin-works-dialog textarea { min-height: 84px; padding: 10px 11px; resize: vertical; }

.admin-works-dialog select:focus,
.admin-works-dialog textarea:focus { border-color: #245f55; outline: 2px solid rgba(36, 95, 85, 0.15); outline-offset: 1px; }

.admin-works-dialog-help { margin-top: -8px !important; font-size: 9px !important; }
.admin-works-dialog-error { min-height: 16px; color: #7e332d !important; }

.admin-works-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 2px;
  padding-top: 17px;
  border-top: 1px solid #d9dcd5;
}

.admin-works-dialog-actions .button { min-height: 40px; border-radius: 2px; font-size: 10px; }

.admin-works-page > .workspace-footer {
  width: calc(100% - var(--archive-rail-width));
  margin-left: var(--archive-rail-width);
}

.admin-works-page .contact-toast[data-type="error"] { background: #752f29; }
.admin-works-page .contact-toast[data-type="success"] { background: #315e45; }
.admin-works-page[data-works-busy] .admin-works-workspace { cursor: progress; }

@keyframes admin-works-spin { to { transform: rotate(360deg); } }

@keyframes admin-works-pulse {
  0%, 100% { opacity: 0.42; }
  50% { opacity: 1; }
}

@media (max-width: 1240px) {
  .admin-works-workspace { grid-template-columns: minmax(0, 1fr) minmax(330px, 360px); }
  .admin-works-table th:nth-child(4),
  .admin-works-table td:nth-child(4) { display: none; }
  .admin-works-table th:nth-child(1) { width: 39%; }
  .admin-works-table th:nth-child(2) { width: 28%; }
  .admin-works-table th:nth-child(3) { width: 25%; }
  .admin-works-table th:nth-child(5) { width: 8%; }
}

@media (max-width: 1040px) {
  .admin-works-shell { padding-right: 18px; padding-left: 18px; }
  .admin-works-filters { grid-template-columns: minmax(230px, 1fr) auto auto minmax(160px, 190px); }
  .admin-works-filters > p { grid-column: 1 / -1; justify-self: start; margin: 0; }
  .admin-works-workspace { grid-template-columns: minmax(0, 1fr) minmax(310px, 340px); }
  .admin-works-table { min-width: 0; }
  .admin-works-table th:nth-child(2),
  .admin-works-table td:nth-child(2) { display: none; }
  .admin-works-table th:nth-child(1) { width: 55%; }
  .admin-works-table th:nth-child(3) { width: 35%; }
  .admin-works-table th:nth-child(5) { width: 10%; }
}

@media (max-width: 900px) {
  .admin-works-workspace {
    display: block;
    scroll-margin-top: calc(var(--admin-works-header-height) + 8px);
  }
  .admin-works-workspace[data-mobile-view="list"] .admin-works-inspector,
  .admin-works-workspace[data-mobile-view="detail"] .admin-works-inventory { display: none; }

  .admin-works-inspector {
    position: static;
    width: 100%;
    max-height: none;
    overflow-y: visible;
    border-left: 0;
  }

  .admin-works-mobile-toolbar {
    position: sticky;
    top: var(--admin-works-header-height);
    z-index: 8;
    display: flex;
    min-height: 50px;
    padding: 5px 16px;
    border-bottom: 1px solid #d9dbd4;
    background: rgba(250, 250, 247, 0.96);
    backdrop-filter: blur(12px);
  }

  .admin-works-mobile-toolbar button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #245f55;
    cursor: pointer;
    font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  }

  .admin-works-mobile-toolbar button:focus-visible { outline: 2px solid rgba(36, 95, 85, 0.42); outline-offset: 3px; }
  .admin-works-close-detail { display: none; }
  .admin-works-detail-state { min-height: 460px; }
  .admin-works-preview { max-height: 520px; }
}

@media (max-width: 760px) {
  .admin-works-page {
    --archive-rail-width: 0px;
    --admin-works-header-height: 68px;
  }

  .admin-works-skip { left: 12px; }
  .admin-works-rail { display: none; }

  .admin-works-header {
    left: 0;
    align-items: center;
    flex-direction: row;
    gap: 14px;
    height: var(--admin-works-header-height);
    min-height: var(--admin-works-header-height);
    padding: 0 15px;
  }

  .admin-works-header .brand-mark span:last-child { display: none; }
  .admin-works-header .site-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    gap: 0;
    margin-left: auto;
    font-size: 9px;
  }
  .admin-works-header .site-nav a:not([aria-current="page"]) { display: none; }
  .admin-works-header .site-nav a { min-height: var(--admin-works-header-height); }
  .admin-works-header .account-menu { margin-left: 14px; }

  .admin-works-shell {
    width: 100%;
    margin-left: 0;
    padding: calc(var(--admin-works-header-height) + 22px) 15px 34px;
  }

  .admin-works-command { align-items: center; padding-bottom: 20px; }
  .admin-works-command h1 { font-size: 39px; }
  .admin-works-command > div > p:last-child { max-width: 240px; font-size: 10px; }

  .admin-works-metrics {
    margin-right: -15px;
    margin-left: -15px;
    padding-right: 15px;
    padding-left: 15px;
  }

  .admin-works-metrics button { flex-basis: 126px; min-height: 53px; padding: 0 12px; }
  .admin-works-metrics button::after { right: 12px; left: 12px; }

  .admin-works-filters {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 9px;
    padding: 14px 0 15px;
  }

  .admin-works-sort { grid-column: 1 / -1; }
  .admin-works-filters > p { grid-column: 1 / -1; }

  .admin-works-inventory > header { padding-right: 12px; padding-left: 12px; }
  .admin-works-inventory > header small { display: none; }

  .admin-works-table-wrap { overflow: visible; }
  .admin-works-table { min-width: 0; border-collapse: separate; border-spacing: 0; }
  .admin-works-table thead { display: none; }
  .admin-works-table tbody { display: grid; }

  .admin-works-table tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    border-bottom: 1px solid #dfe1da;
  }

  .admin-works-table td,
  .admin-works-table td:nth-child(2),
  .admin-works-table td:nth-child(4) {
    display: block;
    width: auto;
    height: auto;
    min-width: 0;
    padding: 9px 12px;
    border: 0;
  }

  .admin-works-table td:first-child { grid-column: 1 / -1; padding-top: 13px; padding-bottom: 8px; }
  .admin-works-table td:nth-child(2) { padding-top: 4px; padding-bottom: 13px; }
  .admin-works-table td:nth-child(2)::before { content: "Creator"; display: block; color: #83867f; font-size: 7px; letter-spacing: 0.1em; text-transform: uppercase; }
  .admin-works-table td:nth-child(2) strong { margin-top: 3px; }
  .admin-works-table td:nth-child(3) { align-self: end; padding-top: 4px; padding-bottom: 13px; }
  .admin-works-table td:nth-child(4),
  .admin-works-table td.admin-works-row-arrow { display: none; }
  .admin-works-row-button { grid-template-columns: 58px minmax(0, 1fr); }
  .admin-works-thumb { width: 58px; height: 58px; }

  .admin-works-list-state,
  .admin-works-pagination { padding-right: 12px; padding-left: 12px; }

  .admin-works-preview { aspect-ratio: 4 / 3; }
  .admin-works-detail-header { padding-right: 18px; padding-left: 18px; }
  .admin-works-inspector-section,
  .admin-works-actions { padding-right: 18px; padding-left: 18px; }
  .admin-works-detail-header h2 { font-size: 29px; }

  .admin-works-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
  .admin-works-dialog form { gap: 15px; padding: 23px 18px; }
  .admin-works-dialog h2 { font-size: 29px; }
  .admin-works-dialog-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-works-dialog-actions .button { width: 100%; }

  .admin-works-page > .workspace-footer { width: 100%; margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .admin-works-icon-button,
  .admin-works-table tbody tr { transition: none; }
  .admin-works-list-state[data-tone="loading"]::before,
  .admin-works-detail-state[data-tone="loading"] > .ui-icon { animation: none; }
}

/* Shared header identity: server-rendered initials with decoded-image handoff. */
.header-identity-slot {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  min-width: 0;
}

.header-identity-slot > .home-account-entry {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  color: inherit;
  font: 600 13px/1 Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  white-space: nowrap;
}

.header-identity-slot > .home-account-entry:focus-visible {
  outline: 2px solid rgba(36, 79, 69, 0.48);
  outline-offset: 4px;
}

.header-identity-unavailable,
.account-profile-link {
  position: relative;
  width: 42px;
  height: 42px;
  aspect-ratio: 1;
  flex: 0 0 auto;
  overflow: hidden;
}

.header-identity-unavailable {
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(var(--ink-rgb), 0.18);
  border-radius: 50%;
  background: #f1f3f4;
  color: #35434a;
  font: 800 11px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.account-profile-link > [data-account-menu-initials],
.account-profile-link > [data-account-menu-image] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
}

.account-profile-link > [data-account-menu-initials] {
  display: grid;
  place-items: center;
  opacity: 1;
  transition: opacity 200ms ease;
}

.account-profile-link > [data-account-menu-image] {
  display: block;
  object-fit: cover;
  opacity: 0;
  transition: opacity 200ms ease;
}

.account-profile-link.is-image-ready > [data-account-menu-initials] { opacity: 0; }
.account-profile-link.is-image-ready > [data-account-menu-image] { opacity: 1; }

[data-public-header] > .header-identity-slot {
  order: 2;
  margin-left: 14px;
}

[data-public-header] .header-identity-slot .account-menu { margin-left: 0; }
[data-public-header] .header-identity-slot .account-profile-link { width: 42px; height: 42px; }

.home-page [data-public-header] .header-identity-unavailable {
  border-color: rgba(255, 255, 255, 0.62);
  background: rgba(255, 255, 255, 0.94);
}

.home-page [data-public-header] .header-identity-slot > .home-account-entry { color: #fff; }
.home-page.is-scrolled [data-public-header] .header-identity-slot > .home-account-entry { color: var(--presentation-ink); }

@media (max-width: 760px) {
  .header-identity-unavailable,
  .account-profile-link,
  [data-public-header] .header-identity-slot .account-profile-link,
  .account-settings-page .account-profile-link {
    width: 38px;
    height: 38px;
  }

  [data-public-header] > .header-identity-slot { margin-left: 6px; }
  .header-identity-slot > .home-account-entry { min-height: 38px; font-size: 12px; }

  .upload-studio-header,
  .account-settings-page .account-settings-header,
  .admin-review-header,
  .admin-works-header {
    align-items: center;
    flex-direction: row;
  }

  .upload-studio-header { min-height: 68px; padding: 0 14px; }
  .upload-studio-header .brand-mark span:last-child { display: none; }

  .upload-studio-header .site-nav,
  .account-settings-page .account-settings-header .site-nav,
  .admin-review-header .site-nav,
  .admin-works-header .site-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    margin-left: auto;
    gap: 8px;
    font-size: 9px;
    white-space: nowrap;
  }

  .upload-studio-header .account-menu {
    position: relative;
    top: auto;
    right: auto;
    margin-left: 0;
  }

  .upload-studio-header .header-identity-slot,
  .account-settings-header .header-identity-slot,
  .admin-review-header .header-identity-slot,
  .admin-works-header .header-identity-slot { margin-left: 0; }

  .upload-studio-shell { padding-top: 94px; }

  .admin-works-header .site-nav [data-review-nav],
  .admin-works-header .site-nav [data-governance-nav] { display: inline-flex; }
}

@media (prefers-reduced-motion: reduce) {
  .account-profile-link > [data-account-menu-initials],
  .account-profile-link > [data-account-menu-image] { transition: none; }
}

/* Admin Users: restrained account and access administration workspace. */
.admin-users-page {
  --archive-rail-width: 78px;
  --admin-users-header-height: 64px;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  background: #f8f8f5;
  color: #20201d;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-users-page > main { flex: 1 0 auto; }

.admin-users-page .ui-icon {
  width: 18px;
  height: 18px;
  stroke-width: 1.75;
}

.admin-users-skip {
  position: fixed;
  top: 10px;
  left: calc(var(--archive-rail-width) + 16px);
  z-index: 130;
  padding: 9px 13px;
  border: 1px solid #292925;
  background: #fbfbf8;
  color: #1c1c19;
  font-size: 12px;
  font-weight: 700;
  transform: translateY(-160%);
}

.admin-users-skip:focus {
  outline: 2px solid #245f55;
  outline-offset: 2px;
  transform: translateY(0);
}

.admin-users-rail {
  width: var(--archive-rail-width);
  border-right-color: #dedfd9;
  background: rgba(248, 248, 245, 0.98);
}

.admin-users-rail .archive-rail-button.is-active::after { background: #245f55; }

.admin-users-header {
  left: var(--archive-rail-width);
  justify-content: flex-start;
  min-height: var(--admin-users-header-height);
  padding: 0 42px;
  border-bottom: 1px solid #dedfd9;
  background: rgba(248, 248, 245, 0.96);
  backdrop-filter: blur(14px);
}

.admin-users-header .brand-mark {
  gap: 11px;
  color: #22221f;
}

.admin-users-header .brand-mark span:first-child { font-size: 22px; }

.admin-users-header .brand-mark span:last-child {
  color: #6a6c66;
  font: 700 9px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  text-transform: uppercase;
}

.admin-users-header .site-nav {
  gap: 30px;
  margin-left: auto;
  color: #666963;
  font-size: 11px;
  font-weight: 650;
}

.admin-users-header .site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: var(--admin-users-header-height);
  border-bottom: 1px solid transparent;
}

.admin-users-header .site-nav a:hover,
.admin-users-header .site-nav a:focus-visible,
.admin-users-header .site-nav a[aria-current="page"] {
  border-bottom-color: #245f55;
  color: #1d1e1b;
  outline: none;
}

.admin-users-header .account-menu { margin-left: 24px; }

.admin-users-shell {
  width: min(1900px, calc(100% - var(--archive-rail-width)));
  min-width: 0;
  margin-left: var(--archive-rail-width);
  padding: calc(var(--admin-users-header-height) + 26px) 42px 46px;
}

.admin-users-shell:focus { outline: none; }

.admin-users-command {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 23px;
}

.admin-users-command > div { min-width: 0; }

.admin-users-command .section-kicker {
  margin: 0 0 7px;
  color: #686b64;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: uppercase;
}

.admin-users-command h1 {
  margin: 0;
  color: #1b1c19;
  font: 400 50px/1 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
  text-transform: none;
}

.admin-users-command > div > p:last-child {
  margin: 10px 0 0;
  color: #6b6e68;
  font-size: 12px;
  line-height: 1.5;
}

.admin-users-icon-button {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #cfd1ca;
  border-radius: 50%;
  background: transparent;
  color: #40433e;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.admin-users-icon-button:hover,
.admin-users-icon-button:focus-visible {
  border-color: #7e837d;
  background: #eeefea;
  color: #1b1d1a;
  outline: none;
}

.admin-users-icon-button:focus-visible { box-shadow: 0 0 0 3px rgba(36, 95, 85, 0.18); }
.admin-users-icon-button:disabled { cursor: wait; opacity: 0.48; }

.admin-users-metrics {
  display: flex;
  align-items: stretch;
  min-width: 0;
  overflow-x: auto;
  border-top: 1px solid #d9dbd4;
  border-bottom: 1px solid #d9dbd4;
  scrollbar-width: none;
}

.admin-users-metrics::-webkit-scrollbar { display: none; }

.admin-users-metrics button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 0 142px;
  gap: 20px;
  min-height: 56px;
  padding: 0 17px;
  border: 0;
  border-right: 1px solid #e1e2dc;
  background: transparent;
  color: #686b65;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.admin-users-metrics button:last-child { border-right: 0; }

.admin-users-metrics button::after {
  content: "";
  position: absolute;
  right: 17px;
  bottom: -1px;
  left: 17px;
  height: 2px;
  background: transparent;
}

.admin-users-metrics button:hover,
.admin-users-metrics button:focus-visible {
  background: #f0f1ec;
  color: #1f211e;
  outline: none;
}

.admin-users-metrics button:focus-visible { box-shadow: inset 0 0 0 2px rgba(36, 95, 85, 0.35); }
.admin-users-metrics button[aria-pressed="true"] { color: #194c42; }
.admin-users-metrics button[aria-pressed="true"]::after { background: #245f55; }

.admin-users-metrics span {
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.admin-users-metrics strong {
  font: 500 21px/1 Georgia, "Times New Roman", serif;
  font-variant-numeric: tabular-nums;
}

.admin-users-filters {
  display: grid;
  grid-template-columns: minmax(250px, 1.4fr) auto auto minmax(130px, 0.5fr) minmax(150px, 0.6fr) minmax(150px, 0.7fr);
  align-items: end;
  gap: 12px;
  min-height: 74px;
  padding: 15px 0;
}

.admin-users-search {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 40px;
  border-bottom: 1px solid #c6c9c2;
  color: #6e716b;
}

.admin-users-search:focus-within { border-bottom-color: #245f55; color: #245f55; }

.admin-users-search input {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #242622;
  font: 500 12px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-users-search input:focus { outline: none; }
.admin-users-search input::placeholder { color: #8a8d87; opacity: 1; }

.admin-users-filters > button {
  min-height: 38px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid #777c75;
  background: transparent;
  color: #2c5149;
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-users-filters > button:hover,
.admin-users-filters > button:focus-visible {
  border-bottom-color: #245f55;
  color: #173f37;
  outline: none;
}

.admin-users-filters > button:focus-visible { box-shadow: 0 3px 0 rgba(36, 95, 85, 0.2); }

.admin-users-filter-select {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.admin-users-filter-select > span {
  color: #71746e;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: uppercase;
}

.admin-users-filter-select select {
  width: 100%;
  min-height: 36px;
  padding: 0 24px 0 0;
  border: 0;
  border-bottom: 1px solid #c6c9c2;
  border-radius: 0;
  background: transparent;
  color: #292b27;
  font: 600 11px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-users-filter-select select:focus { border-bottom-color: #245f55; outline: none; }

.admin-users-filters > p {
  justify-self: end;
  margin: 0 0 8px;
  color: #6d706a;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.admin-users-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
  align-items: start;
  min-width: 0;
  border-top: 1px solid #d7d9d2;
  border-bottom: 1px solid #d7d9d2;
  background: #fff;
}

.admin-users-inventory { min-width: 0; background: #fff; }

.admin-users-inventory > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 59px;
  padding: 12px 18px;
  border-bottom: 1px solid #e0e2dc;
}

.admin-users-inventory > header > div {
  display: flex;
  align-items: baseline;
  min-width: 0;
  gap: 12px;
}

.admin-users-inventory h2 {
  margin: 0;
  color: #252622;
  font: 650 14px/1.2 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-users-inventory > header span,
.admin-users-inventory > header small {
  color: #73766f;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

.admin-users-list-state {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 11px 18px;
  border-bottom: 1px solid #e1e3dd;
  color: #666a63;
  font-size: 11px;
  line-height: 1.45;
}

.admin-users-list-state[data-tone="loading"]::before {
  content: "";
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  border: 1px solid #b8bbb4;
  border-top-color: #245f55;
  border-radius: 50%;
  animation: admin-users-spin 700ms linear infinite;
}

.admin-users-list-state[data-tone="empty"] { color: #71746e; }

.admin-users-list-state[data-tone="error"] {
  border-left: 2px solid #8a3932;
  background: #fbf4f2;
  color: #6e2d27;
}

.admin-users-list-state button,
.admin-users-detail-state button,
.admin-users-conflict button {
  flex: 0 0 auto;
  margin-left: auto;
  min-height: 30px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #245f55;
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-users-list-state button:focus-visible,
.admin-users-detail-state button:focus-visible,
.admin-users-conflict button:focus-visible {
  outline: 2px solid rgba(36, 95, 85, 0.42);
  outline-offset: 3px;
}

.admin-users-table-wrap { width: 100%; min-width: 0; overflow-x: auto; }

.admin-users-table {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
  table-layout: fixed;
  color: #292a27;
  font-size: 11px;
}

.admin-users-table th {
  height: 36px;
  padding: 0 13px;
  border-bottom: 1px solid #e2e4de;
  color: #777a73;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0;
  text-align: left;
  text-transform: uppercase;
}

.admin-users-table th:nth-child(1) { width: 38%; }
.admin-users-table th:nth-child(2) { width: 19%; }
.admin-users-table th:nth-child(3) { width: 17%; }
.admin-users-table th:nth-child(4) { width: 20%; }
.admin-users-table th:nth-child(5) { width: 6%; }

.admin-users-table td {
  height: 76px;
  padding: 10px 13px;
  overflow: hidden;
  border-bottom: 1px solid #e5e7e1;
  vertical-align: middle;
}

.admin-users-table tbody tr { transition: background-color 140ms ease; }
.admin-users-table tbody tr:hover { background: #f6f7f3; }
.admin-users-table tbody tr.is-active { background: #edf2ef; }

.admin-users-row-button {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.admin-users-row-button:focus-visible {
  border-radius: 2px;
  outline: 2px solid rgba(36, 95, 85, 0.46);
  outline-offset: 4px;
}

.admin-users-row-avatar,
.admin-users-avatar {
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #cfd4cc;
  border-radius: 50%;
  background: #e9ede8;
  color: #31594f;
  font-weight: 750;
  line-height: 1;
}

.admin-users-row-avatar { width: 44px; height: 44px; font-size: 10px; }
.admin-users-avatar { width: 64px; height: 64px; margin-bottom: 16px; font-size: 15px; }

.admin-users-row-avatar img,
.admin-users-avatar img { width: 100%; height: 100%; object-fit: cover; }

.admin-users-identity-copy { display: grid; min-width: 0; gap: 4px; }

.admin-users-identity-copy strong {
  overflow: hidden;
  color: #242521;
  font-size: 11px;
  font-weight: 680;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-users-identity-copy small {
  display: block;
  overflow: hidden;
  color: #797c75;
  font-size: 9px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-users-table td:nth-child(2) small { margin-left: 6px; color: #7c8079; font-size: 9px; }
.admin-users-table time { color: #636760; font-size: 10px; white-space: nowrap; }

.admin-users-status,
.admin-users-role {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid #cfd2cb;
  border-radius: 2px;
  color: #575b55;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.admin-users-status[data-status="active"] { border-color: #adc6bd; color: #245f55; }
.admin-users-status[data-status="pending_verification"] { border-color: #d5c49e; color: #795b28; }
.admin-users-status[data-status="suspended"],
.admin-users-status[data-status="banned"],
.admin-users-status[data-status="deleted"] { border-color: #d5aaa5; color: #843a33; }
.admin-users-role[data-role="admin"],
.admin-users-role[data-role="super_admin"] { border-color: #aebfba; color: #245f55; }
.admin-users-role[data-role="reviewer"] { border-color: #c2c9bc; color: #53674f; }

.admin-users-row-arrow { color: #8a8d86; text-align: right; }

.admin-users-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  gap: 16px;
  padding: 9px 18px;
  color: #73766f;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

.admin-users-pagination button {
  min-height: 32px;
  padding: 0 2px;
  border: 0;
  border-bottom: 1px solid #6b716a;
  background: transparent;
  color: #245f55;
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-users-pagination button:focus-visible { outline: 2px solid rgba(36, 95, 85, 0.4); outline-offset: 3px; }
.admin-users-pagination button:disabled { cursor: wait; opacity: 0.5; }

.admin-users-inspector {
  position: sticky;
  top: calc(var(--admin-users-header-height) + 14px);
  align-self: start;
  min-width: 0;
  max-height: calc(100vh - var(--admin-users-header-height) - 28px);
  overflow-y: auto;
  border-left: 1px solid #d9dbd4;
  background: #fafaf7;
  scrollbar-color: #c4c7c0 transparent;
  scrollbar-width: thin;
}

.admin-users-mobile-toolbar { display: none; }

.admin-users-detail-state {
  display: grid;
  place-items: center;
  place-content: center;
  gap: 12px;
  min-height: 560px;
  padding: 38px;
  color: #777a73;
  text-align: center;
}

.admin-users-detail-state > .ui-icon { width: 28px; height: 28px; margin-bottom: 6px; color: #778d85; }
.admin-users-detail-state[data-tone="loading"] > .ui-icon { animation: admin-users-pulse 1.3s ease-in-out infinite; }
.admin-users-detail-state[data-tone="error"] > .ui-icon { color: #8a3932; }

.admin-users-detail-state h2 {
  margin: 0;
  color: #30322e;
  font: 400 26px/1.1 Georgia, "Times New Roman", serif;
}

.admin-users-detail-state h2:focus { outline: none; }

.admin-users-detail-state p {
  max-width: 300px;
  margin: 12px 0 0;
  color: #777a73;
  font-size: 11px;
  line-height: 1.65;
}

.admin-users-detail { min-width: 0; }

.admin-users-conflict {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 15px;
  border-bottom: 1px solid #d8ada8;
  background: #fbf2f0;
  color: #73322c;
  font-size: 10px;
}

.admin-users-conflict p { margin: 0; line-height: 1.45; }

.admin-users-detail-header {
  position: relative;
  padding: 24px 54px 22px 20px;
  border-bottom: 1px solid #dfe1da;
}

.admin-users-close-detail {
  position: absolute;
  top: 18px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #d1d4cd;
  border-radius: 50%;
  background: transparent;
  color: #656962;
  cursor: pointer;
}

.admin-users-close-detail:hover,
.admin-users-close-detail:focus-visible { border-color: #7c827a; background: #eef0eb; color: #222521; outline: none; }
.admin-users-close-detail:focus-visible { box-shadow: 0 0 0 3px rgba(36, 95, 85, 0.18); }

.admin-users-status-line { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.admin-users-status-line > span:last-child { color: #7a7d76; font-size: 9px; font-variant-numeric: tabular-nums; }

.admin-users-detail-header h2 {
  overflow-wrap: anywhere;
  margin: 13px 0 0;
  color: #20211e;
  font: 400 30px/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

.admin-users-detail-header h2:focus { outline: none; }

.admin-users-detail-header > p {
  overflow-wrap: anywhere;
  margin: 8px 0 0;
  color: #676b64;
  font-size: 10px;
  line-height: 1.5;
}

.admin-users-inspector-section { padding: 19px 20px; border-bottom: 1px solid #dfe1da; }

.admin-users-inspector-section h3,
.admin-users-actions h3 {
  margin: 0 0 13px;
  color: #30322e;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: uppercase;
}

.admin-users-definition-list { display: grid; grid-template-columns: minmax(110px, 0.75fr) minmax(0, 1.25fr); margin: 0; }

.admin-users-definition-list dt,
.admin-users-definition-list dd {
  min-width: 0;
  margin: 0;
  padding: 8px 0;
  border-top: 1px solid #e5e7e1;
  font-size: 10px;
  line-height: 1.45;
}

.admin-users-definition-list dt { color: #777a73; }
.admin-users-definition-list dd { overflow-wrap: anywhere; color: #30332e; font-weight: 560; }

.admin-users-role-list { display: flex; flex-wrap: wrap; gap: 7px; }

.admin-users-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 15px;
  padding-top: 13px;
  border-top: 1px solid #e3e5de;
}

.admin-users-inline-actions button {
  min-height: 30px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #74827d;
  background: transparent;
  color: #245f55;
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-users-inline-actions button:focus-visible { outline: 2px solid rgba(36, 95, 85, 0.4); outline-offset: 3px; }
.admin-users-inline-actions button:disabled { border-bottom-color: #c8cbc5; color: #9a9d97; cursor: not-allowed; }

.admin-users-role-note { margin: 10px 0 0; color: #777b74; font-size: 9px; line-height: 1.5; }

.admin-users-history { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }

.admin-users-history li {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr);
  gap: 11px;
  min-width: 0;
}

.admin-users-history li > span {
  width: 7px;
  height: 7px;
  margin-top: 4px;
  border: 1px solid #719088;
  border-radius: 50%;
  background: #fafaf7;
}

.admin-users-history li[data-result="failure"] > span { border-color: #9a514a; }
.admin-users-history li[data-result="failure"] strong { color: #783b35; }
.admin-users-history li strong { display: block; color: #343732; font-size: 10px; }
.admin-users-history li small { display: block; margin-top: 3px; color: #7b7e77; font-size: 9px; line-height: 1.45; }
.admin-users-history li p { margin: 5px 0 0; color: #646861; font-size: 10px; line-height: 1.5; }
.admin-users-history li.is-empty { display: block; color: #777a73; font-size: 10px; line-height: 1.6; }

.admin-users-actions { display: grid; gap: 15px; padding: 20px; background: #f3f4ef; }
.admin-users-actions h3 { margin-bottom: 6px; }

.admin-users-actions p { margin: 0; color: #6b6f68; font-size: 10px; line-height: 1.55; }
.admin-users-action-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }

.admin-users-actions .button {
  width: 100%;
  min-height: 42px;
  padding-right: 10px;
  padding-left: 10px;
  border-radius: 2px;
  font-size: 10px;
  white-space: normal;
}

.admin-users-danger {
  border-color: #813a34 !important;
  background: #813a34 !important;
  color: #fff !important;
}

.admin-users-danger:hover,
.admin-users-danger:focus-visible { border-color: #642b26 !important; background: #642b26 !important; }

.admin-users-dialog {
  width: min(540px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  padding: 0;
  overflow: auto;
  border: 1px solid #c8cbc4;
  border-radius: 2px;
  background: #fafaf7;
  color: #232420;
}

.admin-users-dialog::backdrop { background: rgba(20, 21, 19, 0.52); }
.admin-users-dialog form { display: grid; gap: 17px; padding: 30px; }

.admin-users-dialog .section-kicker {
  margin: 0 0 -8px;
  color: #6d706a;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: uppercase;
}

.admin-users-dialog h2 {
  margin: 0;
  color: #22231f;
  font: 400 32px/1.08 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

.admin-users-dialog form > p:not(.section-kicker) { margin: -4px 0 0; color: #696d66; font-size: 11px; line-height: 1.6; }
.admin-users-dialog label { display: grid; gap: 6px; }

.admin-users-dialog label > span {
  color: #5e625c;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: uppercase;
}

.admin-users-dialog select,
.admin-users-dialog input {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  border: 1px solid #cbd0c8;
  border-radius: 2px;
  background: #fff;
  color: #282a26;
  font: 400 12px/1.5 Inter, "Helvetica Neue", Arial, sans-serif;
}

.admin-users-dialog select { padding: 0 34px 0 11px; }
.admin-users-dialog input { padding: 0 11px; }

.admin-users-dialog select:focus,
.admin-users-dialog input:focus { border-color: #245f55; outline: 2px solid rgba(36, 95, 85, 0.15); outline-offset: 1px; }

.admin-users-dialog-help { margin-top: -8px !important; font-size: 9px !important; }
.admin-users-dialog-error { min-height: 16px; color: #7e332d !important; }

.admin-users-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 2px;
  padding-top: 17px;
  border-top: 1px solid #d9dcd5;
}

.admin-users-dialog-actions .button { min-height: 40px; border-radius: 2px; font-size: 10px; }

.admin-users-page > .workspace-footer { width: calc(100% - var(--archive-rail-width)); margin-left: var(--archive-rail-width); }
.admin-users-page .contact-toast[data-type="error"] { background: #752f29; }
.admin-users-page .contact-toast[data-type="success"] { background: #315e45; }
.admin-users-page[data-users-busy] .admin-users-workspace { cursor: progress; }

@keyframes admin-users-spin { to { transform: rotate(360deg); } }

@keyframes admin-users-pulse {
  0%, 100% { opacity: 0.42; }
  50% { opacity: 1; }
}

@media (max-width: 1240px) {
  .admin-users-header { padding-right: 28px; padding-left: 28px; }
  .admin-users-shell { padding-right: 24px; padding-left: 24px; }
  .admin-users-filters { grid-template-columns: minmax(230px, 1fr) auto auto minmax(130px, 160px) minmax(150px, 180px); }
  .admin-users-filters > p { grid-column: 1 / -1; justify-self: start; margin: 0; }
  .admin-users-workspace { grid-template-columns: minmax(0, 1fr) minmax(340px, 380px); }
  .admin-users-table th:nth-child(4),
  .admin-users-table td:nth-child(4) { display: none; }
  .admin-users-table th:nth-child(1) { width: 43%; }
  .admin-users-table th:nth-child(2) { width: 25%; }
  .admin-users-table th:nth-child(3) { width: 24%; }
  .admin-users-table th:nth-child(5) { width: 8%; }
}

@media (max-width: 1040px) {
  .admin-users-header .site-nav { gap: 20px; }
  .admin-users-workspace { grid-template-columns: minmax(0, 1fr) minmax(320px, 350px); }
  .admin-users-table { min-width: 0; }
  .admin-users-table th:nth-child(2),
  .admin-users-table td:nth-child(2) { display: none; }
  .admin-users-table th:nth-child(1) { width: 60%; }
  .admin-users-table th:nth-child(3) { width: 31%; }
  .admin-users-table th:nth-child(5) { width: 9%; }
  .admin-users-action-buttons { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .admin-users-workspace { display: block; scroll-margin-top: calc(var(--admin-users-header-height) + 8px); }
  .admin-users-workspace[data-mobile-view="list"] .admin-users-inspector,
  .admin-users-workspace[data-mobile-view="detail"] .admin-users-inventory { display: none; }

  .admin-users-inspector {
    position: static;
    width: 100%;
    max-height: none;
    overflow-y: visible;
    border-left: 0;
  }

  .admin-users-mobile-toolbar {
    position: sticky;
    top: var(--admin-users-header-height);
    z-index: 8;
    display: flex;
    min-height: 50px;
    padding: 5px 16px;
    border-bottom: 1px solid #d9dbd4;
    background: rgba(250, 250, 247, 0.96);
    backdrop-filter: blur(12px);
  }

  .admin-users-mobile-toolbar button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #245f55;
    cursor: pointer;
    font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  }

  .admin-users-mobile-toolbar button:focus-visible { outline: 2px solid rgba(36, 95, 85, 0.42); outline-offset: 3px; }
  .admin-users-close-detail { display: none; }
  .admin-users-detail-state { min-height: 460px; }
  .admin-users-action-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .admin-users-page { --archive-rail-width: 0px; --admin-users-header-height: 68px; }
  .admin-users-skip { left: 12px; }
  .admin-users-rail { display: none; }

  .admin-users-header {
    left: 0;
    align-items: center;
    flex-direction: row;
    gap: 14px;
    height: var(--admin-users-header-height);
    min-height: var(--admin-users-header-height);
    padding: 0 15px;
  }

  .admin-users-header .brand-mark span:last-child { display: none; }
  .admin-users-header .site-nav { display: flex; align-items: center; justify-content: flex-end; width: auto; gap: 0; margin-left: auto; font-size: 9px; }
  .admin-users-header .site-nav a:not([aria-current="page"]) { display: none; }
  .admin-users-header .site-nav a { min-height: var(--admin-users-header-height); }
  .admin-users-header .account-menu { margin-left: 14px; }

  .admin-users-shell {
    width: 100%;
    margin-left: 0;
    padding: calc(var(--admin-users-header-height) + 22px) 15px 34px;
  }

  .admin-users-command { align-items: center; padding-bottom: 20px; }
  .admin-users-command h1 { font-size: 38px; }
  .admin-users-command > div > p:last-child { max-width: 250px; font-size: 10px; }

  .admin-users-metrics { margin-right: -15px; margin-left: -15px; padding-right: 15px; padding-left: 15px; }
  .admin-users-metrics button { flex-basis: 122px; min-height: 53px; padding: 0 12px; }
  .admin-users-metrics button::after { right: 12px; left: 12px; }

  .admin-users-filters { grid-template-columns: minmax(0, 1fr) auto auto; gap: 9px; padding: 14px 0 15px; }
  .admin-users-filter-select { grid-column: span 1; }
  .admin-users-filter-select:nth-of-type(2) { grid-column: 1 / 2; }
  .admin-users-filter-select:nth-of-type(3) { grid-column: 2 / -1; }
  .admin-users-filters > p { grid-column: 1 / -1; }

  .admin-users-inventory > header { padding-right: 12px; padding-left: 12px; }
  .admin-users-inventory > header small { display: none; }
  .admin-users-table-wrap { overflow: visible; }
  .admin-users-table { min-width: 0; border-collapse: separate; border-spacing: 0; }
  .admin-users-table thead { display: none; }
  .admin-users-table tbody { display: grid; }

  .admin-users-table tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    border-bottom: 1px solid #dfe1da;
  }

  .admin-users-table td,
  .admin-users-table td:nth-child(2),
  .admin-users-table td:nth-child(4) {
    display: block;
    width: auto;
    height: auto;
    min-width: 0;
    padding: 9px 12px;
    border: 0;
  }

  .admin-users-table td:first-child { grid-column: 1 / -1; padding-top: 13px; padding-bottom: 8px; }
  .admin-users-table td:nth-child(2) { padding-top: 4px; padding-bottom: 13px; }
  .admin-users-table td:nth-child(2)::before { content: "Role"; display: block; color: #83867f; font-size: 7px; letter-spacing: 0; text-transform: uppercase; }
  .admin-users-table td:nth-child(2) .admin-users-role { margin-top: 4px; }
  .admin-users-table td:nth-child(3) { align-self: end; padding-top: 4px; padding-bottom: 13px; }
  .admin-users-table td:nth-child(4),
  .admin-users-table td.admin-users-row-arrow { display: none; }
  .admin-users-row-button { grid-template-columns: 52px minmax(0, 1fr); }
  .admin-users-row-avatar { width: 52px; height: 52px; }
  .admin-users-list-state,
  .admin-users-pagination { padding-right: 12px; padding-left: 12px; }

  .admin-users-detail-header,
  .admin-users-inspector-section,
  .admin-users-actions { padding-right: 18px; padding-left: 18px; }
  .admin-users-detail-header h2 { font-size: 29px; }
  .admin-users-action-buttons { grid-template-columns: 1fr; }

  .admin-users-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
  .admin-users-dialog form { gap: 15px; padding: 23px 18px; }
  .admin-users-dialog h2 { font-size: 29px; }
  .admin-users-dialog-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-users-dialog-actions .button { width: 100%; }
  .admin-users-page > .workspace-footer { width: 100%; margin-left: 0; }
}

@media (max-width: 420px) {
  .admin-users-command h1 { font-size: 34px; }
  .admin-users-filter-select:nth-of-type(2),
  .admin-users-filter-select:nth-of-type(3) { grid-column: 1 / -1; }
  .admin-users-definition-list { grid-template-columns: minmax(94px, 0.72fr) minmax(0, 1.28fr); }
  .admin-users-conflict { grid-template-columns: 18px minmax(0, 1fr); }
  .admin-users-conflict button { grid-column: 2; justify-self: start; margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .admin-users-icon-button,
  .admin-users-table tbody tr { transition: none; }
  .admin-users-list-state[data-tone="loading"]::before,
  .admin-users-detail-state[data-tone="loading"] > .ui-icon { animation: none; }
}


/* Phase 5 communications: account notifications, inquiry inbox, and recorded contact delivery. */
.account-menu .account-menu-notification-badge {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 18px;
  margin-left: auto;
  padding: 0 5px;
  border-radius: 8px;
  background: #245f55;
  color: #fff;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
  font-weight: 750;
  line-height: 1;
}

.account-menu .account-menu-notification-badge[hidden] {
  display: none;
}

.communications-page {
  --communications-green: #245f55;
  --communications-green-dark: #173f37;
  --communications-ink: #20231f;
  --communications-muted: #6d726b;
  --communications-line: #d8dcd5;
  --communications-soft-line: #e7e9e4;
  --communications-paper: #fbfcf9;
  --communications-panel: #f3f5f1;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  background: #f7f8f5;
  color: var(--communications-ink);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
}

.communications-page > main {
  flex: 1 0 auto;
}

.communications-page .ui-icon {
  width: 18px;
  height: 18px;
  stroke-width: 1.75;
}

.communications-skip {
  position: fixed;
  top: 10px;
  left: 16px;
  z-index: 160;
  padding: 9px 13px;
  border: 1px solid var(--communications-ink);
  border-radius: 2px;
  background: var(--communications-paper);
  color: var(--communications-ink);
  font-size: 12px;
  font-weight: 700;
  transform: translateY(-160%);
}

.communications-skip:focus {
  outline: 2px solid var(--communications-green);
  outline-offset: 2px;
  transform: translateY(0);
}

.communications-header {
  min-height: 64px;
  padding: 0 clamp(20px, 3.2vw, 48px);
  border-bottom: 1px solid var(--communications-line);
  background: rgba(251, 252, 249, 0.98);
  color: var(--communications-ink);
  backdrop-filter: blur(12px);
}

.communications-header .brand-mark {
  color: var(--communications-ink);
}

.communications-header .brand-mark span:first-child {
  font-size: 22px;
}

.communications-header .brand-mark span:last-child {
  color: var(--communications-muted);
  font: 700 9px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  text-transform: uppercase;
}

.communications-header .site-nav {
  gap: clamp(18px, 2.5vw, 32px);
  margin-left: auto;
  background: transparent;
  color: var(--communications-muted);
  font-size: 11px;
  font-weight: 650;
}

.communications-header .site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 64px;
  border-bottom: 1px solid transparent;
}

.communications-header .site-nav a:hover,
.communications-header .site-nav a:focus-visible,
.communications-header .site-nav a[aria-current="page"] {
  border-bottom-color: var(--communications-green);
  color: var(--communications-ink);
  outline: none;
}

.communications-header .header-identity-slot {
  margin-left: 24px;
}

.communications-shell {
  width: min(1500px, 100%);
  min-width: 0;
  margin: 0 auto;
  padding: 90px clamp(20px, 3.4vw, 52px) 52px;
}

.communications-shell:focus {
  outline: none;
}

.communications-command {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  min-width: 0;
  gap: 24px;
  padding: 24px 0 22px;
}

.communications-command > div {
  min-width: 0;
}

.communications-command .section-kicker {
  margin: 0 0 7px;
  color: var(--communications-muted);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: uppercase;
}

.communications-command h1 {
  margin: 0;
  overflow-wrap: anywhere;
  color: #1b1e1a;
  font: 400 46px/1.05 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
  text-transform: none;
}

.communications-icon-button {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #c9cec7;
  border-radius: 50%;
  background: transparent;
  color: #414640;
  cursor: pointer;
}

.communications-icon-button:hover,
.communications-icon-button:focus-visible {
  border-color: #7a8279;
  background: #edf0eb;
  color: var(--communications-green-dark);
  outline: none;
}

.communications-icon-button:focus-visible {
  box-shadow: 0 0 0 3px rgba(36, 95, 85, 0.18);
}

.communications-icon-button:disabled {
  cursor: wait;
  opacity: 0.5;
}

.communications-segments {
  display: inline-flex;
  align-items: stretch;
  min-width: 0;
  border: 1px solid #cbd0c9;
  border-radius: 4px;
  background: var(--communications-paper);
}

.communications-segments button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 90px;
  min-height: 38px;
  gap: 7px;
  padding: 0 14px;
  border: 0;
  border-right: 1px solid #cbd0c9;
  border-radius: 0;
  background: transparent;
  color: #626860;
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.communications-segments button:first-child {
  border-radius: 3px 0 0 3px;
}

.communications-segments button:last-child {
  border-right: 0;
  border-radius: 0 3px 3px 0;
}

.communications-segments button:hover,
.communications-segments button:focus-visible,
.communications-segments button[aria-pressed="true"] {
  background: #e9efeb;
  color: var(--communications-green-dark);
  outline: none;
}

.communications-segments button:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(36, 95, 85, 0.35);
}

.communications-segments button:disabled {
  cursor: wait;
  opacity: 0.55;
}

.communications-segments button span {
  min-width: 18px;
  font-variant-numeric: tabular-nums;
}

.communications-state {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 78px;
  gap: 13px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--communications-soft-line);
  color: #656b64;
}

.communications-state > .ui-icon {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  color: #78877f;
}

.communications-state > div {
  min-width: 0;
}

.communications-state strong,
.communications-state h2 {
  display: block;
  margin: 0;
  overflow-wrap: anywhere;
  color: #30342f;
  font: 650 12px/1.4 Inter, "Helvetica Neue", Arial, sans-serif;
}

.communications-state p {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
  color: #737971;
  font-size: 10px;
  line-height: 1.5;
}

.communications-state[data-tone="error"],
.communications-state[data-tone="permission"] {
  border-left: 2px solid #8a3932;
  background: #fbf4f2;
  color: #6e2d27;
}

.communications-state[data-tone="error"] > .ui-icon,
.communications-state[data-tone="permission"] > .ui-icon {
  color: #8a3932;
}

.communications-state > button {
  flex: 0 0 auto;
  margin-left: auto;
  min-height: 32px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: var(--communications-green);
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.communications-state > button:focus-visible {
  outline: 2px solid rgba(36, 95, 85, 0.42);
  outline-offset: 3px;
}

.communications-spinner {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  border: 1px solid #b8beb6;
  border-top-color: var(--communications-green);
  border-radius: 50%;
  animation: communications-spin 720ms linear infinite;
}

.communications-pagination {
  display: flex;
  justify-content: center;
  min-height: 54px;
  padding: 10px 18px;
  border-top: 1px solid var(--communications-soft-line);
}

.communications-pagination button {
  min-height: 34px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid var(--communications-green);
  border-radius: 0;
  background: transparent;
  color: var(--communications-green-dark);
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.communications-pagination button:focus-visible {
  outline: 2px solid rgba(36, 95, 85, 0.42);
  outline-offset: 3px;
}

.communications-pagination button:disabled {
  cursor: wait;
  opacity: 0.5;
}

.notifications-shell {
  max-width: 1180px;
}

.notifications-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  gap: 18px;
  padding: 14px 0;
  border-top: 1px solid var(--communications-line);
}

.notifications-mark-all {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  gap: 8px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid var(--communications-green);
  border-radius: 0;
  background: transparent;
  color: var(--communications-green-dark);
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.notifications-mark-all:hover,
.notifications-mark-all:focus-visible {
  color: #102f29;
  outline: none;
}

.notifications-mark-all:focus-visible {
  box-shadow: 0 3px 0 rgba(36, 95, 85, 0.2);
}

.notifications-mark-all:disabled {
  border-bottom-color: #c4c8c1;
  color: #959a93;
  cursor: not-allowed;
}

.notifications-feed {
  min-width: 0;
  border-top: 1px solid var(--communications-line);
  border-bottom: 1px solid var(--communications-line);
  background: #fff;
}

.notifications-feed > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  min-height: 58px;
  gap: 16px;
  padding: 15px 20px;
  border-bottom: 1px solid var(--communications-soft-line);
}

.notifications-feed > header h2 {
  margin: 0;
  color: #292d28;
  font: 650 14px/1.3 Inter, "Helvetica Neue", Arial, sans-serif;
}

.notifications-feed > header span {
  color: var(--communications-muted);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.notifications-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.notifications-item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 38px;
  align-items: start;
  min-width: 0;
  gap: 14px;
  padding: 20px;
  border-bottom: 1px solid var(--communications-soft-line);
  background: #fff;
}

.notifications-item:last-child {
  border-bottom: 0;
}

.notifications-item[data-read="false"] {
  border-left: 2px solid var(--communications-green);
  background: #f8faf7;
}

.notifications-item-marker {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #d5d9d2;
  border-radius: 50%;
  background: #f4f6f2;
  color: #737c74;
}

.notifications-item[data-read="false"] .notifications-item-marker {
  border-color: #b8cbc4;
  background: #e9f0ec;
  color: var(--communications-green);
}

.notifications-item-marker .ui-icon {
  width: 16px;
  height: 16px;
}

.notifications-item-content {
  display: grid;
  min-width: 0;
  gap: 7px;
}

.notifications-item-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  min-width: 0;
  gap: 16px;
}

.notifications-item-heading strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #252925;
  font-size: 13px;
  line-height: 1.4;
}

.notifications-item-heading time {
  flex: 0 0 auto;
  color: #7b8079;
  font-size: 9px;
  white-space: nowrap;
}

.notifications-item-content > p {
  max-width: 780px;
  margin: 0;
  overflow-wrap: anywhere;
  color: #626860;
  font-size: 11px;
  line-height: 1.6;
  white-space: pre-wrap;
}

.notifications-item-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-width: 0;
  gap: 10px 18px;
}

.notifications-item-footer > span {
  color: #7a8079;
  font-size: 8px;
  font-weight: 750;
  text-transform: uppercase;
}

.notifications-item-footer a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--communications-green-dark);
  font-size: 10px;
  font-weight: 700;
}

.notifications-item-footer a .ui-icon {
  width: 14px;
  height: 14px;
}

.notifications-item-footer a:focus-visible {
  outline: 2px solid rgba(36, 95, 85, 0.4);
  outline-offset: 3px;
}

.notifications-read-button {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #cbd0c9;
  border-radius: 50%;
  background: transparent;
  color: var(--communications-green);
  cursor: pointer;
}

.notifications-read-button:hover,
.notifications-read-button:focus-visible {
  border-color: var(--communications-green);
  background: #e9f0ec;
  outline: none;
}

.notifications-read-button:focus-visible {
  box-shadow: 0 0 0 3px rgba(36, 95, 85, 0.18);
}

.notifications-read-button[aria-busy="true"] {
  cursor: wait;
  opacity: 0.5;
}

.inbox-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto minmax(140px, 190px);
  align-items: end;
  min-width: 0;
  gap: 12px;
  min-height: 70px;
  padding: 13px 0 15px;
  border-top: 1px solid var(--communications-line);
}

.inbox-search {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  min-height: 40px;
  gap: 10px;
  border-bottom: 1px solid #c5cac3;
  color: #727870;
}

.inbox-search:focus-within {
  border-bottom-color: var(--communications-green);
  color: var(--communications-green);
}

.inbox-search input {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--communications-ink);
  font: 500 12px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.inbox-search input:focus {
  outline: none;
}

.inbox-search input::placeholder {
  color: #898f87;
  opacity: 1;
}

.inbox-filters > button {
  min-height: 38px;
  padding: 0 4px;
  border: 0;
  border-bottom: 1px solid #727a72;
  border-radius: 0;
  background: transparent;
  color: var(--communications-green-dark);
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.inbox-filters > button:hover,
.inbox-filters > button:focus-visible {
  border-bottom-color: var(--communications-green);
  outline: none;
}

.inbox-filters > button:focus-visible {
  box-shadow: 0 3px 0 rgba(36, 95, 85, 0.2);
}

.inbox-status-filter {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.inbox-status-filter > span {
  color: #737970;
  font-size: 8px;
  font-weight: 750;
  text-transform: uppercase;
}

.inbox-status-filter select {
  width: 100%;
  min-height: 36px;
  padding: 0 24px 0 0;
  border: 0;
  border-bottom: 1px solid #c5cac3;
  border-radius: 0;
  background: transparent;
  color: var(--communications-ink);
  font: 600 11px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.inbox-status-filter select:focus {
  border-bottom-color: var(--communications-green);
  outline: none;
}

.inbox-workspace {
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr);
  align-items: start;
  min-width: 0;
  border-top: 1px solid var(--communications-line);
  border-bottom: 1px solid var(--communications-line);
  background: #fff;
}

.inbox-inventory {
  min-width: 0;
  border-right: 1px solid var(--communications-line);
  background: #fff;
}

.inbox-inventory > header {
  display: flex;
  align-items: center;
  min-height: 56px;
  padding: 12px 17px;
  border-bottom: 1px solid var(--communications-soft-line);
}

.inbox-inventory > header > div {
  display: flex;
  align-items: baseline;
  min-width: 0;
  gap: 10px;
}

.inbox-inventory h2 {
  margin: 0;
  color: #2c302b;
  font: 650 14px/1.3 Inter, "Helvetica Neue", Arial, sans-serif;
}

.inbox-inventory > header span {
  color: var(--communications-muted);
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

.inbox-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.inbox-list-item {
  min-width: 0;
  border-bottom: 1px solid var(--communications-soft-line);
}

.inbox-list-item:last-child {
  border-bottom: 0;
}

.inbox-list-item > button {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: 6px;
  padding: 16px 17px;
  border: 0;
  border-left: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--communications-ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.inbox-list-item > button:hover,
.inbox-list-item > button:focus-visible,
.inbox-list-item.is-active > button {
  border-left-color: var(--communications-green);
  background: #f2f6f2;
  outline: none;
}

.inbox-list-item[data-unread="true"] > button {
  border-left-color: #6a8f82;
  background: #f8faf7;
}

.inbox-list-item > button:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(36, 95, 85, 0.28);
}

.inbox-list-item-top,
.inbox-list-item-bottom {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  min-width: 0;
  gap: 12px;
}

.inbox-list-item-top strong {
  min-width: 0;
  overflow: hidden;
  color: #30342f;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inbox-list-item-top time {
  flex: 0 0 auto;
  color: #81867f;
  font-size: 8px;
  white-space: nowrap;
}

.inbox-list-item-title,
.inbox-list-item-preview {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inbox-list-item-title {
  color: #252925;
  font-size: 12px;
  font-weight: 650;
}

.inbox-list-item-preview {
  color: #747a72;
  font-size: 10px;
}

.inbox-list-item-bottom .inbox-list-reference {
  margin-left: auto;
  min-width: 0;
  overflow: hidden;
  color: #858a83;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inbox-list-item-bottom .inbox-unread-count {
  flex: 0 0 auto;
  color: var(--communications-green);
  font-size: 8px;
  font-weight: 750;
  white-space: nowrap;
}

.inbox-status {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 19px;
  padding: 0 7px;
  border: 1px solid #bdc5bd;
  border-radius: 8px;
  color: #56635b;
  font-size: 8px;
  font-weight: 750;
  text-transform: uppercase;
}

.inbox-status[data-status="open"] {
  border-color: #a9c4ba;
  color: var(--communications-green);
}

.inbox-status[data-status="replied"] {
  border-color: #bac4ac;
  color: #526448;
}

.inbox-status[data-status="closed"] {
  border-color: #c9cbc5;
  color: #777c75;
}

.inbox-detail-region {
  min-width: 0;
  min-height: 620px;
  background: #fff;
}

.inbox-mobile-toolbar {
  display: none;
}

.inbox-detail-state {
  min-height: 620px;
  justify-content: center;
  border-bottom: 0;
  text-align: left;
}

.inbox-detail {
  min-width: 0;
}

.inbox-detail-header {
  min-width: 0;
  padding: 27px clamp(20px, 2.7vw, 38px) 24px;
  border-bottom: 1px solid var(--communications-soft-line);
}

.inbox-detail-meta-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  gap: 16px;
}

.inbox-detail-meta-line > span:last-child {
  min-width: 0;
  overflow: hidden;
  color: #7e847c;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inbox-detail-header h2 {
  margin: 16px 0 7px;
  overflow-wrap: anywhere;
  color: #242824;
  font: 400 32px/1.15 Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

.inbox-detail-header h2:focus {
  outline: none;
}

.inbox-detail-header > p {
  margin: 0;
  overflow-wrap: anywhere;
  color: #697068;
  font-size: 11px;
}

.inbox-detail-commands {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-width: 0;
  gap: 8px 18px;
  margin-top: 17px;
}

.inbox-detail-commands a,
.inbox-detail-commands button {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  gap: 6px;
  padding: 0 2px;
  border: 0;
  border-bottom: 1px solid #8d9f96;
  border-radius: 0;
  background: transparent;
  color: var(--communications-green-dark);
  cursor: pointer;
  font: 700 9px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.inbox-detail-commands [data-inbox-status-action] {
  margin-left: auto;
  border-bottom-color: #8a6f69;
  color: #6f3933;
}

.inbox-detail-commands a:hover,
.inbox-detail-commands a:focus-visible,
.inbox-detail-commands button:hover,
.inbox-detail-commands button:focus-visible {
  border-bottom-color: currentColor;
  outline: none;
  box-shadow: 0 3px 0 rgba(36, 95, 85, 0.16);
}

.inbox-detail-commands button:disabled {
  border-bottom-color: #c4c8c2;
  color: #959a94;
  cursor: wait;
}

.inbox-detail-commands .ui-icon {
  width: 15px;
  height: 15px;
}

.inbox-manual-delivery-note {
  max-width: 600px;
  margin-top: 11px !important;
  color: #727a73 !important;
  font-size: 9px !important;
  line-height: 1.5;
}

.inbox-status-notice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-width: 0;
  gap: 12px;
  margin-top: 14px;
  padding: 10px 12px;
  border-left: 2px solid #8a3932;
  background: #fbf4f2;
}

.inbox-status-notice:focus {
  outline: 2px solid rgba(138, 57, 50, 0.3);
  outline-offset: 2px;
}

.inbox-status-notice p {
  margin: 0;
  overflow-wrap: anywhere;
  color: #6e2d27;
  font-size: 9px;
  line-height: 1.5;
}

.inbox-status-notice button {
  min-height: 30px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: #6e2d27;
  cursor: pointer;
  font: 700 9px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.inbox-status-notice button:focus-visible {
  outline: 2px solid rgba(110, 45, 39, 0.35);
  outline-offset: 3px;
}

.inbox-context,
.inbox-transcript,
.inbox-reply-form {
  min-width: 0;
  padding: 22px clamp(20px, 2.7vw, 38px);
  border-bottom: 1px solid var(--communications-soft-line);
}

.inbox-context > h3,
.inbox-section-heading h3 {
  margin: 0;
  color: #666c65;
  font: 750 9px/1.3 Inter, "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
}

.inbox-context dl {
  display: grid;
  grid-template-columns: minmax(110px, 0.45fr) minmax(0, 1.55fr);
  margin: 14px 0 0;
}

.inbox-context dt,
.inbox-context dd {
  min-width: 0;
  margin: 0;
  padding: 8px 0;
  border-top: 1px solid #eceee9;
  font-size: 10px;
  line-height: 1.55;
}

.inbox-context dt {
  padding-right: 14px;
  color: #7b8179;
}

.inbox-context dd {
  overflow-wrap: anywhere;
  color: #353a35;
  font-weight: 560;
}

.inbox-context dd ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.inbox-context dd a {
  color: var(--communications-green-dark);
  border-bottom: 1px solid #adc1b8;
}

.inbox-context dd a:focus-visible {
  outline: 2px solid rgba(36, 95, 85, 0.4);
  outline-offset: 2px;
}

.inbox-section-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  min-width: 0;
  gap: 16px;
}

.inbox-section-heading span {
  color: #80867e;
  font-size: 8px;
  font-variant-numeric: tabular-nums;
}

.inbox-transcript > ol {
  display: grid;
  gap: 10px;
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}

.inbox-transcript > ol > li {
  min-width: 0;
  padding: 14px 15px;
  border: 1px solid #dfe3dc;
  border-radius: 4px;
  background: #fafbf8;
}

.inbox-transcript > ol > li[data-mine="true"] {
  border-color: #c8d7d0;
  background: #f1f6f2;
}

.inbox-transcript li header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  min-width: 0;
  gap: 14px;
}

.inbox-transcript li header strong {
  min-width: 0;
  overflow: hidden;
  color: #343934;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inbox-transcript li header time {
  flex: 0 0 auto;
  color: #838981;
  font-size: 8px;
  white-space: nowrap;
}

.inbox-transcript li p {
  margin: 9px 0 0;
  overflow-wrap: anywhere;
  color: #4f554f;
  font-size: 11px;
  line-height: 1.65;
  white-space: pre-wrap;
}

.inbox-transcript li small {
  display: block;
  margin-top: 8px;
  color: #838981;
  font-size: 8px;
}

.inbox-reply-form {
  display: grid;
  gap: 13px;
  border-bottom: 0;
  background: #f7f8f5;
}

.inbox-reply-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 132px;
  padding: 12px;
  border: 1px solid #cbd0c9;
  border-radius: 4px;
  background: #fff;
  color: var(--communications-ink);
  font: 500 12px/1.65 Inter, "Helvetica Neue", Arial, sans-serif;
  resize: vertical;
}

.inbox-reply-form textarea:focus {
  border-color: var(--communications-green);
  outline: 2px solid rgba(36, 95, 85, 0.16);
  outline-offset: 1px;
}

.inbox-reply-form textarea[aria-invalid="true"] {
  border-color: #8a3932;
}

.inbox-reply-form textarea:disabled {
  background: #eff1ed;
  color: #777d76;
  cursor: not-allowed;
}

.inbox-reply-error {
  min-height: 16px;
  margin: -5px 0 0;
  color: #7e332d;
  font-size: 10px;
  line-height: 1.45;
}

.inbox-reply-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  gap: 18px;
}

.inbox-reply-actions p {
  max-width: 440px;
  margin: 0;
  overflow-wrap: anywhere;
  color: #737970;
  font-size: 9px;
  line-height: 1.5;
}

.inbox-reply-actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 40px;
  gap: 7px;
  padding: 0 16px;
  border: 1px solid var(--communications-green);
  border-radius: 4px;
  background: var(--communications-green);
  color: #fff;
  box-shadow: none;
  font-size: 10px;
}

.inbox-reply-actions .button:hover,
.inbox-reply-actions .button:focus-visible {
  border-color: var(--communications-green-dark);
  background: var(--communications-green-dark);
  outline: none;
  box-shadow: 0 0 0 3px rgba(36, 95, 85, 0.17);
}

.inbox-reply-actions .button:disabled {
  border-color: #aeb5ae;
  background: #aeb5ae;
  cursor: not-allowed;
}

.communications-page > .workspace-footer {
  width: 100%;
  margin-left: 0;
}

.communications-page .contact-toast[data-type="success"] {
  background: #315e45;
}

.communications-page .contact-toast[data-type="error"] {
  background: #752f29;
}

/* Contact now records inquiries in the application instead of opening mailto. */
.contact-page {
  background: #fbfcfa;
}

.contact-page::before {
  display: none;
}

.contact-page .contact-main {
  max-width: 1320px;
}

.contact-page .contact-page-layout {
  grid-template-columns: minmax(0, 0.82fr) minmax(380px, 0.7fr);
}

.contact-page .contact-page-intro h1 {
  color: #1d231f;
  font-size: 48px;
}

.contact-page .contact-page-intro p {
  color: #59645e;
}

.contact-page .contact-page-art {
  border: 1px solid #dce0da;
  background-image: url("assets/art/hero-ci-jian.jpg");
  filter: grayscale(1) contrast(1.02);
}

.contact-page .contact-page-form {
  border-top-color: #cbd1ca;
}

.contact-page .form-field input,
.contact-page .form-field textarea,
.contact-page .form-field select {
  border-bottom-color: #bfc6be;
}

.contact-page .form-field input:focus,
.contact-page .form-field textarea:focus,
.contact-page .form-field select:focus {
  border-color: #245f55;
  background: transparent;
  box-shadow: none;
}

.contact-page .form-field.is-focused label {
  color: #245f55;
}

.contact-page .contact-submit {
  min-width: 156px;
  border-color: #245f55;
  border-radius: 4px;
  background: #245f55;
  box-shadow: none;
}

.contact-page .contact-submit:hover,
.contact-page .contact-submit:focus-visible {
  border-color: #173f37;
  background: #173f37;
  box-shadow: 0 0 0 3px rgba(36, 95, 85, 0.17);
  filter: none;
}

.contact-page .contact-submit:disabled {
  border-color: #aab2ab;
  background: #aab2ab;
  cursor: not-allowed;
}

.contact-page .contact-privacy {
  color: #69736c;
}

.contact-page .contact-privacy a {
  border-bottom: 1px solid #91a99f;
  color: #173f37;
  font-weight: 650;
}

.contact-page .contact-privacy a:focus-visible {
  outline: 2px solid rgba(36, 95, 85, 0.4);
  outline-offset: 3px;
}

.contact-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.contact-page-form[data-submitted="true"] > :not(.contact-success) {
  display: none;
}

.contact-success {
  display: grid;
  gap: 12px;
  padding: 24px 0;
  border-top: 1px solid #b9cbc3;
  border-bottom: 1px solid #b9cbc3;
  color: #29322d;
}

.contact-success:focus {
  outline: none;
}

.contact-success .section-kicker {
  margin: 0;
  color: #245f55;
  font-size: 9px;
  font-weight: 750;
  text-transform: uppercase;
}

.contact-success h2 {
  margin: 0;
  overflow-wrap: anywhere;
  color: #1e2923;
  font: 400 27px/1.2 Georgia, "Times New Roman", serif;
}

.contact-success h2 strong {
  font: inherit;
}

.contact-success > p:not(.section-kicker) {
  max-width: 520px;
  margin: 0;
  overflow-wrap: anywhere;
  color: #626d66;
  font-size: 12px;
  line-height: 1.6;
}

.contact-success button {
  justify-self: start;
  min-height: 36px;
  padding: 0 2px;
  border: 0;
  border-bottom: 1px solid #245f55;
  border-radius: 0;
  background: transparent;
  color: #173f37;
  cursor: pointer;
  font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
}

.contact-success button:focus-visible {
  outline: 2px solid rgba(36, 95, 85, 0.4);
  outline-offset: 3px;
}

@keyframes communications-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 1024px) {
  .communications-shell {
    padding-right: 26px;
    padding-left: 26px;
  }

  .communications-header {
    padding-right: 26px;
    padding-left: 26px;
  }

  .communications-header .site-nav {
    gap: 18px;
  }

  .inbox-workspace {
    grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
  }

  .contact-page .contact-page-layout {
    grid-template-columns: minmax(0, 0.78fr) minmax(360px, 0.92fr);
    gap: 46px;
  }
}

@media (max-width: 760px) {
  .communications-header {
    min-height: 68px;
    padding: 0 14px;
  }

  .communications-header .brand-mark span:last-child,
  .communications-header .site-nav {
    display: none;
  }

  .communications-header .header-identity-slot {
    margin-left: auto;
  }

  .communications-shell {
    padding: 84px 15px 34px;
  }

  .communications-command {
    align-items: center;
    padding: 18px 0;
  }

  .communications-command h1 {
    font-size: 35px;
  }

  .notifications-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 11px;
  }

  .communications-segments {
    width: 100%;
  }

  .communications-segments button {
    flex: 1 1 50%;
    min-width: 0;
  }

  .notifications-mark-all {
    align-self: flex-start;
  }

  .notifications-feed > header {
    padding-right: 14px;
    padding-left: 14px;
  }

  .notifications-item {
    grid-template-columns: 30px minmax(0, 1fr) 34px;
    gap: 10px;
    padding: 16px 12px;
  }

  .notifications-item-marker {
    width: 30px;
    height: 30px;
  }

  .notifications-item-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .notifications-item-heading time {
    white-space: normal;
  }

  .notifications-read-button {
    width: 34px;
    height: 34px;
  }

  .inbox-filters {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 9px;
    padding: 12px 0 14px;
  }

  .inbox-status-filter {
    grid-column: 1 / -1;
  }

  .inbox-workspace {
    display: block;
    scroll-margin-top: 68px;
  }

  .inbox-workspace[data-mobile-view="list"] .inbox-detail-region,
  .inbox-workspace[data-mobile-view="detail"] .inbox-inventory {
    display: none;
  }

  .inbox-inventory {
    border-right: 0;
  }

  .inbox-detail-region,
  .inbox-detail-state {
    min-height: 540px;
  }

  .inbox-mobile-toolbar {
    position: sticky;
    top: 68px;
    z-index: 5;
    display: flex;
    min-height: 48px;
    padding: 0 14px;
    border-bottom: 1px solid var(--communications-soft-line);
    background: rgba(251, 252, 249, 0.98);
  }

  .inbox-mobile-toolbar button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--communications-green-dark);
    cursor: pointer;
    font: 700 10px/1 Inter, "Helvetica Neue", Arial, sans-serif;
  }

  .inbox-mobile-toolbar button:focus-visible {
    outline: 2px solid rgba(36, 95, 85, 0.4);
    outline-offset: 3px;
  }

  .inbox-detail-header,
  .inbox-context,
  .inbox-transcript,
  .inbox-reply-form {
    padding-right: 16px;
    padding-left: 16px;
  }

  .inbox-detail-header h2 {
    font-size: 28px;
  }

  .inbox-detail-commands [data-inbox-status-action] {
    margin-left: 0;
  }

  .inbox-status-notice {
    grid-template-columns: minmax(0, 1fr);
  }

  .inbox-status-notice button {
    justify-self: start;
  }

  .inbox-context dl {
    grid-template-columns: minmax(92px, 0.42fr) minmax(0, 1.58fr);
  }

  .inbox-reply-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .inbox-reply-actions .button {
    align-self: stretch;
    width: 100%;
  }

  .contact-page .contact-page-intro h1 {
    font-size: 38px;
  }

  .contact-page .contact-page-layout {
    display: block;
  }
}

@media (max-width: 420px) {
  .notifications-item {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .notifications-read-button {
    grid-column: 2;
    justify-self: start;
    width: 32px;
    height: 32px;
  }

  .inbox-filters {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .inbox-filters > button[data-inbox-clear] {
    grid-column: 2;
  }

  .inbox-status-filter {
    grid-column: 1 / -1;
  }

  .inbox-context dl {
    grid-template-columns: minmax(80px, 0.38fr) minmax(0, 1.62fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .communications-spinner {
    animation: none;
  }
}

/* Public Lightbox: a quiet private edit, not an account dashboard. */
.lightbox-page .lightbox-main {
  width: min(1600px, 100%);
  padding: 132px clamp(24px, 4vw, 64px) 96px;
}

.lightbox-page .lightbox-heading {
  grid-template-columns: minmax(300px, 1fr) auto;
  gap: 48px;
  align-items: end;
  padding-bottom: 42px;
  border-bottom: 1px solid #d9dbd6;
}

.lightbox-page .lightbox-heading .section-kicker {
  margin: 0 0 14px;
  color: #6c716b;
  font: 650 10px/1.2 var(--editorial-sans, Inter, "Helvetica Neue", Arial, sans-serif);
  letter-spacing: 0;
  text-transform: uppercase;
}

.lightbox-page .lightbox-heading h1 {
  margin: 0;
  color: #111311;
  font: 500 68px/0.98 var(--editorial-serif, Georgia, "Times New Roman", serif);
  letter-spacing: 0;
  text-transform: none;
}

.lightbox-page .lightbox-heading-meta {
  min-width: 180px;
  text-align: right;
}

.lightbox-page .lightbox-summary,
.lightbox-page .lightbox-local-note {
  max-width: none;
  margin: 0;
  color: #232623;
  font: 600 13px/1.45 var(--editorial-sans, Inter, "Helvetica Neue", Arial, sans-serif);
}

.lightbox-page .lightbox-local-note {
  margin-top: 5px;
  color: #747972;
  font-size: 11px;
  font-weight: 450;
}

.lightbox-page .lightbox-actions {
  position: sticky;
  top: var(--public-header-height, 64px);
  z-index: 16;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  min-height: 68px;
  padding: 12px 0;
  border-bottom: 1px solid #d9dbd6;
  background: #fff;
}

.lightbox-page .lightbox-actions[hidden] {
  display: none;
}

.lightbox-page .lightbox-selection-count {
  color: #2f342f;
  font: 650 11px/1.2 var(--editorial-sans, Inter, "Helvetica Neue", Arial, sans-serif);
  font-variant-numeric: tabular-nums;
  text-align: left;
  white-space: nowrap;
}

.lightbox-page .lightbox-selection-tools,
.lightbox-page .lightbox-primary-tools {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lightbox-page .lightbox-primary-tools {
  justify-content: flex-end;
}

.lightbox-page .lightbox-actions .button {
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid #cfd2cc;
  border-radius: 2px;
  box-shadow: none;
  font: 650 12px/1 var(--editorial-sans, Inter, "Helvetica Neue", Arial, sans-serif);
}

.lightbox-page .lightbox-actions .button-secondary {
  background: transparent;
  color: #202320;
}

.lightbox-page .lightbox-actions .button-secondary:hover,
.lightbox-page .lightbox-actions .button-secondary:focus-visible {
  border-color: #565c55;
  background: #f5f6f3;
}

.lightbox-page .lightbox-actions .button-primary {
  border-color: #1f5146;
  background: #1f5146;
  color: #fff;
}

.lightbox-page .lightbox-actions .button:disabled {
  border-color: #e0e2de;
  background: #f2f3f0;
  color: #8b908a;
  opacity: 1;
  cursor: not-allowed;
}

.lightbox-page .lightbox-actions .lightbox-remove-all {
  border-color: transparent;
  color: #823b34;
}

.lightbox-page .archive-data-status {
  min-height: 18px;
  margin: 18px 0 0;
  color: #747972;
  font: 450 11px/1.4 var(--editorial-sans, Inter, "Helvetica Neue", Arial, sans-serif);
  text-align: right;
}

.lightbox-page .lightbox-gallery {
  columns: 3 320px;
  column-gap: 14px;
  padding-top: 30px;
}

.lightbox-page .lightbox-item {
  margin-bottom: 30px;
}

.lightbox-page .lightbox-image-link {
  outline: 2px solid transparent;
  outline-offset: 3px;
}

.lightbox-page .lightbox-item.is-inquiry-selected .lightbox-image-link {
  outline-color: #1f5146;
}

.lightbox-page .lightbox-inquiry-toggle {
  top: 10px;
  left: 10px;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(17, 19, 17, 0.72);
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.94);
  color: transparent;
  box-shadow: none;
}

.lightbox-page .lightbox-inquiry-toggle:hover,
.lightbox-page .lightbox-inquiry-toggle:focus-visible {
  border-color: #111311;
  background: #fff;
}

.lightbox-page .lightbox-inquiry-toggle[aria-pressed="true"] {
  border-color: #1f5146;
  background: #1f5146;
  color: #fff;
}

.lightbox-page .lightbox-item figure {
  background: #f1f2ef;
}

.lightbox-page .lightbox-item-copy {
  gap: 16px;
  padding: 11px 0 0;
  border-top: 1px solid #d9dbd6;
}

.lightbox-page .lightbox-item h2 {
  font: 650 13px/1.35 var(--editorial-sans, Inter, "Helvetica Neue", Arial, sans-serif);
}

.lightbox-page .lightbox-item p,
.lightbox-page .lightbox-item-copy button {
  font: 450 11px/1.4 var(--editorial-sans, Inter, "Helvetica Neue", Arial, sans-serif);
}

.lightbox-page .lightbox-empty {
  min-height: 300px;
  padding: 80px 24px;
  border-bottom: 1px solid #d9dbd6;
}

@media (max-width: 760px) {
  .lightbox-page .lightbox-main {
    padding: 104px 18px 72px;
  }

  .lightbox-page .lightbox-heading {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    padding-bottom: 30px;
  }

  .lightbox-page .lightbox-heading h1 {
    font-size: 52px;
  }

  .lightbox-page .lightbox-heading-meta {
    min-width: 0;
  }

  .lightbox-page .lightbox-actions {
    position: static;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 12px;
    padding: 14px 0;
  }

  .lightbox-page .lightbox-selection-count {
    grid-column: 1 / -1;
  }

  .lightbox-page .lightbox-selection-tools {
    min-width: 0;
  }

  .lightbox-page .lightbox-primary-tools {
    grid-column: 1 / -1;
    justify-content: stretch;
  }

  .lightbox-page .lightbox-primary-tools .button-primary {
    flex: 1 1 auto;
  }

  .lightbox-page .lightbox-actions .button {
    width: auto;
    min-height: 44px;
  }

  .lightbox-page .lightbox-gallery {
    columns: 2 230px;
    column-gap: 10px;
    padding-top: 24px;
  }

  .lightbox-page .lightbox-inquiry-toggle {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 560px) {
  .lightbox-page .lightbox-heading {
    display: block;
  }

  .lightbox-page .lightbox-heading-meta {
    margin-top: 22px;
    text-align: left;
  }

  .lightbox-page .lightbox-gallery {
    columns: 1;
  }

  .lightbox-page .lightbox-selection-tools,
  .lightbox-page .lightbox-primary-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lightbox-page .lightbox-actions .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lightbox-page .lightbox-item,
  .lightbox-page .lightbox-image-link,
  .lightbox-page .lightbox-inquiry-toggle {
    animation: none;
    transition: none;
  }
}

/* Quiet editorial global header and compact Works archive, July 24 2026. */
:root {
  --global-header-height: 64px;
  --global-canvas: #f7f7f4;
  --global-ink: #171817;
  --global-muted: #696b67;
  --global-line: rgba(23, 24, 23, 0.14);
  --global-accent: #244f45;
}

[data-global-header] {
  position: fixed;
  inset: 0 0 auto;
  z-index: 120;
  display: grid;
  grid-template-columns: max-content minmax(260px, 500px) max-content 1px max-content max-content;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: var(--global-header-height);
  min-height: var(--global-header-height);
  gap: clamp(10px, 1.25vw, 22px);
  padding: 0 clamp(18px, 2.35vw, 38px);
  border-bottom: 1px solid var(--global-line);
  background: #fbfbf9;
  color: var(--global-ink);
  box-shadow: none;
  backdrop-filter: none;
}

[data-global-header] .global-header-brand {
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  margin: 0;
  color: inherit;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1;
  white-space: nowrap;
}

[data-global-header] .global-header-brand span:first-child {
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -0.025em;
}

[data-global-header] .global-header-brand span:last-child {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.015em;
}

.global-header-search {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px;
  width: min(500px, 100%);
  height: 40px;
  border: 1px solid rgba(23, 24, 23, 0.2);
  border-radius: 999px;
  background: #f4f4f1;
  box-shadow: none;
  transition: border-color 160ms ease, background-color 160ms ease;
}

.global-header-search:focus-within {
  border-color: var(--global-accent);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(36, 79, 69, 0.13);
}

.global-header-search-input {
  min-width: 0;
  width: 100%;
  height: 38px;
  padding: 0 4px 0 17px;
  border: 0;
  border-radius: 999px 0 0 999px;
  outline: 0;
  background: transparent;
  color: var(--global-ink);
  font: 500 13px/1 Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

.global-header-search-input::placeholder { color: #777a75; opacity: 1; }

.global-header-search-submit {
  display: grid;
  place-items: center;
  width: 40px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 0 999px 999px 0;
  background: transparent;
  color: var(--global-muted);
  cursor: pointer;
}

.global-header-search-submit:focus-visible {
  outline: 2px solid var(--global-accent);
  outline-offset: -3px;
}

.global-header-search-icon {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.7;
}

.global-header-search-results {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  z-index: 150;
  overflow: hidden;
  border: 1px solid var(--global-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(23, 24, 23, 0.11);
}

.global-header-search-result {
  display: grid;
  gap: 3px;
  min-height: 52px;
  padding: 10px 15px;
  border-bottom: 1px solid rgba(23, 24, 23, 0.09);
  color: var(--global-ink);
}

.global-header-search-result:last-child { border-bottom: 0; }
.global-header-search-result:hover,
.global-header-search-result:focus-visible,
.global-header-search-result.is-active {
  outline: 0;
  background: #f1f3ef;
}
.global-header-search-result strong { font-size: 12px; line-height: 1.35; }
.global-header-search-result span { color: var(--global-muted); font-size: 11px; line-height: 1.3; }
.global-header-search-status { margin: 0; padding: 15px; color: var(--global-muted); font-size: 12px; }
.global-header-search-status[data-tone="error"] { color: #7a3732; }

[data-global-header] .global-header-nav {
  display: flex;
  align-self: stretch;
  align-items: center;
  width: auto;
  margin: 0;
  gap: clamp(13px, 1.35vw, 23px);
  color: inherit;
  font: 650 13px/1 Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  white-space: nowrap;
}

[data-global-header] .global-header-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  color: inherit;
}

[data-global-header] .global-header-nav a::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--global-accent);
  content: "";
  opacity: 0;
  transform: scaleX(0.55);
  transition: opacity 150ms ease, transform 150ms ease;
}

[data-global-header] .global-header-nav a:hover::after,
[data-global-header] .global-header-nav a:focus-visible::after,
[data-global-header] .global-header-nav a[aria-current="page"]::after {
  opacity: 1;
  transform: scaleX(1);
}

[data-global-header] .global-header-nav a:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(36, 79, 69, 0.22);
}

[data-global-header] .global-header-nav [data-lightbox-count] {
  margin-left: 3px;
  color: var(--global-muted);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.global-header-account-divider {
  width: 1px;
  height: 24px;
  background: var(--global-line);
}

[data-global-header] > .header-identity-slot {
  order: initial;
  min-width: 73px;
  margin: 0;
}

[data-global-header] .header-identity-slot .account-menu {
  width: 73px;
  margin: 0;
  gap: 3px;
}

[data-global-header] .account-profile-link,
[data-global-header] .header-identity-unavailable {
  width: 38px;
  height: 38px;
  border-color: rgba(23, 24, 23, 0.18);
  background: #f1f2ef;
  color: #263b36;
}

[data-global-header] .account-menu-trigger {
  width: 32px;
  height: 40px;
  color: var(--global-muted);
}

[data-global-header] .public-nav-toggle { margin: 0; }

.account-menu-popover {
  top: calc(100% + 8px);
  width: min(352px, calc(100vw - 24px));
  border: 1px solid var(--global-line);
  border-radius: 8px;
  background: #fbfbf9;
  color: var(--global-ink);
  box-shadow: 0 8px 24px rgba(23, 24, 23, 0.12);
}

.account-menu-identity {
  grid-template-columns: 58px minmax(0, 1fr);
  padding: 19px;
  border-bottom-color: var(--global-line);
}

.account-menu-avatar {
  position: relative;
  overflow: hidden;
  background: #263b36;
}

.account-menu-avatar > [data-account-menu-avatar-initials],
.account-menu-avatar > [data-account-menu-image] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
}

.account-menu-avatar > [data-account-menu-avatar-initials] { display: grid; place-items: center; }
.account-menu-avatar > [data-account-menu-image] { object-fit: cover; opacity: 0; transition: opacity 180ms ease; }
.account-menu-avatar.is-image-ready > [data-account-menu-avatar-initials] { opacity: 0; }
.account-menu-avatar.is-image-ready > [data-account-menu-image] { opacity: 1; }

.account-menu-identity-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.account-menu-identity-copy > strong,
.account-menu-identity-copy > span,
.account-menu-identity-copy > em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-menu-identity-copy > span { color: var(--global-muted); font-size: 11px; line-height: 1.35; }
.account-menu-identity-copy > em { color: var(--global-accent); font-size: 10px; font-style: normal; font-weight: 700; }
.account-menu-links { padding: 7px 0; }
.account-menu-links a,
.account-menu-signout { min-height: 44px; padding: 0 19px; color: var(--global-ink); }
.account-menu-links a:hover,
.account-menu-links a:focus-visible,
.account-menu-links a[aria-current="page"],
.account-menu-signout:hover,
.account-menu-signout:focus-visible { background: #f0f1ed; color: var(--global-accent); }
.account-menu-signout { border-top-color: var(--global-line); color: #7a3732; }

.home-page:not(.is-scrolled) [data-global-header] {
  border-bottom-color: rgba(255, 255, 255, 0.22);
  background: transparent;
  color: #fff;
}

.home-page:not(.is-scrolled) [data-global-header] .global-header-search {
  border-color: rgba(255, 255, 255, 0.36);
  background: rgba(10, 14, 13, 0.34);
}
.home-page:not(.is-scrolled) [data-global-header] .global-header-search-input { color: #fff; }
.home-page:not(.is-scrolled) [data-global-header] .global-header-search-input::placeholder { color: rgba(255, 255, 255, 0.72); }
.home-page:not(.is-scrolled) [data-global-header] .global-header-search-submit,
.home-page:not(.is-scrolled) [data-global-header] .account-menu-trigger { color: #fff; }
.home-page:not(.is-scrolled) [data-global-header] .global-header-account-divider { background: rgba(255, 255, 255, 0.28); }
.home-page:not(.is-scrolled) [data-global-header] .global-header-nav a::after { background: #fff; }
.home-page:not(.is-scrolled) [data-global-header] .global-header-nav [data-lightbox-count] { color: rgba(255, 255, 255, 0.7); }
.home-page:not(.is-scrolled) [data-global-header] .account-menu-popover {
  border-color: rgba(255, 255, 255, 0.16);
  background: #171a19;
  color: #fff;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.28);
}
.home-page:not(.is-scrolled) [data-global-header] .account-menu-identity,
.home-page:not(.is-scrolled) [data-global-header] .account-menu-signout { border-color: rgba(255, 255, 255, 0.14); }
.home-page:not(.is-scrolled) [data-global-header] .account-menu-identity-copy > span { color: rgba(255, 255, 255, 0.65); }
.home-page:not(.is-scrolled) [data-global-header] .account-menu-identity-copy > em { color: #9fbab2; }
.home-page:not(.is-scrolled) [data-global-header] .account-menu-links a { color: #fff; }
.home-page:not(.is-scrolled) [data-global-header] .account-menu-links a:hover,
.home-page:not(.is-scrolled) [data-global-header] .account-menu-links a:focus-visible { background: rgba(255, 255, 255, 0.08); color: #fff; }
.home-page:not(.is-scrolled) [data-global-header] .account-menu-signout { color: #d89a92; }

.archive-page .archive-main {
  min-height: 100vh;
  padding: calc(var(--global-header-height) + 30px) 0 64px;
}

.archive-page .archive-controls {
  position: sticky;
  inset: var(--global-header-height) 0 auto;
  z-index: 18;
  padding: 0 28px;
  border: 0;
  border-bottom: 1px solid var(--global-line);
  background: #fff;
  backdrop-filter: none;
}

.archive-page .archive-discovery-bar { min-height: 48px; gap: 28px; }
.archive-page .filter-group + .filter-group::before { background: var(--global-line); }
.archive-page .filter-button { min-height: 48px; color: var(--global-muted); font-size: 13px; }
.archive-page .filter-button::after { height: 2px; background: var(--global-accent); }
.archive-page .filter-button:hover,
.archive-page .filter-button:focus-visible,
.archive-page .filter-button.is-active { color: var(--global-ink); }
.archive-page .archive-gallery-section { padding: 18px 28px 0; }
.archive-page .archive-gallery { column-count: 4; column-gap: 18px; }
.archive-page .archive-item { margin-bottom: 18px; }
.archive-page .archive-gallery.is-ratio-filtered {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.archive-page .archive-hover-icon[data-card-action="lightbox"].is-active,
.archive-page .work-viewer-action-button[data-viewer-action="lightbox"].is-active {
  border-color: var(--global-accent);
  background: var(--global-accent);
  color: #fff;
}
.archive-page .archive-toast[data-type="default"] { background: var(--global-accent); color: #fff; }

@media (max-width: 1180px) {
  [data-global-header] {
    grid-template-columns: max-content minmax(210px, 330px) max-content 1px max-content max-content;
    gap: 10px;
    padding-right: 20px;
    padding-left: 20px;
  }
  [data-global-header] .global-header-nav { gap: 14px; font-size: 12px; }
}

@media (max-width: 900px) {
  [data-global-header] { grid-template-columns: max-content 44px minmax(0, 1fr) 1px max-content max-content; }
  .global-header-search { grid-template-columns: 0 42px; width: 44px; justify-self: end; }
  .global-header-search-input { width: 0; padding: 0; opacity: 0; pointer-events: none; }
  .global-header-search-submit { border-radius: 999px; }
  .global-header-search.is-search-open {
    position: absolute;
    right: 130px;
    left: 132px;
    z-index: 160;
    grid-template-columns: minmax(0, 1fr) 40px;
    width: auto;
    background: #fff;
  }
  .global-header-search.is-search-open .global-header-search-input {
    width: 100%;
    padding: 0 4px 0 17px;
    opacity: 1;
    pointer-events: auto;
  }
}

@media (max-width: 760px) {
  [data-global-header] {
    grid-template-columns: max-content 44px minmax(0, 1fr) max-content max-content;
    gap: 5px;
    padding-right: 14px;
    padding-left: 14px;
  }
  [data-global-header] .global-header-brand {
    grid-column: 1;
    order: initial;
    width: max-content;
    justify-self: start;
  }
  [data-global-header] .global-header-brand span:last-child { display: none; }
  [data-global-header] .global-header-search { grid-column: 2; order: initial; }
  [data-global-header] .global-header-nav { grid-column: 1 / -1; order: initial; }
  [data-global-header] .global-header-account-divider { display: none; }
  [data-global-header] > .header-identity-slot { grid-column: 4; order: initial; min-width: 73px; }
  [data-global-header] .public-nav-toggle { grid-column: 5; order: initial; display: grid; width: 44px; height: 44px; }
  [data-global-header] .global-header-nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding: 8px 14px 14px;
    border-bottom: 1px solid var(--global-line);
    background: #fbfbf9;
    color: var(--global-ink);
  }
  [data-global-header].is-menu-open .global-header-nav { display: flex; }
  [data-global-header] .global-header-nav a { min-height: 44px; padding: 0 8px; }
  [data-global-header] .global-header-nav a::after {
    top: auto;
    right: 8px;
    bottom: -1px;
    left: 8px;
    width: auto;
    height: 2px;
  }
  .global-header-search.is-search-open {
    right: 138px;
    left: 60px;
    grid-column: auto;
  }
  .home-page:not(.is-scrolled) [data-global-header].is-menu-open .global-header-nav {
    border-bottom-color: rgba(255, 255, 255, 0.15);
    background: #171a19;
    color: #fff;
  }
  .archive-page .archive-main { padding-top: calc(var(--global-header-height) + 28px); }
  .archive-page .archive-controls { padding: 0 14px; overflow: hidden; }
  .archive-page .archive-discovery-bar {
    display: flex;
    gap: 20px;
    overflow-x: auto;
  }
  .archive-page .filter-group,
  .archive-page .filter-group + .filter-group {
    width: max-content;
    padding-left: 0;
    border-top: 0;
    overflow: visible;
  }
  .archive-page .filter-group + .filter-group { padding-left: 20px; }
  .archive-page .archive-gallery-section { padding: 14px 14px 0; }
  .archive-page .archive-gallery { column-count: 2; column-gap: 10px; }
  .archive-page .archive-gallery.is-ratio-filtered { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .archive-page .archive-item { margin-bottom: 10px; }
}

@media (max-width: 480px) {
  [data-global-header] .header-identity-slot .account-menu { width: 70px; }
  [data-global-header] > .header-identity-slot { min-width: 70px; }
  .global-header-search.is-search-open { right: 138px; left: 60px; }
  .archive-page .archive-gallery,
  .archive-page .archive-gallery.is-ratio-filtered { display: block; column-count: 1; }
  .archive-page .archive-gallery.is-ratio-filtered .archive-item { margin-bottom: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .global-header-search,
  .global-header-search-result,
  .account-menu-avatar > [data-account-menu-image] { transition: none; }
}

/* Final quiet editorial public experience, July 27 2026. */
:root {
  --editorial-canvas: #f7f7f4;
  --editorial-paper: #fbfbf9;
  --editorial-ink: #171817;
  --editorial-muted: #666a66;
  --editorial-line: rgba(23, 24, 23, 0.14);
  --editorial-accent: #244f45;
  --editorial-serif: Georgia, "Times New Roman", serif;
  --editorial-sans: Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

.public-page,
.archive-page,
.work-detail-page,
.about-page,
.lightbox-page {
  background: var(--editorial-paper);
  color: var(--editorial-ink);
}

[data-global-header] .global-header-brand span {
  letter-spacing: 0;
}

/* Home: a bounded sticky image stage followed by the archive in normal document flow. */
.home-page .hero-stage {
  height: 160svh;
  min-height: 0;
  overflow: visible;
  background: #101210;
}

.home-page .hero {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 100svh;
  padding: calc(var(--global-header-height) + clamp(54px, 8vh, 92px)) clamp(28px, 7vw, 104px) clamp(48px, 7vh, 76px);
  background: #101210;
}

.home-page .hero::before {
  inset: 0;
  width: auto;
  background:
    linear-gradient(90deg, rgba(8, 10, 9, 0.88) 0%, rgba(8, 10, 9, 0.64) 31%, rgba(8, 10, 9, 0.2) 61%, rgba(8, 10, 9, 0.08) 100%),
    linear-gradient(180deg, rgba(8, 10, 9, 0.1) 54%, rgba(8, 10, 9, 0.5) 100%);
}

.home-page .hero::after { display: none; }

.home-page .hero-image-abstract {
  background-image: var(--home-hero-abstract-image, url("assets/art/hero-ci-jian.jpg"));
  background-position: 58% center;
  filter: grayscale(1) contrast(1.19) brightness(0.78);
}

.home-page .hero-image-concrete {
  background-image: var(--home-hero-concrete-image, url("assets/art/hero-concrete.jpg"));
  background-position: center;
  filter: saturate(0.72) contrast(1.1) brightness(0.72);
}

.home-page .hero-copy {
  align-self: center;
  justify-self: start;
  width: min(620px, 52vw);
  padding: 0;
  color: #fff;
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.56);
  transform: translateY(var(--hero-copy-shift, 0));
}

.home-page .hero-copy .eyebrow {
  margin-bottom: 26px;
  color: rgba(255, 255, 255, 0.78);
  font: 650 11px/1 var(--editorial-sans);
  text-transform: uppercase;
}

.home-page .hero-copy h1 {
  max-width: 620px;
  margin-bottom: 24px;
  color: rgba(255, 255, 255, var(--hero-title-alpha, 0.98));
  font: 400 clamp(54px, 6.1vw, 88px)/0.98 var(--editorial-serif);
  letter-spacing: 0;
}

.home-page .hero-statement {
  max-width: 590px;
  color: rgba(255, 255, 255, var(--hero-statement-alpha, 0.84));
  font: 450 clamp(15px, 1.2vw, 18px)/1.6 var(--editorial-sans);
}

.home-page .hero-actions { gap: 28px; margin-top: 34px; }
.home-page .hero-actions .button { min-height: 48px; border-radius: 4px; }
.home-page .hero-actions .button-primary { border-color: rgba(255, 255, 255, 0.18); background: rgba(18, 21, 20, 0.86); color: #fff; }
.home-page .hero-actions .button-secondary { padding-right: 0; padding-left: 0; border-width: 0 0 1px; border-radius: 0; border-color: rgba(255, 255, 255, 0.78); background: transparent; color: #fff; }

.home-page:not(.is-scrolled) [data-global-header] {
  border-bottom-color: rgba(255, 255, 255, 0.18);
  background: rgba(13, 15, 14, 0.93);
}

.home-page .works-section { padding-top: 52px; }
.home-page .works-section .section-heading { margin-bottom: 28px; }

/* Works: unframed image wall with only a restrained hover command layer. */
.archive-page .archive-gallery { column-count: 5; }
.archive-page .archive-gallery.is-ratio-filtered { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.archive-page .archive-hover-layer::before {
  background: linear-gradient(180deg, transparent 48%, rgba(8, 10, 9, 0.8) 100%);
}
.archive-page .archive-hover-brand { display: none; }
.archive-page .archive-hover-actions {
  top: auto;
  right: 12px;
  bottom: 12px;
  gap: 4px;
  transform: translateY(8px);
}
.archive-page .archive-hover-icon {
  min-width: 38px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  background: rgba(14, 16, 15, 0.56);
  color: #fff;
  box-shadow: none;
}
.archive-page .archive-hover-icon:hover,
.archive-page .archive-hover-icon:focus-visible { background: rgba(255, 255, 255, 0.94); color: var(--editorial-ink); }
.archive-page .archive-hover-detail-link {
  position: absolute;
  right: 102px;
  bottom: 14px;
  left: 15px;
  z-index: 2;
  overflow: hidden;
  color: #fff;
  font: 400 clamp(16px, 1.35vw, 23px)/1.15 var(--editorial-serif);
  text-overflow: ellipsis;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
  white-space: nowrap;
  transform: translateY(8px);
  transition: transform 220ms ease;
}
.archive-page .archive-hover-detail-link:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.archive-page .archive-item:hover .archive-hover-detail-link,
.archive-page .archive-item:focus-within .archive-hover-detail-link { transform: translateY(0); }
.archive-page .archive-item[role="button"]:hover .archive-hover-layer,
.archive-page .archive-item[role="button"]:focus-visible .archive-hover-layer,
.archive-page .archive-item:focus-within .archive-hover-layer { opacity: 1; pointer-events: auto; }

/* Standalone work detail: image and archival record share one editorial spread. */
.ui-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.work-detail-main {
  width: min(1680px, 100%);
  min-height: calc(100svh - var(--global-header-height));
  margin: 0 auto;
  padding: calc(var(--global-header-height) + 34px) clamp(24px, 6vw, 96px) 78px;
}
.work-detail-state {
  display: grid;
  place-items: center;
  min-height: 62svh;
  text-align: center;
}
.work-detail-state h1 { margin: 0 0 20px; font: 400 clamp(42px, 5vw, 70px)/1 var(--editorial-serif); text-transform: none; }
.work-detail-state p { color: var(--editorial-muted); }
.work-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.48fr) minmax(390px, 0.92fr);
  gap: clamp(52px, 8vw, 124px);
  align-items: start;
}
.work-detail-layout[hidden] { display: none; }
.work-detail-media {
  display: grid;
  place-items: center;
  min-height: calc(100svh - var(--global-header-height) - 68px);
  margin: 0;
  overflow: hidden;
  background: #eceeeb;
}
.work-detail-media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(100svh - var(--global-header-height) - 68px);
  object-fit: contain;
}
.work-detail-copy { padding: 48px 0 0; }
.work-detail-sequence { display: flex; align-items: center; justify-content: space-between; margin-bottom: 50px; color: var(--editorial-muted); font: 600 12px/1 var(--editorial-sans); font-variant-numeric: tabular-nums; }
.work-detail-pagination { display: flex; gap: 8px; }
.work-detail-pagination a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--editorial-line); color: var(--editorial-ink); }
.work-detail-pagination a:hover,
.work-detail-pagination a:focus-visible { border-color: var(--editorial-accent); color: var(--editorial-accent); }
.work-detail-pagination .ui-icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.work-detail-heading h1 { margin: 0 0 22px; font: 400 clamp(42px, 4vw, 64px)/1.04 var(--editorial-serif); text-transform: none; }
.work-detail-heading p { max-width: 560px; margin: 0; color: var(--editorial-muted); font: 450 16px/1.65 var(--editorial-sans); }
.work-detail-actions { display: grid; grid-template-columns: 1.2fr 1fr auto; gap: 12px; margin: 42px 0 38px; }
.work-detail-action { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 0 18px; border: 1px solid rgba(23, 24, 23, 0.38); border-radius: 4px; background: transparent; color: var(--editorial-ink); font: 650 13px/1 var(--editorial-sans); cursor: pointer; }
.work-detail-action:hover,
.work-detail-action:focus-visible { border-color: var(--editorial-accent); color: var(--editorial-accent); outline: 0; }
.work-detail-action .ui-icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.work-detail-save.is-active { border-color: var(--editorial-accent); background: var(--editorial-accent); color: #fff; }
.work-detail-download { border-color: transparent; }
.work-detail-metadata { display: grid; gap: 0; margin: 0; padding: 30px 0; border-top: 1px solid var(--editorial-line); border-bottom: 1px solid var(--editorial-line); }
.work-detail-metadata > div { display: grid; grid-template-columns: 132px minmax(0, 1fr); padding: 8px 0; }
.work-detail-metadata dt { color: var(--editorial-muted); font: 650 10px/1.3 var(--editorial-sans); text-transform: uppercase; }
.work-detail-metadata dd { margin: 0; font: 500 13px/1.3 var(--editorial-sans); }
.work-detail-tags { padding: 28px 0; border-bottom: 1px solid var(--editorial-line); }
.work-detail-tags > div { display: flex; flex-wrap: wrap; gap: 8px; }
.work-detail-tags span { padding: 7px 10px; border: 1px solid var(--editorial-line); border-radius: 4px; font: 500 11px/1 var(--editorial-sans); }
.work-detail-related { padding-top: 42px; }
.work-detail-related > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.work-detail-related a { display: grid; gap: 7px; color: var(--editorial-ink); font: 500 10px/1.25 var(--editorial-sans); }
.work-detail-related img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.work-detail-related span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* About: one image/text spread followed by a linear practice information band. */
.about-page .about-main { width: min(1600px, 100%); margin: 0 auto; padding: calc(var(--global-header-height) + 36px) clamp(26px, 6vw, 96px) 70px; }
.about-page .about-intro { grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr); gap: clamp(64px, 9vw, 142px); align-items: center; }
.about-page .about-portrait { height: min(72svh, 690px); min-height: 560px; }
.about-page .about-portrait img { object-position: center; }
.about-page .about-intro-copy { position: relative; max-width: 650px; }
.about-page .about-intro-copy .section-kicker { margin-bottom: 34px; color: var(--editorial-accent); font: 650 10px/1 var(--editorial-sans); }
.about-page .about-intro h1 { margin: 0 0 46px; font: 400 clamp(54px, 5.3vw, 78px)/1 var(--editorial-serif); letter-spacing: 0; text-transform: none; }
.about-page .about-lede { max-width: 650px; margin: 0 0 36px; color: var(--editorial-ink); font: 400 clamp(25px, 2.25vw, 34px)/1.35 var(--editorial-serif); }
.about-page .about-intro-copy > p:not(.section-kicker):not(.about-lede) { max-width: 620px; margin: 0 0 24px; color: var(--editorial-muted); font: 450 15px/1.72 var(--editorial-sans); }
.about-page .about-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(290px, 1.25fr); margin-top: 18px; padding-top: 32px; border-top: 1px solid var(--editorial-line); }
.about-page .about-facts article { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px; min-height: 122px; padding: 0 28px; border-right: 1px solid var(--editorial-line); }
.about-page .about-facts article:first-child { padding-left: 0; }
.about-page .about-fact-mark { color: var(--editorial-accent); font: 650 10px/1 var(--editorial-sans); }
.about-page .about-facts h2 { margin: 0 0 10px; font: 400 18px/1.25 var(--editorial-serif); }
.about-page .about-facts p { margin: 0; color: var(--editorial-muted); font: 450 12px/1.55 var(--editorial-sans); }
.about-page .about-artist-link { display: grid; grid-template-columns: 80px minmax(0, 1fr); align-items: center; gap: 24px; padding-left: 32px; }
.about-page .about-artist-avatar { position: relative; display: grid; place-items: center; width: 80px; height: 80px; overflow: hidden; border-radius: 50%; background: #273b36; color: #fff; font: 650 18px/1 var(--editorial-sans); }
.about-page .about-artist-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.about-page .about-artist-avatar.is-image-ready img { opacity: 1; }
.about-page .about-artist-link a { color: var(--editorial-accent); font: 600 13px/1.5 var(--editorial-sans); text-decoration: underline; text-underline-offset: 4px; }

/* Lightbox: saved collection, independent inquiry selection, and a visible summary. */
.lightbox-page .lightbox-main { width: min(1780px, 100%); margin: 0 auto; padding: calc(var(--global-header-height) + 56px) clamp(26px, 4vw, 64px) 80px; }
.lightbox-page .lightbox-heading { grid-template-columns: minmax(360px, 1fr) auto; align-items: end; gap: 48px; padding-bottom: 44px; }
.lightbox-page .lightbox-heading .section-kicker { margin-bottom: 18px; color: var(--editorial-accent); }
.lightbox-page .lightbox-heading h1 { font-size: clamp(58px, 5.6vw, 82px); }
.lightbox-page .lightbox-intro { margin: 24px 0 16px; font: 500 16px/1.5 var(--editorial-sans); }
.lightbox-page .lightbox-summary { color: var(--editorial-ink); font: 650 11px/1 var(--editorial-sans); text-transform: uppercase; }
.lightbox-page .lightbox-heading-commands { display: flex; align-items: center; gap: 16px; }
.lightbox-page .lightbox-heading-commands[hidden] { display: none; }
.lightbox-page .lightbox-heading-commands .button { min-width: 180px; min-height: 50px; border-radius: 4px; }
.lightbox-page .lightbox-heading-commands .button-primary { min-width: 300px; border-color: var(--editorial-accent); background: var(--editorial-accent); color: #fff; }
.lightbox-page .lightbox-heading-commands .lightbox-remove-all { border-color: rgba(23, 24, 23, 0.34); color: var(--editorial-ink); }
.lightbox-page .lightbox-actions { position: sticky; top: var(--global-header-height); grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) auto; min-height: 52px; padding: 0; background: rgba(251, 251, 249, 0.96); }
.lightbox-page .lightbox-actions > button { justify-self: start; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--editorial-ink); font: 600 13px/1 var(--editorial-sans); }
.lightbox-page .lightbox-selection-count { text-align: center; }
.lightbox-page .lightbox-sort { display: flex; align-items: center; gap: 7px; color: var(--editorial-muted); font: 500 12px/1 var(--editorial-sans); }
.lightbox-page .lightbox-sort select { min-height: 40px; padding: 0 30px 0 6px; border: 0; background: transparent; color: var(--editorial-ink); font: 600 12px/1 var(--editorial-sans); }
.lightbox-page .archive-data-status { min-height: 0; margin: 8px 0; }
.lightbox-page .lightbox-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 330px); gap: 32px; align-items: start; }
.lightbox-page .lightbox-workspace[hidden] { display: none; }
.lightbox-page .lightbox-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 14px; columns: auto; padding-top: 14px; }
.lightbox-page .lightbox-item { display: block; margin: 0; break-inside: auto; }
.lightbox-page .lightbox-image-link { display: block; outline-offset: 2px; }
.lightbox-page .lightbox-item.is-inquiry-selected .lightbox-image-link { outline-width: 1px; }
.lightbox-page .lightbox-item figure { margin: 0; }
.lightbox-page .lightbox-inquiry-toggle { top: 10px; left: 10px; width: 34px; height: 34px; border-radius: 50%; }
.lightbox-page .lightbox-inquiry-toggle::after { content: none; }
.lightbox-page .lightbox-item-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 14px; padding-top: 11px; }
.lightbox-page .lightbox-item h2 { margin-bottom: 4px; }
.lightbox-page .lightbox-item-copy button { min-height: 30px; text-decoration: underline; text-underline-offset: 3px; }
.lightbox-page .lightbox-selection-summary { position: sticky; top: calc(var(--global-header-height) + 66px); min-height: 470px; padding: 32px; background: #f0f1ee; }
.lightbox-page .lightbox-selection-summary h2 { margin: 0 0 24px; font: 600 15px/1.35 var(--editorial-sans); }
.lightbox-page .lightbox-selection-summary-list { display: grid; gap: 14px; min-height: 210px; padding-bottom: 24px; border-bottom: 1px solid var(--editorial-line); }
.lightbox-page .lightbox-selection-summary-list a { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 16px; color: var(--editorial-ink); font: 500 12px/1.3 var(--editorial-sans); }
.lightbox-page .lightbox-selection-summary-list img { width: 72px; height: 72px; object-fit: cover; }
.lightbox-page .lightbox-selection-summary-list > p { color: var(--editorial-muted); font: 450 12px/1.5 var(--editorial-sans); }
.lightbox-page .lightbox-selection-summary > a { display: inline-block; margin: 24px 0 14px; color: var(--editorial-accent); font: 600 12px/1 var(--editorial-sans); text-decoration: underline; text-underline-offset: 4px; }
.lightbox-page .lightbox-selection-summary > p { margin: 0; color: var(--editorial-muted); font: 450 12px/1.55 var(--editorial-sans); }
.lightbox-page .lightbox-empty { min-height: 430px; padding: 110px 24px; }
.lightbox-page .lightbox-empty p { color: var(--editorial-muted); }

@media (max-width: 1200px) {
  .archive-page .archive-gallery { column-count: 4; }
  .archive-page .archive-gallery.is-ratio-filtered { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .work-detail-layout { grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.9fr); gap: 54px; }
  .work-detail-copy { padding-top: 28px; }
  .about-page .about-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .about-page .about-artist-link { grid-column: 1 / -1; padding: 28px 0 0; border-top: 1px solid var(--editorial-line); }
  .lightbox-page .lightbox-heading-commands .button { min-width: 150px; }
  .lightbox-page .lightbox-heading-commands .button-primary { min-width: 240px; }
  .lightbox-page .lightbox-workspace { grid-template-columns: minmax(0, 1fr) 270px; gap: 22px; }
  .lightbox-page .lightbox-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .home-page .hero-copy { width: min(620px, 70vw); }
  .archive-page .archive-gallery { column-count: 3; }
  .archive-page .archive-gallery.is-ratio-filtered { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .work-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .work-detail-media { min-height: 0; }
  .work-detail-media img { max-height: 74svh; }
  .work-detail-copy { padding-top: 40px; }
  .about-page .about-intro { grid-template-columns: minmax(0, 0.9fr) minmax(340px, 1.1fr); gap: 44px; }
  .about-page .about-intro h1 { font-size: 54px; }
  .about-page .about-facts { grid-template-columns: 1fr 1fr; }
  .about-page .about-facts article { border-bottom: 1px solid var(--editorial-line); }
  .about-page .about-artist-link { grid-column: auto; align-self: stretch; border-top: 0; }
  .lightbox-page .lightbox-heading { grid-template-columns: minmax(0, 1fr); }
  .lightbox-page .lightbox-heading-commands { justify-content: flex-start; }
  .lightbox-page .lightbox-workspace { grid-template-columns: minmax(0, 1fr); }
  .lightbox-page .lightbox-selection-summary { position: static; order: -1; min-height: 0; }
  .lightbox-page .lightbox-selection-summary-list { grid-template-columns: repeat(3, minmax(0, 1fr)); min-height: 0; }
  .lightbox-page .lightbox-selection-summary-list a { grid-template-columns: 52px minmax(0, 1fr); }
  .lightbox-page .lightbox-selection-summary-list img { width: 52px; height: 52px; }
}

@media (max-width: 760px) {
  .home-page .hero-stage { height: 145svh; min-height: 0; }
  .home-page .hero { height: 100svh; min-height: 100svh; }
  .home-page .hero { padding: calc(var(--global-header-height) + 44px) 22px 48px; }
  .home-page .hero::before { background: linear-gradient(90deg, rgba(8, 10, 9, 0.78), rgba(8, 10, 9, 0.22)), linear-gradient(180deg, transparent 42%, rgba(8, 10, 9, 0.72)); }
  .home-page .hero-copy { align-self: end; width: 100%; }
  .home-page .hero-copy h1 { font-size: clamp(48px, 15vw, 68px); }
  .home-page .hero-statement { max-width: 520px; font-size: 15px; }
  .home-page .hero-actions { gap: 20px; }
  .archive-page .archive-hover-layer { opacity: 1; pointer-events: auto; }
  .archive-page .archive-gallery { column-count: 2; }
  .archive-page .archive-gallery.is-ratio-filtered {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .archive-page .archive-hover-detail-link,
  .archive-page .archive-hover-actions { transform: none; }
  .work-detail-main { padding: calc(var(--global-header-height) + 18px) 16px 58px; }
  .work-detail-copy { padding-top: 32px; }
  .work-detail-sequence { margin-bottom: 36px; }
  .work-detail-actions { grid-template-columns: 1fr 1fr; }
  .work-detail-download { grid-column: 1 / -1; }
  .about-page .about-main { padding: calc(var(--global-header-height) + 24px) 18px 56px; }
  .about-page .about-intro { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .about-page .about-portrait { height: min(64svh, 580px); min-height: 420px; }
  .about-page .about-intro h1 { margin-bottom: 28px; font-size: 52px; }
  .about-page .about-lede { font-size: 25px; }
  .about-page .about-facts { grid-template-columns: minmax(0, 1fr); margin-top: 46px; }
  .about-page .about-facts article { min-height: 0; padding: 24px 0; border-right: 0; }
  .about-page .about-artist-link { grid-column: 1; padding: 28px 0; }
  .lightbox-page .lightbox-main { padding: calc(var(--global-header-height) + 30px) 16px 58px; }
  .lightbox-page .lightbox-heading { display: grid; padding-bottom: 30px; }
  .lightbox-page .lightbox-heading h1 { font-size: 58px; }
  .lightbox-page .lightbox-heading-commands { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 10px; }
  .lightbox-page .lightbox-heading-commands .button,
  .lightbox-page .lightbox-heading-commands .button-primary { min-width: 0; width: 100%; min-height: 48px; padding: 0 10px; }
  .lightbox-page .lightbox-actions { position: static; grid-template-columns: 1fr auto; padding: 7px 0; }
  .lightbox-page .lightbox-selection-count { text-align: right; }
  .lightbox-page .lightbox-sort { grid-column: 1 / -1; justify-self: end; }
  .lightbox-page .lightbox-selection-summary { padding: 24px; }
  .lightbox-page .lightbox-selection-summary-list { grid-template-columns: minmax(0, 1fr); }
  .lightbox-page .lightbox-gallery { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 480px) {
  .archive-page .archive-gallery,
  .archive-page .archive-gallery.is-ratio-filtered {
    display: block;
    column-count: 1;
  }
  .work-detail-heading h1 { font-size: 42px; }
  .work-detail-metadata > div { grid-template-columns: 104px minmax(0, 1fr); }
  .work-detail-related > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lightbox-page .lightbox-heading-commands { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .hero-stage {
    height: 100svh;
    overflow: hidden;
  }

  .home-page .hero {
    position: relative;
    top: auto;
  }
}

@media (max-width: 760px) {
  .upload-studio-actions { flex-wrap: wrap; }
  .upload-studio-batch-bar { align-items: stretch; flex-direction: column; }
  .upload-studio-batch-bar button { width: 100%; min-height: 44px; }
  .upload-studio-quick-fields { grid-template-columns: minmax(0, 1fr); }
  .upload-studio-quick-dialog { width: calc(100% - 20px); }
  .admin-review-bulk-tools button { min-height: 36px; }
  .admin-review-bulk-policy ul { grid-template-columns: minmax(0, 1fr); }
  .admin-review-check-all { min-height: 40px; }
}

@media (max-width: 480px) {
  .admin-review-bulk-tools { grid-template-columns: minmax(0, 1fr); }
  .admin-review-bulk-tools button { width: 100%; min-width: 0; min-height: 40px; }
}

/* Account Settings: linked identity controls stay within the Security rhythm. */
.account-settings-page .account-linked-identities {
  margin-top: 38px;
  padding-top: 26px;
  border-top: 1px solid var(--profile-line);
}

.account-settings-page .account-linked-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: start;
  margin-bottom: 18px;
}

.account-settings-page .account-linked-heading h3 {
  margin: 0;
  color: var(--profile-ink);
  font-size: 17px;
  font-weight: 750;
}

.account-settings-page .account-linked-heading p {
  max-width: 520px;
  margin: 6px 0 0;
  color: #70756f;
  font-size: 12px;
  line-height: 1.55;
}

.account-settings-page .account-linked-count {
  padding-top: 3px;
  color: #70756f;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.account-settings-page .account-identity-loading {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 62px;
  color: #70756f;
  font-size: 12px;
}

.account-settings-page .account-identity-loading > span {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  border: 1px solid #c3c9c4;
  border-top-color: var(--profile-teal);
  border-radius: 50%;
  animation: mfa-spin 0.8s linear infinite;
}

.account-settings-page .account-identity-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--profile-line);
  list-style: none;
}

.account-settings-page .account-identity-item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  min-width: 0;
  padding: 15px 0;
  border-bottom: 1px solid #e3e5e1;
}

.account-settings-page .account-provider-mark {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid #c9ceca;
  border-radius: 50%;
  background: #f7f8f6;
  color: var(--profile-teal);
  font: 750 14px/1 Arial, Helvetica, sans-serif;
}

.account-settings-page .account-provider-mark-apple {
  color: var(--profile-ink);
}

.account-settings-page .account-provider-mark svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}

.account-settings-page .account-identity-copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.account-settings-page .account-identity-copy strong {
  overflow-wrap: anywhere;
  color: var(--profile-ink);
  font-size: 13px;
  font-weight: 750;
}

.account-settings-page .account-identity-copy span,
.account-settings-page .account-identity-copy small {
  overflow-wrap: anywhere;
  color: #70756f;
  font-size: 11px;
  line-height: 1.4;
}

.account-settings-page .account-identity-actions {
  display: flex;
  justify-content: flex-end;
}

.account-settings-page .account-identity-remove {
  min-height: 34px;
  padding: 6px 0;
  border: 0;
  border-bottom: 1px solid #adb6b0;
  background: transparent;
  color: #53625d;
  font: 700 11px/1.2 Arial, Helvetica, sans-serif;
  cursor: pointer;
}

.account-settings-page .account-identity-remove:hover:not(:disabled),
.account-settings-page .account-identity-remove:focus-visible:not(:disabled) {
  border-bottom-color: #873c34;
  color: #873c34;
}

.account-settings-page .account-identity-remove:focus-visible {
  outline: none;
  box-shadow: var(--ui-focus);
}

.account-settings-page .account-identity-remove:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.account-settings-page .account-identity-empty {
  padding: 18px 0;
  border-bottom: 1px solid #e3e5e1;
  color: #70756f;
  font-size: 12px;
}

.account-settings-page .account-identity-empty.is-error {
  color: #873c34;
}

.account-settings-page .account-identity-connect {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 16px;
}

.account-settings-page .account-identity-connect-button {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  gap: 8px;
  padding: 7px 12px 7px 8px;
  border: 1px solid #c4cac5;
  border-radius: 3px;
  background: #fff;
  color: var(--profile-ink);
  font: 700 11px/1.2 Arial, Helvetica, sans-serif;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.account-settings-page .account-identity-connect-button:hover:not(:disabled),
.account-settings-page .account-identity-connect-button:focus-visible:not(:disabled) {
  border-color: var(--profile-teal);
  background: #f0f5f2;
  color: #173f37;
}

.account-settings-page .account-identity-connect-button:focus-visible {
  outline: none;
  box-shadow: var(--ui-focus);
}

.account-settings-page .account-identity-connect-button:disabled {
  cursor: wait;
  opacity: 0.58;
}

.account-settings-page .account-identity-connect-button[hidden] {
  display: none;
}

.account-settings-page .account-identity-connect-button .account-provider-mark {
  width: 23px;
  height: 23px;
  border: 0;
  background: #eef2ef;
  font-size: 12px;
}

.account-settings-page .account-provider-mark-google { color: #316a8b; }

.account-settings-page .account-provider-mark-apple {
  color: #1b211e;
}

.account-settings-page .account-identity-note {
  margin: 13px 0 0;
  color: #70756f;
  font-size: 11px;
  line-height: 1.5;
}

/* Account Settings: the authenticator is an explicit, server-backed security control. */
.account-settings-page .account-mfa-settings {
  margin-top: 30px;
  padding: 22px 0 20px;
  border-top: 1px solid var(--profile-line);
  border-bottom: 1px solid var(--profile-line);
}

.account-settings-page .account-mfa-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.account-settings-page .account-mfa-label {
  margin: 0 0 5px;
  color: #70756f;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.account-settings-page .account-mfa-heading h3 {
  margin: 0;
  color: var(--profile-ink);
  font-size: 17px;
  font-weight: 750;
}

.account-settings-page .account-mfa-status {
  flex: 0 0 auto;
  padding: 5px 9px;
  border: 1px solid #bdc8c1;
  border-radius: 999px;
  color: #53625d;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-settings-page .account-mfa-status[data-state="enabled"],
.account-settings-page .account-mfa-status[data-state="required"] {
  border-color: #7ca699;
  background: #edf5f1;
  color: #145346;
}

.account-settings-page .account-mfa-status[data-state="unavailable"] {
  border-color: #d6aaa4;
  background: #fbf0ee;
  color: #873c34;
}

.account-settings-page .account-mfa-control-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 13px;
}

.account-settings-page .account-mfa-control-row > p {
  max-width: 600px;
  margin: 0;
  color: #53625d;
  font-size: 12px;
  line-height: 1.55;
}

.account-settings-page .account-mfa-switch {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 40px;
  flex: 0 0 auto;
  gap: 9px;
  padding: 4px 0 4px 10px;
  border: 0;
  background: transparent;
  color: var(--profile-ink);
  font: 750 11px/1.2 Arial, Helvetica, sans-serif;
  cursor: pointer;
}

.account-settings-page .account-mfa-switch-track {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 42px;
  height: 24px;
  padding: 2px;
  border: 1px solid #aebbb4;
  border-radius: 999px;
  background: #e7ebe8;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.account-settings-page .account-mfa-switch-track i {
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(18, 35, 30, 0.2);
  transition: transform 160ms ease;
}

.account-settings-page .account-mfa-switch[aria-checked="true"] .account-mfa-switch-track {
  border-color: var(--profile-teal);
  background: var(--profile-teal);
}

.account-settings-page .account-mfa-switch[aria-checked="true"] .account-mfa-switch-track i {
  transform: translateX(18px);
}

.account-settings-page .account-mfa-switch:hover:not(:disabled) {
  color: #145346;
}

.account-settings-page .account-mfa-switch:focus-visible {
  outline: none;
  box-shadow: var(--ui-focus);
}

.account-settings-page .account-mfa-switch:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.account-settings-page .account-mfa-help {
  max-width: 640px;
  margin: 12px 0 0;
  color: #858b86;
  font-size: 11px;
  line-height: 1.5;
}

.account-settings-page .account-mfa-feedback {
  margin: 13px 0 0;
  color: #145346;
  font-size: 12px;
  line-height: 1.45;
}

.account-settings-page .account-mfa-feedback.is-error {
  color: #873c34;
}

@media (max-width: 760px) {
  .account-settings-page .account-mfa-control-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .account-settings-page .account-mfa-switch {
    justify-content: flex-start;
    padding-left: 0;
  }
}

@media (max-width: 760px) {
  .account-settings-page .account-linked-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }

  .account-settings-page .account-linked-count { padding-top: 0; }

  .account-settings-page .account-identity-item {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 11px;
  }

  .account-settings-page .account-identity-actions {
    grid-column: 2;
    justify-content: flex-start;
  }

  .account-settings-page .account-identity-connect {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .account-settings-page .account-identity-connect-button {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .account-settings-page .account-identity-loading > span {
    animation: none;
  }
}
