/* Общие стили, каталог, карточка и адаптивные состояния. */
:root {
  --ink:#272625;
  --charcoal:#202121;
  --red:#aa282c;
  --subtle:#67635f;
  --paper:#f8f7f3;
  --site-width:1320px
}
html {
  scroll-behavior:smooth
}
body {
  font-family:Cuprum,'Arial Narrow',Arial,sans-serif;
  background-color:var(--paper);
  background-image:url('../img/paper.png');
  background-repeat:repeat;
  color:var(--ink);
  font-size:18px;
  line-height:1.25
}
a {
  color:inherit;
  text-decoration:none
}
a:hover {
  color:var(--red)
}
button,input {
  font:inherit
}
:focus-visible {
  outline:2px solid var(--red)!important;
  outline-offset:3px
}
.archive-wrap {
  width:100%;
  max-width:var(--site-width);
  margin:0 auto;
  padding:0 24px
}

.site-head {
  position:sticky;
  top:0;
  z-index:1055;
  background:var(--charcoal);
  color:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.08)
}
.head-inner {
  height:64px;
  display:flex;
  align-items:center;
  gap:24px;
  transition:height .18s ease
}
.brand {
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  min-width:214px;
  color:#fff!important
}
.brand-kicker {
  font-size:11px;
  line-height:1.04;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#e3ddda
}
.brand-mark {
  width:2px;
  height:28px;
  background:var(--red);
  display:block
}
.brand-title {
  font-weight:700;
  font-size:25px;
  letter-spacing:.01em;
  line-height:1
}
.top-nav {
  display:flex;
  align-items:center;
  gap:clamp(14px,2vw,29px);
  margin-left:auto;
  white-space:nowrap
}
.top-nav>a,.top-nav button {
  padding:8px 0;
  background:transparent;
  color:#eae7e4;
  border:0;
  font-size:16px;
  line-height:1.15
}
.top-nav a:hover,.top-nav button:hover {
  color:#fff
}
.nav-dropdown::after {
  display:inline-block;
  content:"";
  border:solid #c8c5c0;
  border-width:0 1px 1px 0;
  transform:rotate(45deg);
  width:6px;
  height:6px;
  margin:0 0 3px 7px
}
.login-dropdown {
  flex:0 0 auto
}
.login-trigger {
  background:transparent;
  border:1px solid #686965;
  border-radius:20px;
  color:#fff;
  padding:7px 18px;
  font-size:16px;
  line-height:1.1;
  white-space:nowrap
}
.login-trigger:hover {
  border-color:#cfc8c1
}
.dropdown-menu {
  background:#fffdfa;
  box-shadow:0 14px 35px #0002;
  border:1px solid #dfd8d0;
  border-radius:8px;
  font-size:17px;
  padding:7px;
  min-width:160px
}
.dropdown-item {
  border-radius:5px;
  padding:8px 12px
}
.dropdown-item:hover,.dropdown-item:focus {
  background:#f1ebe4;
  color:var(--red)
}
.header-inline-search {
  display:none;
  flex:0 1 260px;
  min-width:175px;
  height:36px;
  align-items:center;
  background:#faf9f6;
  border-radius:20px;
  color:#635e5a;
  padding:0 5px 0 14px
}
.header-inline-search input {
  width:100%;
  min-width:0;
  flex:1;
  border:0;
  outline:0;
  background:none;
  font-size:15px;
  color:#333;
  padding:0 5px
}
.header-inline-search button {
  border:0;
  background:var(--red);
  color:#fff;
  width:29px;
  height:29px;
  flex:0 0 29px;
  border-radius:50%;
  display:grid;
  place-items:center
}
.header-inline-search svg {
  width:16px;
  height:16px
}
.scrolled .head-inner {
  height:55px
}
.scrolled .header-inline-search {
  display:flex
}
.scrolled .top-nav {
  gap:15px
}
.scrolled .top-nav a,.scrolled .top-nav button {
  font-size:14px
}
.scrolled .brand {
  min-width:auto
}
.scrolled .brand-title {
  font-size:22px
}
.scrolled .brand-kicker {
  font-size:10px
}
.menu-trigger {
  display:none;
  flex:0 0 36px;
  align-items:center;
  justify-content:center;
  height:38px;
  border:0;
  background:transparent;
  color:white;
  padding:0
}
.menu-trigger svg {
  width:25px;
  height:25px
}

.utility-area {
  padding-top:21px
}
.utility-grid {
  display:grid;
  grid-template-columns:1fr minmax(310px,520px) 1fr;
  align-items:center;
  gap:23px
}
.quick-links {
  display:flex;
  align-items:center;
  gap:19px;
  flex-wrap:wrap;
  font-size:15px;
  color:#514e4a
}
.quick-links a {
  white-space:nowrap
}
.search-box {
  height:52px;
  display:flex;
  align-items:center;
  background:#f1eeea;
  border-radius:36px;
  padding:5px 6px 5px 20px;
  min-width:0
}
.search-box input {
  min-width:0;
  flex:1;
  border:0;
  outline:0;
  background:none;
  color:#353230;
  font-size:18px;
  padding:0 11px 0 0
}
.search-box input::placeholder {
  color:#827c77;
  opacity:1
}
.search-box button {
  background:var(--red);
  color:white;
  width:40px;
  height:40px;
  flex:0 0 40px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center
}
.search-box button:hover,.header-inline-search button:hover {
  background:#851e21
}
.search-box svg {
  width:19px;
  height:19px
}
.utility-right {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:20px
}
.count {
  display:flex;
  align-items:center;
  gap:9px;
  white-space:nowrap
}
.count-caption {
  font-size:12px;
  line-height:1.02;
  text-transform:uppercase;
  color:#77716c;
  text-align:right
}
.count strong {
  font-size:27px;
  font-weight:700;
  color:var(--red);
  font-variant-numeric:tabular-nums
}
.socials {
  display:flex;
  gap:8px;
  align-items:center;
  color:#686a66
}
.socials a {
  width:21px;
  height:24px;
  display:grid;
  place-items:center;
  color:inherit
}
.socials a:hover {
  color:var(--red)
}
.socials svg {
  width:21px;
  height:21px;
  fill:currentColor
}

.catalog-main {
  padding-top:48px
}
.artifact-grid {
  --bs-gutter-x:38px;
  --bs-gutter-y:56px
}
.catalog-col {
  min-width:0
}
.artifact {
  display:flex;
  flex-direction:column;
  min-width:0
}
.artifact-image {
  height:282px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  overflow:hidden;
  background:transparent
}
.artifact-image img {
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  transition:transform .2s ease
}
.artifact-image:hover img {
  transform:scale(1.035)
}
.artifact-description {
  padding:16px 3px 0
}
.artifact-title {
  font-size:21px;
  font-weight:600;
  line-height:1.16;
  margin:0 0 12px;
  min-height:49px
}
.artifact-title a:hover {
  color:var(--red)
}
.artifact-info {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 11px
}
.artifact-code {
  background:#333;
  color:#fff;
  font-size:15px;
  line-height:1;
  letter-spacing:.01em;
  padding:5px 10px 6px;
  white-space:nowrap
}
.artifact-category {
  color:var(--red);
  font-size:16px;
  text-align:right;
  line-height:1.15
}
.photo-missing {
  font-size:14px;
  color:#81796e;
  text-align:center;
  max-width:160px
}
.catalog-col[hidden] {
  display:none!important
}
.empty {
  display:none;
  padding:30px 0 100px;
  font-size:18px;
  color:#65605c
}
.empty.show {
  display:block
}
.site-footer {
  margin-top:78px;
  padding:24px 0 36px;
  color:#6f6a63;
  font-size:15px
}
.footer-content {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px
}
.footer-content strong {
  color:#48423e;
  font-weight:600
}

.offcanvas.offcanvas-start {
  width:min(350px,88vw);
  background:#faf8f3;
  color:var(--ink);
  border:0
}
.offcanvas-header {
  padding:20px 23px 17px
}
.drawer-title {
  font-size:21px;
  font-weight:700
}
.drawer-close {
  border:0;
  background:transparent;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  color:#222
}
.drawer-close svg {
  width:23px;
  height:23px
}
.drawer-body {
  padding:12px 26px 28px
}
.drawer-menu {
  display:flex;
  flex-direction:column;
  gap:2px
}
.drawer-menu>a,.drawer-menu>button {
  font-size:23px;
  line-height:1.18;
  font-weight:600;
  padding:15px 0;
  color:#292725;
  text-align:left;
  background:transparent;
  border:0
}
.drawer-menu>button {
  display:flex;
  align-items:center;
  gap:9px
}
.drawer-menu>button svg {
  width:18px;
  height:18px
}
.drawer-submenu {
  display:flex;
  flex-direction:column;
  padding:3px 0 12px 12px;
  gap:4px
}
.drawer-submenu a {
  font-size:18px;
  padding:8px 0;
  color:#57514d
}
.drawer-extra {
  margin-top:29px;
  display:flex;
  flex-direction:column;
  gap:15px
}
.drawer-extra a {
  font-size:18px;
  color:#544f49
}

@media(max-width:1260px) {
  .head-inner {
    gap:15px
  }
  .brand {
    min-width:auto
  }
  .top-nav {
    gap:15px
  }
  .top-nav>a,.top-nav button {
    font-size:15px
  }
  .scrolled .top-nav .secondary-menu {
    display:none
  }
  .utility-grid {
    grid-template-columns:1fr minmax(280px,470px) auto;
    gap:17px
  }
  .quick-links {
    gap:12px;
    font-size:14px
  }
  .utility-right {
    gap:12px
  }
  .artifact-grid {
    --bs-gutter-x:26px
  }
}
@media(max-width:1050px) {
  .top-nav {
    gap:11px
  }
  .top-nav>a,.top-nav button {
    font-size:14px
  }
  .brand-title {
    font-size:22px
  }
  .brand {
    gap:6px
  }
  .utility-grid {
    grid-template-columns:1fr 1.6fr auto
  }
  .quick-links {
    max-width:250px
  }
  .artifact-image {
    height:245px
  }
}
@media(max-width:991.98px) {
  .archive-wrap {
    padding-inline:20px
  }
  .top-nav {
    display:none
  }
  .menu-trigger {
    display:flex
  }
  .brand {
    min-width:0;
    margin-right:auto
  }
  .head-inner {
    gap:16px;
    height:60px
  }
  .header-inline-search {
    display:none!important
  }
  .scrolled .head-inner {
    height:56px
  }
  .utility-grid {
    grid-template-columns:minmax(0,1fr) auto;
    gap:17px
  }
  .quick-links {
    display:none
  }
  .search-box {
    grid-column:1;
    grid-row:1;
    max-width:none
  }
  .utility-right {
    grid-column:2;
    grid-row:1
  }
  .artifact-grid {
    --bs-gutter-x:30px;
    --bs-gutter-y:46px
  }
  .catalog-main {
    padding-top:34px
  }
}
@media(max-width:680px) {
  .archive-wrap {
    padding-inline:19px
  }
  .head-inner {
    height:58px;
    gap:11px
  }
  .brand-title {
    font-size:22px
  }
  .brand-kicker {
    font-size:10px
  }
  .brand-mark {
    height:25px
  }
  .login-trigger {
    font-size:14px;
    padding:8px 13px
  }
  .utility-area {
    padding-top:18px
  }
  .utility-grid {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:15px
  }
  .search-box {
    width:100%;
    height:50px;
    padding:5px 5px 5px 17px
  }
  .search-box input {
    font-size:17px
  }
  .utility-right {
    width:100%;
    justify-content:space-between;
    padding-inline:2px
  }
  .count-caption {
    text-align:left;
    font-size:12px
  }
  .count strong {
    font-size:25px
  }
  .socials {
    gap:12px
  }
  .catalog-main {
    padding-top:30px
  }
  .artifact-grid {
    --bs-gutter-x:0;
    --bs-gutter-y:45px
  }
  .artifact-image {
    height:285px
  }
  .artifact-description {
    padding:13px 2px 0
  }
  .artifact-title {
    font-size:22px;
    min-height:0;
    margin-bottom:11px
  }
  .artifact-info {
    justify-content:space-between
  }
  .artifact-code {
    font-size:15px
  }
  .artifact-category {
    font-size:17px
  }
  .site-footer {
    margin-top:48px
  }
  .footer-content {
    display:block
  }
  .footer-content>div+div {
    margin-top:8px
  }
}
@media(max-width:365px) {
  .archive-wrap {
    padding-inline:13px
  }
  .brand-title {
    font-size:19px
  }
  .brand-kicker {
    font-size:9px
  }
  .head-inner {
    gap:6px
  }
  .login-trigger {
    padding:7px 9px
  }
  .artifact-image {
    height:260px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  .artifact-image img,.head-inner {
    transition:none
  }
}

.page-layout {
  padding-top:38px;
  min-height:55vh
}
.crumbs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  color:#817c74;
  font-size:15px;
  margin-bottom:19px
}
.crumbs a {
  color:#716b63
}
.crumbs a:hover {
  color:var(--red)
}
.crumb-sep {
  color:#b8b0a7
}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:31px
}
.page-title {
  font-size:36px;
  line-height:1.09;
  letter-spacing:-.012em;
  font-weight:600;
  margin:0;
  max-width:850px
}
.page-aside {
  color:#77716b;
  font-size:16px;
  white-space:nowrap
}
.soft-link {
  color:var(--red)
}
.soft-link:hover {
  color:#891c1f
}
.faint-note {
  font-size:15px;
  color:#7a746c
}
.page-summary {
  max-width:850px;
  line-height:1.42;
  color:#544f4b;
  font-size:18px
}

.record-head {
  max-width:800px;
  margin-bottom:29px
}
.record-category {
  color:var(--red);
  font-size:17px;
  display:inline-block;
  margin-top:10px
}
.record-layout {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:clamp(30px,5vw,84px);
  align-items:start
}
.variant-switch {
  display:inline-flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:15px
}
.variant-switch button {
  color:#5b5651;
  border:1px solid #d9d2c9;
  background:#fffaf4a3;
  min-width:76px;
  padding:9px 15px;
  border-radius:22px;
  font-size:16px
}
.variant-switch button[aria-pressed=true] {
  background:var(--charcoal);
  color:#fff;
  border-color:var(--charcoal)
}
.photo-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.record-photo {
  width:100%;
  height:340px;
  display:flex;
  justify-content:center;
  align-items:center;
  border:0;
  padding:10px;
  background:#ffffff30;
  border-radius:2px;
  position:relative;
  overflow:hidden
}
.record-photo img {
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
  image-rendering:auto
}
.photo-name {
  text-align:center;
  display:block;
  font-size:14px;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-top:9px;
  color:#847e76
}
.record-facts {
  padding:7px 0 0
}
.record-code {
  background:#343434;
  color:#fff;
  display:inline-block;
  padding:6px 13px;
  font-size:17px;
  line-height:1;
  margin-bottom:23px
}
.record-facts h2 {
  font-size:25px;
  font-weight:600;
  margin:0 0 16px
}
.specs {
  margin:0;
  display:grid;
  grid-template-columns:minmax(90px,150px) minmax(0,1fr);
  row-gap:14px;
  column-gap:16px;
  font-size:18px
}
.specs dt {
  font-weight:400;
  color:#837e77
}
.specs dd {
  margin:0
}
.record-actions {
  margin-top:34px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center
}
.outline-action {
  padding:10px 19px;
  color:#343331;
  border:1px solid #c7bdb0;
  border-radius:22px;
  font-size:16px;
  display:inline-flex;
  align-items:center
}
.outline-action:hover {
  background:rgba(255,255,255,.55);
  color:var(--red)
}
.credit {
  font-size:15px;
  color:#847c72;
  margin-top:23px
}
.record-note {
  margin-top:43px;
  max-width:760px;
  color:#6d665d;
  font-size:16px
}
.record-gallery[hidden] {
  display:none!important
}

.catalog-category .page-heading {
  margin-bottom:35px
}
.catalog-category .artifact-grid {
  --bs-gutter-x:38px;
  --bs-gutter-y:52px
}
.catalog-category .artifact-image {
  height:251px
}
.catalog-category .artifact-title {
  min-height:50px
}
.paper-tag {
  font-size:15px;
  color:#817b73;
  letter-spacing:.035em
}
.mock-pagination {
  display:flex;
  align-items:center;
  gap:9px;
  justify-content:center;
  margin-top:55px;
  color:#776e65;
  font-size:17px
}
.mock-pagination span,.mock-pagination a {
  display:grid;
  place-items:center;
  width:35px;
  height:35px;
  border-radius:50%
}
.mock-pagination .active {
  background:#30302f;
  color:#fff
}
.mock-pagination a:hover {
  background:#eee9e1
}

.alpha-nav {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin:16px 0 33px
}
.alpha-nav a {
  font-size:17px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#504943;
  transition:background .12s
}
.alpha-nav a:hover {
  background:#eae4db;
  color:var(--red)
}
.alpha-nav a.current {
  background:#30302f;
  color:#fff
}
.alpha-nav .dimmed {
  color:#b4aea7;
  pointer-events:none
}
.alpha-section {
  margin:14px 0 41px;
  scroll-margin-top:90px
}
.alpha-title {
  font-size:35px;
  font-weight:600;
  line-height:1;
  margin:0 0 17px
}
.artist-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:44px;
  row-gap:0
}
.medalier-entry {
  border-bottom:1px solid rgba(154,145,135,.16);
  display:flex;
  align-items:flex-start;
  gap:13px;
  justify-content:space-between;
  padding:12px 0;
  min-width:0
}
.medalier-entry a {
  font-size:20px;
  line-height:1.16
}
.medalier-entry a:hover {
  color:var(--red)
}
.medalier-entry small {
  display:block;
  font-size:15px;
  color:#888078;
  margin-top:4px;
  line-height:1.3
}
.artist-count {
  font-size:16px;
  color:#817870;
  font-variant-numeric:tabular-nums;
  flex:0 0 auto
}
.artist-selected>a {
  color:var(--red)
}
.directory-help {
  font-size:15px;
  color:#797168;
  margin-top:20px
}

.profile-lead {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:start;
  max-width:1120px
}
.profile-text {
  max-width:915px;
  font-size:19px;
  line-height:1.43;
  color:#45413d
}
.profile-text p {
  margin:0 0 16px
}
.profile-count {
  display:block;
  text-align:right;
  font-size:16px;
  color:#777067;
  white-space:nowrap;
  margin-top:1px
}
.profile-count strong {
  font-size:26px;
  color:var(--red);
  font-weight:600;
  display:block
}
.subsection-title {
  font-size:26px;
  line-height:1.2;
  font-weight:600;
  margin:47px 0 27px
}
.profile-gallery .artifact-image {
  height:250px
}
.profile-gallery .artifact-title {
  font-size:19px;
  min-height:48px
}
.profile-gallery .artifact-description {
  padding-top:13px
}
.image-fallback {
  font-size:15px;
  color:#7a736b;
  text-align:center;
  max-width:190px
}

@media(max-width:991.98px) {
  .record-layout {
    grid-template-columns:1fr;
    gap:29px
  }
  .record-photo {
    height:335px
  }
  .record-facts {
    padding:0
  }
  .page-layout {
    padding-top:30px
  }
  .artist-list {
    column-gap:27px
  }
  .profile-lead {
    grid-template-columns:1fr
  }
  .profile-count {
    text-align:left
  }
  .profile-count strong {
    display:inline;
    margin-left:9px
  }
}
@media(max-width:680px) {
  .page-layout {
    padding-top:25px
  }
  .page-title {
    font-size:29px
  }
  .page-heading {
    margin-bottom:24px;
    align-items:flex-start
  }
  .page-aside {
    font-size:14px;
    white-space:normal
  }
  .record-head {
    margin-bottom:22px
  }
  .record-photo {
    height:240px;
    padding:3px
  }
  .photo-pair {
    gap:13px
  }
  .record-layout {
    gap:28px
  }
  .record-facts h2 {
    font-size:22px
  }
  .specs {
    grid-template-columns:105px minmax(0,1fr);
    font-size:17px
  }
  .catalog-category .artifact-image {
    height:285px
  }
  .catalog-category .artifact-title {
    min-height:0
  }
  .artist-list {
    grid-template-columns:1fr
  }
  .artist-list .medalier-entry {
    padding:12px 0
  }
  .alpha-nav {
    gap:4px;
    margin-bottom:24px
  }
  .alpha-nav a {
    width:30px;
    height:30px;
    font-size:16px
  }
  .profile-text {
    font-size:18px
  }
  .subsection-title {
    font-size:23px
  }
  .profile-gallery .artifact-image {
    height:275px
  }
  .profile-gallery .artifact-title {
    min-height:0
  }
  .record-actions {
    gap:10px
  }
  .page-summary {
    font-size:17px
  }
}
@media(max-width:355px) {
  .photo-pair {
    gap:7px
  }
  .record-photo {
    height:198px
  }
  .page-title {
    font-size:26px
  }
}

[hidden],.medalier-entry[hidden],.alpha-section[hidden],.record-gallery[hidden] {
  display:none!important
}

@media(max-width:680px) {
  .head-inner {
    gap:9px
  }
  .menu-trigger {
    flex:0 0 29px;
    width:29px
  }
  .brand {
    flex:1 1 auto;
    min-width:0;
    margin-right:0;
    gap:6px
  }
  .brand-kicker {
    display:none
  }
  .brand-title {
    font-size:clamp(17px,5.1vw,21px);
    letter-spacing:0;
    white-space:nowrap
  }
  .brand-mark {
    height:24px;
    flex:0 0 2px
  }
  .login-dropdown {
    flex:0 0 auto
  }
  .login-trigger {
    font-size:13px;
    padding:7px 10px
  }
  .scrolled .brand-title {
    font-size:clamp(17px,5.1vw,21px)
  }
}
@media(max-width:365px) {
  .head-inner {
    gap:5px
  }
  .brand-title {
    font-size:17px
  }
  .login-trigger {
    padding:7px 9px
  }
}

:root {
  --form-border: #cdc5bc;
  --text-red: #aa282c;
}

@media (max-width: 767.98px) {
  .artifact-grid {
    --bs-gutter-x: 18px;
    --bs-gutter-y: 34px;
  }
  .artifact-image,
  .catalog-category .artifact-image,
  .profile-gallery .artifact-image {
    height: 185px;
  }
  .artifact-title,
  .profile-gallery .artifact-title {
    font-size: 17px;
    min-height: 0;
    margin-bottom: 10px;
    line-height: 1.18;
  }
  .artifact-description { padding: 10px 0 0; }
  .artifact-info { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
  .artifact-category { text-align: left; font-size: 15px; }
  .artifact-code { font-size: 14px; }
  .utility-grid { display: flex; flex-direction: column; gap: 11px; }
  .search-box { order: 1; }
  .quick-links {
    display: flex;
    order: 2;
    max-width: 100%;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 14px;
    font-size: 15px;
  }
  .utility-right { order: 3; margin-top: 1px; }
}
@media (max-width: 360px) {
  .artifact-grid { --bs-gutter-x: 12px; }
  .artifact-image, .catalog-category .artifact-image, .profile-gallery .artifact-image { height: 145px; }
  .artifact-title, .profile-gallery .artifact-title { font-size: 16px; }
  .quick-links { gap: 8px; font-size: 14px; }
}

.object-title { max-width: 100%; margin: 0 0 9px; }
.record-categories { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 20px; margin: 0 0 18px; }
.record-categories a { color: var(--red); font-size: 17px; }
.record-categories a:hover { text-decoration: underline; }
.detail-gallery { min-width: 0; }
.detail-photos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.detail-image {
  display: flex; align-items: center; justify-content: center;
  height: 420px; min-width: 0; width: 100%; padding: 0;
  border: 0; background: transparent; cursor: zoom-in;
}
.detail-image img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: normal; }
.extra-gallery { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
.extra-media {
  width: 57px; height: 57px; display: grid; place-items: center;
  color: #66605a; background: rgba(250, 248, 244, .6);
  border: 1px solid #d8d0c5; border-radius: 4px;
}
.extra-media svg { width: 33px; height: 33px; }
.extra-media:hover:not(:disabled) { color: var(--red); border-color: var(--red); }
.extra-media.is-empty, .extra-media:disabled { opacity: .33; cursor: default; }
.site-head { z-index: 1020; }
.detail-tabs { margin: 0; border-color: #d9d1c7; gap: 8px; }
.detail-tabs .nav-link { color: #504944; border: 1px solid transparent; border-radius: 4px 4px 0 0; font-size: 20px; padding: 11px 16px; }
.detail-tabs .nav-link.active { background: rgba(255, 255, 255, .7); border-color: #d9d1c7 #d9d1c7 transparent; color: #282725; }
.detail-tab-content { background: rgba(255, 255, 255, .53); padding: 18px 20px 24px; border: 1px solid #d9d1c7; border-top: 0; min-height: 182px; }
.detail-number { font-size: 32px; line-height: 1.1; font-weight: 700; margin-bottom: 15px; }
.detail-specs { margin: 0; }
.detail-spec { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 12px; padding: 9px 0; font-size: 18px; }
.detail-spec + .detail-spec { border-top: 1px solid #e6dfd8; }
.detail-spec dt { color: #716b63; font-weight: 400; }
.detail-spec dd { margin: 0; }
.price-info { font-size: 17px; }
.collection-button { margin-top: 22px; }
.photo-credit { font-size: 15px; color: #766e67; margin: 19px 0 0; }

.medal-pair { height: 234px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; align-items: center; }
.medal-photo { display: flex; align-items: center; justify-content: center; min-width: 0; height: 100%; }
.medal-photo img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: normal; }
.profile-gallery .artifact-title { min-height: 0; }
.profile-gallery .artifact-description { padding-top: 10px; }

.catalog-pager { display: flex; align-items: center; justify-content: center; gap: 9px; padding: 38px 0 8px; }
.page-numbers { display: flex; gap: 7px; }
.catalog-pager button { width: 37px; height: 37px; border-radius: 50%; border: 1px solid transparent; background: transparent; color: #554e49; font-size: 18px; }
.catalog-pager button:hover:not(:disabled) { background: #ebe5db; }
.catalog-pager button.active { background: #282828; color: #fff; }
.catalog-pager button:disabled { opacity: .26; cursor: default; }

.btn-brand { background: #a52a2c; color: #fff; border: 1px solid #a52a2c; font-size: 17px; padding: 10px 18px; }
.btn-brand:hover, .btn-brand:focus-visible { background: #8e2326; color: #fff; border-color: #8e2326; }
.btn-outline-dark, .btn-outline-secondary { font-size: 17px; padding: 10px 18px; }
.text-link { color: var(--red) !important; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.auth-dialog { background: #f9f7f2 url('../img/paper.png') repeat; border: 0; border-radius: 6px; box-shadow: 0 18px 65px #0003; }
.auth-dialog .modal-header { padding: 21px 26px 16px; border-bottom: 1px solid rgba(150,139,124,.2); }
.auth-dialog .modal-title { font-size: 27px; font-weight: 700; line-height: 1.1; }
.auth-dialog .modal-body { padding: 24px 26px 15px; }
.auth-dialog .modal-footer { border-top: 0; padding: 8px 26px 26px; }
.auth-dialog .form-label, .kit-form .form-label { margin: 0 0 7px; font-weight: 600; font-size: 17px; }
.auth-dialog .form-control, .kit-form .form-control, .kit-form .form-select { border: 1px solid var(--form-border); border-radius: 4px; background: #fff; min-height: 44px; font-size: 18px; color: #252525; }
.auth-dialog .form-control:focus, .kit-form .form-control:focus { border-color: #9c9085; box-shadow: 0 0 0 .2rem #b1a19333; }
.auth-dialog .form-check { font-size: 16px; }
.auth-dialog .form-check-input:checked { background-color: var(--red); border-color: var(--red); }
.auth-dialog .modal-helper { font-size: 18px; color: #514b46; }
.form-actions { justify-content: flex-start; gap: 9px; }
.form-feedback { margin: 13px 0 0; padding: 11px 13px; background: #eef2ed; color: #3b5b3c; border-radius: 3px; font-size: 16px; }
.form-feedback.is-error { background: #faefef; color: #9e272c; }
.drawer-auth { display: block; font-size: 20px; border: 0; background: transparent; padding: 4px 0; color: var(--red); text-align: left; }
.media-modal-body { min-height: 230px; display: flex; align-items: center; justify-content: center; }
.media-modal-body img { max-width: 100%; max-height: 76vh; object-fit: contain; }

.ui-kit-page { max-width: 1050px; }
.ui-lead { font-size: 19px; margin: 12px 0 30px; color: #726b63; }
.kit-section { padding: 27px 0 32px; border-top: 1px solid #ddd5ca; }
.kit-section h2 { font-weight: 700; font-size: 26px; margin: 0 0 20px; }
.kit-section .subsection-title { margin: 17px 0; }
.kit-form { max-width: 760px; }
.kit-media-gallery { margin-top: 13px; }

@media (max-width: 991.98px) {
.detail-image { height: 400px; }
}
@media (max-width: 680px) {
  .object-title { font-size: 29px; }
.detail-photos { gap: 10px; }
  .detail-image { height: 270px; }
  .extra-gallery { margin-top: 12px; }
  .extra-media { width: 49px; height: 49px; }
  .detail-tab-content { min-height: 0; }
  .medal-pair { height: 175px; gap: 5px; }
  .profile-gallery .artifact-title { font-size: 16px; }
  .catalog-category .artifact-title { min-height: 0; }
}
@media (max-width: 360px) {
  .detail-image { height: 210px; }
  .medal-pair { height: 145px; }
  .auth-dialog .modal-header, .auth-dialog .modal-body { padding-left: 18px; padding-right: 18px; }
  .auth-dialog .modal-footer { padding-left: 18px; padding-right: 18px; }
}

.object-page .detail-photos { gap: 6px; }
.object-page .detail-image { height: clamp(360px, 38vw, 535px); position: relative; }
.object-page .detail-image img {
  width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain;
  mix-blend-mode: normal;

transition: transform .18s ease;
}
.object-page .detail-image:hover img { transform: scale(1.025); }
.object-page .detail-tab-content { background: rgba(255,255,255,.25); padding: 15px 19px 22px; }
.object-page .detail-tabs .nav-link.active { background: rgba(255,255,255,.25); }
.object-page .detail-spec { gap: 16px; padding: 10px 0; }
.object-page .detail-number { margin-bottom: 11px; }
.object-page .extra-media { background: transparent; border-color: rgba(108, 96, 87, .24); }
.object-page .extra-media:not(:disabled) { cursor: zoom-in; }
.object-page .photo-credit { margin-top: 15px; }
.gallery-demo-note { margin: 12px 0 4px; color: #766e65; font-size: 16px; }
.example-gallery { display: flex; flex-wrap: wrap; gap: 11px; align-items: center; margin: 13px 0 18px; }
.example-gallery a { display: inline-flex; gap: 10px; align-items: center; border: 1px solid #d4cec4; border-radius: 3px; padding: 10px 14px; color: #4d4540; font-size: 18px; }
.example-gallery a:hover { border-color: var(--red); color: var(--red); }
@media (max-width:991.98px) {
.object-page .detail-image { height: 430px; }
}
@media (max-width:680px) {
  .object-page .detail-photos { gap: 8px; }
  .object-page .detail-image { height: min(67vw, 290px); }
.object-page .detail-tab-content { padding: 13px 15px 18px; }
}

.variant-footer { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:6px; flex-wrap:wrap; }
.variant-footer .photo-credit { margin:0; font-size:15px; color:#827a72; }
.variant-collect { border:0; background:none; padding:6px 0; font-size:16px; color:var(--red); cursor:pointer; }
.variant-collect:hover { text-decoration:underline; }



.detail-records { display:flex; flex-direction:column; gap:54px; }
.object-page .variant-detail {
  display:grid;
  grid-template-columns:minmax(0,1.72fr) minmax(290px,.9fr);
  grid-template-areas:'label panel' 'photos panel' 'credit panel';
  column-gap:clamp(22px,3.6vw,52px);
  align-items:start;
  position:relative;
  padding:18px 0 35px;
}
.object-page .variant-detail + .variant-detail { padding-top:38px; border-top:1px solid rgba(125,110,93,.13); }
.object-page .variant-label { grid-area:label; justify-self:start; margin:0 0 9px; padding:4px 12px; color:#fff; background:#303033; font-size:17px; line-height:1.1; }
.object-page .variant-detail .detail-photos { grid-area:photos; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-width:0; }
.object-page .variant-detail .detail-image { display:flex; align-items:center; justify-content:center; width:100%; height:clamp(320px,36vw,500px); min-width:0; background:none; border:0; cursor:zoom-in; }
.object-page .variant-detail .detail-image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:normal; }
.object-page .variant-detail .detail-image:hover img { transform:scale(1.015); }
.object-page .variant-detail .photo-source { grid-area:credit; display:block; margin:8px 0 0; }
.object-page .variant-detail .photo-credit { margin:0; font-size:15px; }
.object-page .variant-info-panel { grid-area:panel; position:sticky; top:75px; align-self:start; min-width:0; }
.object-page .variant-info-panel .detail-tabs { border-bottom:1px solid #d9d1c7; gap:18px; margin:0; }
.object-page .variant-info-panel .detail-tabs .nav-link { border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; padding:9px 0 11px; font-size:22px; color:#625c55; }
.object-page .variant-info-panel .detail-tabs .nav-link.active { border-bottom-color:var(--red); color:var(--ink); background:transparent; }
.object-page .variant-info-panel .detail-tab-content { min-height:0; border:0; padding:22px 0 0; background:none; }
.object-page .variant-info-panel .detail-specs { margin:0; }
.object-page .variant-info-panel .detail-spec { display:grid; grid-template-columns:108px minmax(0,1fr); gap:12px; padding:9px 0; border:0; font-size:19px; }
.object-page .variant-info-panel .detail-spec dt { color:#776f68; font-weight:400; }
.object-page .variant-info-panel .detail-spec dd { margin:0; }
.object-page .panel-collect { display:inline-block; color:var(--red); text-align:left; margin-top:25px; border:0; background:none; padding:6px 0; font-size:18px; }
.object-page .panel-collect:hover { text-decoration:underline; }

@media(max-width:991.98px) {
 .object-page .variant-detail { grid-template-columns:minmax(0,1fr); grid-template-areas:'label' 'photos' 'credit' 'panel'; gap:0; }
 .object-page .variant-info-panel { position:static; margin-top:20px; }
 .object-page .variant-detail .detail-image { height:clamp(245px,49vw,425px); }
}
@media(max-width:680px) {
 .site-head .archive-wrap { padding-inline:13px; }
 .site-head .head-inner { height:56px; gap:9px; }
 .site-head .menu-trigger { flex:0 0 28px; width:28px; height:34px; }
 .site-head .brand { flex:1 1 auto; min-width:0; gap:7px; }
 .site-head .brand-kicker { display:none; }
 .site-head .brand-title, .site-head.scrolled .brand-title { font-size:clamp(16px,4.55vw,21px); letter-spacing:0; }
 .site-head .login-dropdown { flex:0 0 auto; }
 .site-head .login-trigger { font-size:14px; padding:7px 11px; }
 .utility-area { padding-top:14px; }
 .utility-area .utility-grid { gap:12px; }
 .utility-area .search-box { height:45px; }
 .utility-area .search-box button { width:36px; height:36px; flex-basis:36px; }
 .utility-area .quick-links { display:flex; flex-wrap:wrap; justify-content:space-between; gap:7px 12px; font-size:15px; line-height:1.2; }
 .utility-area .quick-links a { display:inline-block; white-space:nowrap; }
 .utility-area .utility-right { margin-top:0; }
 .object-page .variant-detail { padding:7px 0 25px; }
 .object-page .variant-detail + .variant-detail { padding-top:23px; }
 .object-page .variant-detail .detail-photos { gap:8px; }
 .object-page .variant-detail .detail-image { height:min(64vw,285px); }
 .object-page .variant-info-panel .detail-spec { font-size:18px; }
 .detail-records { gap:19px; }
}
@media(max-width:360px) {
 .site-head .head-inner { gap:6px; }
 .site-head .brand-title, .site-head.scrolled .brand-title { font-size:16px; }
 .site-head .login-trigger { font-size:13px; padding:6px 8px; }
 .utility-area .quick-links { justify-content:flex-start; gap:9px 12px; font-size:14px; }
}
