@charset "UTF-8";
:root {
  --bg:#101214;
  --panel:#171a1c;
  --line:#2b2d2e;
  --text:#e6e3db;
  --muted:#a4a5a1;
  --gold:#c7a569;
  --gold-light:#e7cd9d;
  --serif:Georgia,'Times New Roman',serif;
  --sans:'Segoe UI',Arial,sans-serif
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:14px/1.65 var(--sans);
  -webkit-font-smoothing:antialiased
}

a {
  color:inherit;
  text-decoration:none
}

button,input,select {
  font:inherit
}

button,a,input,select,summary {
  touch-action:manipulation
}

button,a {
  transition:background .18s,color .18s,border-color .18s
}

button {
  cursor:pointer
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:2px solid var(--gold-light);
  outline-offset:5px
}

::selection {
  background:#b88b4655;
  color:#fff
}

.skip {
  position:fixed;
  top:-100px;
  left:16px;
  z-index:100;
  background:var(--gold);
  padding:12px;
  color:#111
}

.skip:focus {
  top:12px
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap
}

.sidebar {
  width:235px;
  position:fixed;
  inset:0 auto 0 0;
  border-right:1px solid var(--line);
  padding:39px 24px 26px;
  background:#111416;
  display:flex;
  flex-direction:column;
  z-index:5
}

.brand {
  display:flex;
  align-items:center;
  gap:14px;
  font-family:var(--serif);
  font-size:25px;
  letter-spacing:4px;
  line-height:1
}

.brand small {
  display:block;
  font:8px/1.8 var(--sans);
  letter-spacing:1.7px;
  color:var(--gold);
  margin-top:8px
}

.eclipse-mark {
  width:37px;
  height:37px;
  border:1px solid var(--gold);
  border-radius:50%;
  display:inline-block;
  position:relative;
  flex-shrink:0;
  box-shadow:0 0 25px #bd8d2720
}

.eclipse-mark:after {
  content:'';
  position:absolute;
  background:#111416;
  border-left:1px solid var(--gold-light);
  width:32px;
  height:35px;
  border-radius:50%;
  top:-4px;
  left:8px;
  transform:rotate(-32deg)
}

.nav-caption {
  font-size:8px;
  letter-spacing:1.8px;
  color:#818884;
  margin:54px 10px 15px
}

.main-nav,.category-nav {
  display:flex;
  flex-direction:column;
  gap:5px
}

.main-nav a,.category-nav a {
  padding:11px 12px;
  border-radius:3px;
  color:#a9adaa;
  display:flex;
  align-items:center;
  gap:13px;
  font-size:13px
}

.main-nav a>span:first-child {
  font-size:20px;
  line-height:1;
  width:18px;
  text-align:center;
  color:#8f9690
}

.main-nav a:hover,.category-nav a:hover {
  background:#1c2020;
  color:var(--text)
}

.main-nav a[aria-current],.category-nav a[aria-current] {
  color:var(--gold-light);
  background:#b39b6a12
}

.main-nav a[aria-current] {
  box-shadow:inset 2px 0 var(--gold)
}

.category-caption {
  margin-top:32px
}

.nav-dot {
  height:5px;
  width:5px;
  border:1px solid #6f776e;
  transform:rotate(45deg);
  margin:0 6px
}

.nav-arrow {
  margin-left:auto;
  font-size:12px;
  color:#5b625e
}

.sidebar-bottom {
  margin-top:auto;
  padding:40px 10px 0
}

.tiny-star {
  font-size:29px;
  color:var(--gold)
}

.sidebar-bottom p {
  font:italic 16px/1.6 var(--serif);
  color:#8f9590;
  margin:12px 0 24px
}

.edition {
  font-size:8px;
  letter-spacing:1.6px;
  color:#646e69
}

.shell {
  margin-left:235px;
  min-height:100vh;
  display:flex;
  flex-direction:column
}

.topbar {
  height:77px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 44px;
  gap:20px
}

.topbar-label {
  font-size:9px;
  letter-spacing:2px;
  color:#828a83
}

.topbar-actions {
  display:flex;
  align-items:center;
  gap:27px;
  font-size:11px;
  color:#c6c9c1
}

.topbar-actions a:hover {
  color:var(--gold-light)
}

.topbar-actions a span {
  margin-left:8px;
  color:var(--gold)
}

.local-indicator {
  font-size:10px;
  color:#949f93;
  white-space:nowrap
}

.local-indicator:before {
  content:'';
  display:inline-block;
  width:5px;
  height:5px;
  background:#90a28c;
  border-radius:50%;
  margin-right:8px
}

main {
  padding:36px 44px 65px;
  width:100%;
  max-width:1500px;
  margin:0 auto;
  flex:1
}

main:focus {
  outline:none
}

.hero {
  min-height:440px;
  border:1px solid #3d392e;
  position:relative;
  overflow:hidden;
  background:#14191a url('landscape.svg') center right/cover no-repeat
}

.hero:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#101516 3%,#111717f2 26%,#1117179c 49%,#11171712 80%);
  pointer-events:none
}

.hero-content {
  position:relative;
  z-index:1;
  padding:45px 40px;
  width:68%;
  max-width:660px
}

.eyebrow {
  font-size:9px!important;
  font-family:var(--sans)!important;
  font-weight:500!important;
  letter-spacing:2.1px;
  line-height:1.8!important;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 14px
}

.eyebrow>span:first-child {
  margin-right:7px
}

.hero h1 {
  font-family:var(--serif);
  font-weight:400;
  line-height:1.08;
  font-size:clamp(36px,3.7vw,62px);
  letter-spacing:-1.7px;
  margin:23px 0 22px
}

.hero h1 em {
  color:var(--gold-light);
  font-weight:400
}

.hero-description {
  font-size:13px;
  line-height:1.9;
  color:#a8afa6;
  max-width:355px;
  margin:0 0 27px
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:23px;
  min-height:42px;
  padding:10px 17px;
  border:1px solid #42443d;
  background:#1b1f1e;
  color:#e0dfd5;
  border-radius:2px;
  font-size:12px;
  line-height:1.4;
  white-space:nowrap
}

.button:hover {
  background:#282e29;
  border-color:#8c805c
}

.button.gold {
  background:var(--gold);
  border-color:var(--gold);
  color:#1c1b16;
  font-weight:600
}

.button.gold:hover {
  background:var(--gold-light)
}

.button.small {
  min-height:34px;
  padding:7px 12px;
  font-size:11px;
  gap:9px
}

.button.full {
  width:100%;
  margin-top:23px
}

.gold-outline {
  border-color:#716140;
  color:var(--gold-light);
  background:#b99b5d0a
}

.hero-footnote {
  display:flex;
  align-items:center;
  gap:10px;
  color:#8d9389;
  font:italic 12px var(--serif);
  margin-top:30px
}

.small-line {
  height:1px;
  width:25px;
  background:#726445
}

.hero-coordinate {
  position:absolute;
  z-index:1;
  bottom:22px;
  right:25px;
  color:#b3a37e;
  font-size:8px;
  letter-spacing:2px;
  writing-mode:vertical-rl
}

.search-section {
  margin:28px 0 40px
}

.search-box {
  display:flex;
  align-items:center;
  gap:15px;
  min-height:52px;
  border:1px solid var(--line);
  background:#15191a;
  padding:0 18px;
  flex:1
}

.search-box:focus-within {
  border-color:#8a7752
}

.search-symbol {
  display:inline-block;
  width:14px;
  height:14px;
  border:1px solid #8d968d;
  border-radius:50%;
  position:relative;
  flex-shrink:0
}

.search-symbol:after {
  content:'';
  position:absolute;
  width:6px;
  height:1px;
  background:#8d968d;
  right:-5px;
  bottom:-2px;
  transform:rotate(45deg)
}

.search-box input {
  background:transparent;
  border:0!important;
  outline:none!important;
  color:var(--text);
  width:100%;
  min-width:0;
  padding:13px 0;
  font-size:12px;
  box-shadow:none
}

.search-box input::placeholder {
  color:#8b938a
}

.search-box button {
  border:0;
  border-left:1px solid var(--line);
  padding:0 0 0 20px;
  background:transparent;
  color:#b5b7ad;
  font-size:11px;
  white-space:nowrap
}

.search-box button span {
  margin-left:15px;
  color:#828b80
}

.search-section>p {
  font-size:10px;
  color:#838b83;
  text-align:center;
  margin:9px 0 0
}

.section {
  margin-top:40px
}

.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px
}

.section-heading h2 {
  font:400 27px/1.2 var(--serif);
  margin:0
}

.section-heading .eyebrow {
  font-size:8px!important;
  margin-bottom:8px
}

.quiet-label {
  font-size:8px;
  letter-spacing:1.3px;
  color:#7d867d;
  text-align:right
}

.category-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border:1px solid var(--line)
}

.category-card {
  position:relative;
  padding:17px 16px 18px;
  min-height:124px;
  background:linear-gradient(140deg,#1c2120,#141819);
  border-right:1px solid var(--line)
}

.category-card:last-child {
  border-right:0
}

.category-card:hover {
  background:#242a26
}

.category-number {
  display:block;
  color:#8f805e;
  font:italic 18px var(--serif);
  margin-bottom:15px
}

.category-name {
  display:block;
  font:16px var(--serif);
  margin-bottom:5px
}

.category-count {
  font-size:9px;
  color:#939b90
}

.category-arrow {
  position:absolute;
  top:16px;
  right:14px;
  font-size:12px;
  color:#7e896f
}

.recent-section {
  margin-top:42px
}

.text-link {
  font-size:11px;
  color:var(--gold-light);
  line-height:1.7
}

.text-link:hover {
  color:#f5e8c5
}

.text-link>span {
  margin-left:8px
}

.record-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:19px
}

.record-card {
  display:block;
  border:1px solid var(--line);
  background:#15191a;
  overflow:hidden;
  border-radius:2px
}

.record-card:hover {
  border-color:#807453;
  background:#1a1f1e
}

.entry-art {
  position:relative;
  height:185px;
  background:radial-gradient(ellipse at top,#333b31,#161d1c);
  overflow:hidden
}

.entry-art img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s
}

.record-card:hover .entry-art img {
  transform:scale(1.035)
}

.art-vignette {
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#11191866,transparent 55%);
  pointer-events:none
}

.unpictured {
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  font:65px var(--serif);
  color:#a897663d
}

.card-body {
  padding:21px 21px 0
}

.card-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:1.4px;
  color:#aaa58e
}

.status {
  font-size:9px;
  letter-spacing:.3px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap
}

.status:before {
  content:'';
  height:4px;
  width:4px;
  display:inline-block;
  border-radius:50%;
  background:currentColor
}

.status-descoberto {
  color:#d3b773
}

.status-revelado {
  color:#9db7a1
}

.status-bloqueado {
  color:#b49fa0
}

.card-meta .status {
  text-transform:none;
  letter-spacing:.3px
}

.card-body h3 {
  font:400 26px/1.2 var(--serif);
  margin:14px 0 5px
}

.card-subtitle {
  font:italic 12px var(--serif);
  color:#b2a990;
  margin:0 0 16px
}

.card-description {
  font-size:11px;
  line-height:1.8;
  color:#a1aaa0;
  margin:0 0 20px;
  min-height:59px
}

.card-bottom {
  border-top:1px solid var(--line);
  padding:13px 0;
  color:#bbad8b;
  display:flex;
  justify-content:space-between;
  font-size:10px
}

.card-bottom span:last-child {
  font-size:15px;
  line-height:1.3
}

.empty-state {
  border:1px dashed #3d4339;
  padding:45px 25px;
  text-align:center;
  color:var(--muted);
  background:#161c171f
}

.empty-symbol {
  font-size:38px;
  color:#9d8a59;
  display:block;
  margin:0 0 12px
}

.empty-state h2,.empty-state h3 {
  font:400 25px/1.35 var(--serif);
  color:var(--text);
  margin:0 0 12px
}

.empty-state p {
  font-size:12px;
  margin:0 0 15px
}

.empty-state h1 {
  font:400 40px/1.2 var(--serif);
  color:var(--text)
}

.footer {
  padding:22px 44px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:9px;
  color:#899186
}

.footer span span {
  color:#6f6549;
  margin:0 9px
}

.footer>span:last-child {
  font:italic 11px var(--serif)
}

.notice {
  border:1px solid #4a4432;
  background:#b49a5d09;
  padding:19px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:24px 0
}

.notice strong {
  font-size:12px;
  color:#dbc597;
  font-weight:500
}

.notice p {
  font-size:11px;
  color:#aeb2a3;
  margin:3px 0 0;
  max-width:680px
}

.messages p {
  border:1px solid #4b604a;
  background:#8ea77f12;
  color:#c2d3b9;
  padding:14px 18px;
  font-size:12px;
  margin:0 0 20px
}

.page-heading {
  padding:24px 0 25px
}

.page-heading h1 {
  font:400 48px/1.1 var(--serif);
  letter-spacing:-1px;
  margin:8px 0 14px
}

.page-heading>p,.page-heading>div>p:not(.eyebrow) {
  font-size:13px;
  color:var(--muted);
  margin:0
}

.catalogue-filters {
  display:flex;
  gap:12px;
  align-items:center;
  margin:17px 0 24px
}

.catalogue-filters select {
  max-width:240px;
  min-height:52px
}

.catalogue-filters .button {
  min-height:52px
}

select,input:not([type=hidden]) {
  background:#171c1b;
  color:var(--text);
  border:1px solid #3c433b;
  border-radius:2px;
  padding:10px 12px;
  font-size:12px;
  max-width:100%
}

select {
  color-scheme:dark
}

input:focus,select:focus {
  border-color:var(--gold)
}

.results-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  margin-bottom:20px
}

.results-heading p {
  font-size:11px;
  color:var(--muted);
  margin:0
}

.pagination {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  font-size:11px;
  color:var(--muted);
  margin-top:30px
}

.breadcrumbs {
  display:flex;
  gap:13px;
  flex-wrap:wrap;
  font-size:10px;
  color:#a4ad9f;
  padding:13px 0 32px
}

.breadcrumbs a:hover {
  color:var(--gold-light)
}

.breadcrumbs>span:last-child {
  color:#c9c9ba
}

.breadcrumbs>span:not(:last-child) {
  color:#626c5e
}

.record-intro {
  max-width:800px;
  margin:0 0 36px
}

.record-intro h1 {
  font:400 clamp(38px,5vw,68px)/1.06 var(--serif);
  letter-spacing:-1.5px;
  margin:19px 0 14px
}

.detail-subtitle {
  font:italic 23px/1.5 var(--serif);
  color:#c5b58e;
  margin:0 0 24px
}

.detail-summary {
  font-size:14px;
  line-height:1.95;
  color:#b5beb1;
  max-width:700px
}

.detail-layout {
  display:grid;
  grid-template-columns:310px minmax(0,1fr);
  gap:55px
}

.record-aside {
  border-top:1px solid #4c4939
}

.record-aside .entry-art {
  height:290px
}

.fact-list {
  margin:0;
  border:1px solid var(--line);
  padding:5px 22px;
  background:#171c1b
}

.fact-list>div {
  padding:15px 0;
  border-bottom:1px solid var(--line)
}

.fact-list>div:last-child {
  border-bottom:0
}

.fact-list dt {
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:1.6px;
  color:#a7956f
}

.fact-list dd {
  font:17px/1.6 var(--serif);
  margin:5px 0 0;
  overflow-wrap:anywhere
}

.aside-caption {
  font-size:8px;
  letter-spacing:1.5px;
  color:#84907f;
  line-height:1.9;
  margin:18px 0
}

.prose {
  max-width:650px;
  padding-top:15px
}

.prose h2 {
  font:400 31px/1.3 var(--serif);
  margin:0 0 24px
}

.prose>p:not(.eyebrow) {
  font:17px/1.95 var(--serif);
  color:#bfc5b7;
  white-space:normal;
  overflow-wrap:anywhere
}

.chapter-end {
  display:flex;
  align-items:center;
  gap:20px;
  color:var(--gold);
  max-width:200px;
  margin:50px auto
}

.chapter-end span {
  height:1px;
  background:#4b4938;
  flex:1
}

.auth-layout {
  min-height:600px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  max-width:1000px;
  margin:auto
}

.auth-intro {
  padding:25px 0
}

.eclipse-mark.large {
  width:65px;
  height:65px;
  margin-bottom:40px
}

.eclipse-mark.large:after {
  width:56px;
  height:62px;
  top:-6px;
  left:14px;
  background:var(--bg)
}

.auth-intro h1 {
  font:400 56px/1.1 var(--serif);
  letter-spacing:-1px;
  margin:18px 0 23px
}

.auth-intro>p:last-child {
  color:#a5b09f;
  font-size:13px;
  max-width:350px;
  line-height:1.9
}

.auth-card {
  padding:35px;
  border:1px solid #464535;
  background:linear-gradient(150deg,#1e2420,#151a19)
}

.auth-card h2 {
  font:400 28px/1.2 var(--serif);
  margin:0 0 12px
}

.auth-card>p {
  font-size:12px;
  color:#acb4a5;
  margin:0 0 30px
}

.auth-card label {
  display:block;
  font-size:11px;
  margin:18px 0 8px;
  color:#c4c8ba
}

.auth-card input:not([type=hidden]) {
  width:100%;
  height:45px;
  background:#111715
}

.auth-card strong {
  color:var(--gold-light);
  font-weight:500
}

.auth-card .auth-note {
  font-size:10px;
  line-height:1.8;
  margin:23px 0 0;
  color:#96a18e
}

.form-errors {
  font-size:11px;
  color:#e5b8a9;
  background:#bc685717;
  padding:10px 12px;
  margin:15px 0
}

.form-errors ul {
  padding-left:17px;
  margin:0
}

.field-help {
  font-size:10px;
  color:#aab29f;
  line-height:1.8;
  margin:12px 0
}

.error-page {
  margin:50px 0;
  padding:60px 20px;
  border:0
}

.dashboard-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}

.heading-actions {
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap
}

.stat-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
  margin:10px 0 25px
}

.stat {
  padding:20px;
  border:1px solid var(--line);
  background:#171d1a
}

.stat>span {
  font-size:10px;
  color:#aeb7a7;
  display:block
}

.stat strong {
  display:block;
  font:36px/1.4 var(--serif);
  font-weight:400;
  color:#e3d8bc;
  margin-top:8px
}

.master-record {
  border:1px solid var(--line);
  padding:24px;
  background:#151b18;
  margin-bottom:16px
}

.master-record-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}

.master-record h2 {
  font:400 25px/1.3 var(--serif);
  margin:4px 0 6px
}

.master-record .eyebrow {
  font-size:8px!important;
  letter-spacing:1.5px
}

.master-updated {
  font-size:9px;
  color:#8f9c89
}

.master-actions {
  display:flex;
  gap:9px;
  flex-wrap:wrap
}

.status-form {
  display:flex;
  gap:12px;
  align-items:center;
  margin:22px 0 0;
  padding-top:18px;
  border-top:1px solid var(--line);
  flex-wrap:wrap
}

.status-form label {
  font-size:10px;
  color:#b1bba9
}

.status-form select {
  font-size:11px;
  min-height:34px;
  padding:5px 10px;
  min-width:140px
}

.status-form .status {
  margin-left:auto
}

.reveal-details {
  margin:19px 0 0;
  border-top:1px solid var(--line);
  padding-top:15px
}

.reveal-details summary {
  cursor:pointer;
  font-size:11px;
  color:#d0c6ad
}

.reveal-details summary>span {
  font-size:9px;
  color:#95a18b;
  margin-left:12px
}

.master-fact {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 0;
  border-bottom:1px solid var(--line)
}

.master-fact:last-child {
  border-bottom:0
}

.master-fact>div {
  min-width:0
}

.master-fact strong {
  font-weight:500;
  font-size:11px;
  color:#d5c9a8
}

.master-fact p {
  color:#aeba9e;
  font-size:12px;
  margin:5px 0 0;
  overflow-wrap:anywhere
}

.master-fact form {
  display:flex;
  align-items:center;
  gap:12px
}

.fact-state {
  font-size:9px;
  color:#919f85
}

.muted {
  color:var(--muted);
  font-size:12px
}

@media(min-width:1650px) {
  main {
    padding-top:48px
  }
  .hero {
    min-height:480px
  }
  .hero-content {
    padding:55px
  }
  .hero h1 {
    font-size:65px
  }
  .entry-art {
    height:220px
  }
}

@media(max-width:1180px) {
  .sidebar {
    width:205px;
    padding:32px 18px
  }
  .shell {
    margin-left:205px
  }
  main {
    padding:28px
  }
  .topbar,.footer {
    padding-left:28px;
    padding-right:28px
  }
  .brand {
    font-size:22px;
    letter-spacing:3px;
    gap:10px
  }
  .brand small {
    font-size:7px;
    letter-spacing:1.2px
  }
  .category-grid {
    grid-template-columns:repeat(3,1fr)
  }
  .category-card {
    min-height:105px;
    border-bottom:1px solid var(--line)
  }
  .category-card:nth-child(3) {
    border-right:0
  }
  .category-card:nth-child(n+4) {
    border-bottom:0
  }
  .category-number {
    margin-bottom:9px
  }
  .hero-content {
    width:78%;
    padding:35px 30px
  }
  .hero {
    min-height:420px
  }
  .record-grid {
    gap:13px
  }
  .card-body {
    padding:17px 15px 0
  }
  .card-body h3 {
    font-size:23px
  }
  .entry-art {
    height:160px
  }
  .quiet-label {
    display:none
  }
  .detail-layout {
    grid-template-columns:270px 1fr;
    gap:30px
  }
  .auth-layout {
    gap:30px
  }
  .auth-intro h1 {
    font-size:44px
  }
  .auth-card {
    padding:25px
  }
  .dashboard-heading {
    align-items:start
  }
  .dashboard-heading .heading-actions {
    justify-content:end
  }
  .master-actions {
    justify-content:end
  }
  .master-record {
    padding:20px
  }
  .master-record-top {
    gap:12px
  }
}

@media(max-width:900px) {
  .topbar-label {
    display:none
  }
  .topbar {
    justify-content:flex-end
  }
  .record-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .hero-content {
    width:95%
  }
  .hero:after {
    background:linear-gradient(90deg,#101516f5,#101516bd 55%,#10151666)
  }
  .hero h1 {
    font-size:47px
  }
  .detail-layout {
    grid-template-columns:1fr;
    gap:25px
  }
  .record-aside {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0
  }
  .record-aside .entry-art {
    height:260px
  }
  .aside-caption {
    grid-column:1/-1
  }
  .fact-list {
    padding:4px 20px
  }
  .prose {
    padding-top:0
  }
  .auth-layout {
    grid-template-columns:1fr;
    gap:10px;
    max-width:460px;
    padding:10px 0 30px
  }
  .auth-intro {
    padding-top:0
  }
  .auth-intro .eclipse-mark {
    display:none
  }
  .auth-intro h1 {
    font-size:40px
  }
  .auth-intro h1 br {
    display:none
  }
  .auth-intro>p:last-child {
    max-width:none
  }
  .dashboard-heading {
    display:block
  }
  .dashboard-heading .heading-actions {
    justify-content:start;
    margin-top:20px
  }
  .notice {
    align-items:start;
    flex-direction:column;
    gap:15px
  }
  .stat-grid {
    gap:8px
  }
  .stat {
    padding:14px
  }
  .stat strong {
    font-size:31px
  }
  .master-record-top {
    align-items:start;
    flex-direction:column
  }
  .master-actions {
    justify-content:start
  }
  .catalogue-filters {
    flex-wrap:wrap
  }
  .catalogue-filters .search-box {
    min-width:100%
  }
  .catalogue-filters select {
    flex:1;
    max-width:none
  }
  .footer {
    flex-direction:column;
    gap:8px
  }
}

@media(max-width:650px) {
  .sidebar {
    position:relative;
    width:auto;
    inset:auto;
    padding:20px 20px 0;
    border-right:0;
    border-bottom:1px solid var(--line)
  }
  .brand {
    font-size:26px;
    letter-spacing:4px;
    margin-bottom:19px
  }
  .brand small {
    font-size:8px;
    letter-spacing:1.5px
  }
  .nav-caption,.sidebar-bottom,.category-nav {
    display:none
  }
  .main-nav {
    flex-direction:row;
    gap:16px
  }
  .main-nav a {
    padding:10px 3px;
    border-radius:0;
    font-size:12px
  }
  .main-nav a[aria-current] {
    box-shadow:inset 0 -2px var(--gold);
    background:transparent
  }
  .main-nav a>span:first-child {
    font-size:18px
  }
  .shell {
    margin-left:0
  }
  .topbar {
    height:48px;
    padding:0 20px
  }
  .topbar-actions {
    font-size:10px;
    gap:20px
  }
  .local-indicator {
    font-size:9px
  }
  main {
    padding:20px 20px 40px
  }
  .hero {
    min-height:440px;
    background-position:63% center
  }
  .hero-content {
    padding:30px 24px;
    width:100%
  }
  .hero h1 {
    font-size:43px;
    margin-top:22px;
    letter-spacing:-1.2px
  }
  .eyebrow {
    font-size:8px!important;
    letter-spacing:1.3px
  }
  .hero-description {
    font-size:12px;
    max-width:295px
  }
  .hero-coordinate {
    display:none
  }
  .hero-footnote {
    font-size:11px
  }
  .search-section {
    margin:20px 0 30px
  }
  .search-box {
    padding:0 13px;
    gap:14px
  }
  .search-box button {
    font-size:10px;
    padding-left:12px
  }
  .search-box button span {
    display:none
  }
  .section {
    margin-top:30px
  }
  .section-heading {
    gap:10px;
    align-items:start
  }
  .section-heading h2 {
    font-size:24px
  }
  .section-heading .text-link {
    max-width:95px;
    text-align:right;
    font-size:10px
  }
  .category-card {
    padding:14px 12px;
    min-height:113px
  }
  .category-name {
    font-size:16px
  }
  .category-count {
    font-size:8px
  }
  .category-arrow {
    right:10px
  }
  .record-grid {
    grid-template-columns:1fr;
    gap:20px
  }
  .entry-art {
    height:215px
  }
  .card-body {
    padding:20px 21px 0
  }
  .card-body h3 {
    font-size:28px
  }
  .card-description {
    min-height:0;
    font-size:12px
  }
  .card-meta {
    font-size:9px
  }
  .card-subtitle {
    font-size:13px
  }
  .footer {
    padding:20px;
    font-size:9px
  }
  .notice {
    padding:17px
  }
  .notice .button {
    white-space:normal
  }
  .page-heading {
    padding-top:10px
  }
  .page-heading h1 {
    font-size:39px
  }
  .catalogue-filters {
    gap:10px
  }
  .catalogue-filters select {
    font-size:11px;
    min-width:0
  }
  .record-intro {
    margin-bottom:25px
  }
  .record-intro h1 {
    font-size:45px
  }
  .detail-subtitle {
    font-size:21px
  }
  .detail-summary {
    font-size:13px
  }
  .record-aside {
    display:block
  }
  .record-aside .entry-art {
    height:300px
  }
  .prose>p:not(.eyebrow) {
    font-size:16px
  }
  .prose h2 {
    font-size:29px
  }
  .breadcrumbs {
    gap:9px;
    font-size:9px;
    padding:5px 0 25px
  }
  .auth-card {
    padding:24px
  }
  .auth-intro h1 {
    font-size:38px
  }
  .auth-layout {
    min-height:0
  }
  .stat-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .master-record {
    padding:17px
  }
  .master-record h2 {
    font-size:26px
  }
  .status-form {
    gap:9px
  }
  .status-form label {
    width:100%
  }
  .status-form .status {
    margin-left:0
  }
  .master-fact {
    align-items:start;
    gap:10px
  }
  .master-fact form {
    gap:7px;
    flex-shrink:0
  }
  .fact-state {
    display:none
  }
  .master-fact p {
    font-size:11px
  }
  .master-actions .button {
    font-size:10px
  }
  .empty-state {
    padding:30px 20px
  }
  .empty-state h1 {
    font-size:32px
  }
  .pagination {
    gap:10px;
    font-size:10px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}
