/* Weathered mountain stone, aged Dwemer-inspired brass, and carved geometry. */
:root {
  --bg: #151918;
  --bg-2: #232824;
  --stone: #444942;
  --card: #292e29;
  --card-2: #363b34;
  --card-ink: #e9e4d5;
  --card-muted: #c2c7b7;
  --ink: #e8e5d8;
  --muted: #c2c7b7;
  --gold: #b29657;      /* bronze */
  --gold-2: #d9c38a;    /* polished bronze */
  --bronze-dark: #75613c;
  --verdigris: #6bab98;
  --line: #4d5245;
  --error: #e3795d;
  --ok: #7cc3a9;
  --radius: 2px;
  --cut: 8px;
  --bronze-grad: linear-gradient(180deg, #d9c38a 0%, #b49a60 48%, #8e7443 100%);
  --clip: polygon(var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)), 0 var(--cut));
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; color: var(--ink); min-height: 100vh;
  font: 18px/1.55 'EB Garamond', Georgia, serif;
  background-color: var(--bg);
  isolation: isolate;
}
a { color: var(--gold-2); }
h1, h2, h3, .brand, .btn, .nav a { font-family: 'Marcellus SC', 'Cinzel', Georgia, serif; letter-spacing: .06em; }
h1 { font-size: 2rem; margin: .2em 0; font-weight: 400; }
h2 { font-size: 1.35rem; font-weight: 400; }
h3 { font-size: 1.1rem; margin: .1em 0 .3em; font-weight: 400; }
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 16px; }

/* ---------- header: a bronze lintel ---------- */
.site-head {
  position: sticky; top: 0; z-index: 5;
  background: linear-gradient(180deg, rgba(42,27,18,.96), rgba(22,15,12,.96));
  border-bottom: 1px solid var(--bronze-dark);
  backdrop-filter: blur(6px);
}
.site-head::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -6px; height: 5px;
  background:
    repeating-linear-gradient(90deg, var(--gold) 0 14px, transparent 14px 18px, var(--bronze-dark) 18px 22px, transparent 22px 26px);
  opacity: .55;
}
.head-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; padding-bottom: 12px; flex-wrap: wrap; }
.brand {
  text-decoration: none; font-size: 1.3rem;
  background: var(--bronze-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.brand::before { content: '⚙ '; color: var(--gold); -webkit-text-fill-color: var(--gold); }
.nav { display: flex; gap: 4px; flex-wrap: wrap; }
.nav a { color: var(--muted); text-decoration: none; padding: 6px 12px; font-size: .9rem; clip-path: var(--clip); --cut: 6px; }
.nav a:hover { color: var(--gold-2); background: rgba(196,134,58,.10); }
.nav a.active { color: #1b120b; background: var(--bronze-grad); }

main { padding-top: 32px; padding-bottom: 48px; min-height: 60vh; }
.foot { color: var(--muted); font-size: .9rem; padding-bottom: 32px; border-top: 1px solid var(--line); padding-top: 16px; }
.foot a { color: var(--muted); }

/* ---------- hero ---------- */
.hero { text-align: center; padding: 44px 0 32px; margin-bottom: 28px; position: relative; }
.hero::after {
  content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: min(560px, 90%); height: 14px;
  background:
    linear-gradient(45deg, transparent 40%, var(--gold) 40% 60%, transparent 60%) center / 14px 14px no-repeat,
    linear-gradient(-45deg, transparent 40%, var(--gold) 40% 60%, transparent 60%) center / 14px 14px no-repeat,
    linear-gradient(90deg, transparent, var(--bronze-dark) 20%, var(--gold) 50%, var(--bronze-dark) 80%, transparent) center / 100% 1px no-repeat;
}
.hero h1 {
  font-size: clamp(2rem, 6vw, 3.4rem); letter-spacing: .08em;
  background: var(--bronze-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
  text-shadow: 0 2px 18px rgba(214,120,52,.25);
}
.tagline { font-style: italic; color: var(--muted); font-size: 1.15rem; margin: 0 0 22px; }
.hero-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.section-title {
  color: var(--gold-2); display: flex; align-items: center; gap: 14px; padding-bottom: 4px;
}
.section-title::after {
  content: ''; flex: 1; height: 1px;
  background: linear-gradient(90deg, var(--gold), var(--bronze-dark) 40%, transparent);
}

/* ---------- buttons: cut-corner bronze plates ---------- */
.btn {
  display: inline-block; border: 0; background: var(--bronze-grad); color: #1b120b;
  padding: 10px 20px; font-size: .9rem; cursor: pointer; text-decoration: none;
  clip-path: var(--clip); box-shadow: inset 0 1px 0 rgba(255,235,200,.5), inset 0 -2px 0 rgba(0,0,0,.25);
}
.btn:hover { filter: brightness(1.12); }
.btn:disabled { opacity: .6; cursor: wait; }
.btn.ghost { background: rgba(196,134,58,.08); color: var(--gold-2); box-shadow: inset 0 0 0 1px var(--gold); }
.btn.ghost:hover { background: rgba(196,134,58,.18); filter: none; }
.btn.small { padding: 6px 13px; font-size: .8rem; --cut: 6px; }
.btn.danger { background: rgba(227,121,93,.08); color: var(--error); box-shadow: inset 0 0 0 1px var(--error); }

input, textarea, select {
  font: inherit; font-size: 1rem; color: var(--ink); background: #151b18;
  border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 10px; width: 100%;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.45);
}
input:focus, textarea:focus, select:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
textarea { min-height: 80px; resize: vertical; }

/* ---------- framed stone panels ---------- */
.panel, .admin-section {
  position: relative;
  background: linear-gradient(180deg, var(--card-2), var(--bg-2));
  border: 1px solid var(--bronze-dark); border-radius: var(--radius);
  box-shadow: inset 0 0 0 4px var(--bg-2), inset 0 0 0 5px rgba(196,134,58,.28), 0 10px 30px rgba(0,0,0,.45);
}
.panel { padding: 28px; }
.center { text-align: center; max-width: 520px; margin: 40px auto; }
.seal { font-size: 2.8rem; color: var(--gold); line-height: 1; text-shadow: 0 0 18px rgba(214,120,52,.45); }
.lock { display: flex; gap: 8px; margin-top: 16px; }
.lock.inline { margin-top: 8px; }
.lock input { flex: 1; min-width: 0; }

.page-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.page-head h1 { color: var(--gold-2); }
.searchbar { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.searchbar input { max-width: 480px; }

.msg { margin: 8px 0; }
.msg.muted, .meta { color: var(--muted); font-size: .92rem; }
.msg.error { color: var(--error); }
.msg:empty { display: none; }

/* ---------- lot cards: stone tablets with bronze rivets ---------- */
.grid, .highlights { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.highlights { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.card {
  position: relative; display: flex; flex-direction: column; overflow: hidden;
  background: linear-gradient(180deg, var(--card-2), var(--card));
  color: var(--card-ink); border-radius: var(--radius);
  border: 1px solid var(--bronze-dark);
  box-shadow: 0 2px 0 #0007, 0 10px 26px #0006;
}
.card::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(circle at 7px 7px, var(--gold-2) 0 2px, var(--bronze-dark) 2.5px, transparent 3.5px),
    radial-gradient(circle at calc(100% - 7px) 7px, var(--gold-2) 0 2px, var(--bronze-dark) 2.5px, transparent 3.5px),
    radial-gradient(circle at 7px calc(100% - 7px), var(--gold-2) 0 2px, var(--bronze-dark) 2.5px, transparent 3.5px),
    radial-gradient(circle at calc(100% - 7px) calc(100% - 7px), var(--gold-2) 0 2px, var(--bronze-dark) 2.5px, transparent 3.5px);
}
.card .meta { color: var(--card-muted); }
.card-body { padding: 14px 18px 18px; border-top: 2px solid var(--gold); }
.card h3 { color: var(--gold-2); }
.card .desc { margin: 6px 0; white-space: pre-line; }
.card .msg.error { color: var(--error); }
.img { aspect-ratio: 4 / 3; background: #1b211d; overflow: hidden; }
.img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.img.ph {
  display: grid; place-items: center; color: var(--gold); font-size: 2.4rem;
  background:
    repeating-linear-gradient(45deg, rgba(196,134,58,.06) 0 2px, transparent 2px 14px),
    radial-gradient(circle at 50% 50%, #3b4336, #1b211d 75%);
}
.price { margin: 4px 0; }
.price strong { color: var(--gold-2); }
.badge {
  display: inline-block; background: rgba(107,171,152,.14); color: var(--verdigris);
  border: 1px solid rgba(107,171,152,.5); font-family: 'Marcellus SC', serif; font-size: .72rem;
  padding: 1px 9px; vertical-align: middle; letter-spacing: .05em;
}
.lot.sealed { background: linear-gradient(180deg, #2a1d17, #1e140f); }
.lot.sealed .img.ph { color: var(--verdigris); }

@media (max-width: 600px) {
  body { font-size: 17px; }
  .lock { flex-direction: column; }
  .page-head { flex-direction: column; }
  .searchbar { flex-direction: column; align-items: stretch; }
}

/* ---------- admin ---------- */
.admin-grid { display: grid; gap: 22px; }
.admin-section { padding: 20px; }
.admin-section h2 { margin-top: 0; color: var(--gold-2); }
.form { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.form .full { grid-column: 1 / -1; }
.form label { display: grid; align-content: start; gap: 4px; font-size: .95rem; color: var(--ink); }
.form .hint { font-size: .85rem; line-height: 1.5; color: var(--muted); }
.form .actions { grid-column: 1 / -1; display: flex; gap: 8px; flex-wrap: wrap; }
.check { display: flex !important; flex-direction: row; align-items: center; gap: 8px; }
.check input { width: auto; box-shadow: none; accent-color: var(--gold); }
@media (max-width: 700px) { .form { grid-template-columns: 1fr; } }
.row-list { display: grid; gap: 8px; margin-top: 12px; }
.row { border: 1px solid var(--line); border-left: 3px solid var(--bronze-dark); border-radius: var(--radius); padding: 10px 12px; background: rgba(18,12,9,.7); }
.row-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.row-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.tags { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 4px; }
.tag { font-size: .75rem; background: rgba(107,171,152,.10); border: 1px solid rgba(107,171,152,.4); color: var(--verdigris); padding: 1px 8px; }
.status { font-family: 'Marcellus SC', serif; font-size: .72rem; padding: 1px 8px; border: 1px solid; }
.status.open { color: var(--ok); }
.status.closed { color: var(--muted); }
.toast {
  position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%); z-index: 20;
  background: var(--bronze-grad); color: #1b120b; padding: 9px 18px; clip-path: var(--clip);
  font-family: 'Marcellus SC', serif; font-size: .88rem;
}
.toolbar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.toolbar select { width: auto; min-width: 220px; }

/* Mountain-city architecture: layered rock, bronze tracery, and a mechanical vault. */
.site-background { position: fixed; inset: 0; z-index: -2; pointer-events: none; overflow: hidden; background: var(--bg); }
.site-background img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.site-background::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #0c140f8c, #0c140fc7); }
.page-head, .searchbar { background: #141e16ed; border: 1px solid #77745c66; padding: 18px 22px; }
.page-head .meta { margin-bottom: 0; }
.searchbar input { min-width: 0; }
main.wrap > p.meta, main.wrap > .msg, .grid > .msg, #hl > .msg {
  padding: 16px 20px; background: #141e16ed; border: 1px solid #77745c66;
}
body::before {
  content: ''; position: fixed; inset: 0 22px; z-index: -1; pointer-events: none;
  border-inline: 1px solid #b2965726;
  box-shadow: 0 0 0 7px #0c100f33, inset 0 0 0 6px #0c100f22;
}
.wrap { max-width: 1200px; padding-inline: 36px; }
main.wrap { padding-top: 40px; padding-bottom: 72px; }
.site-head {
  background: linear-gradient(#292b27cc, #181c18ed), url('/stone.svg');
  border-bottom-color: #9a8452;
  box-shadow: 0 6px 24px #0005, inset 0 -4px #101612;
}
.site-head::after {
  bottom: -8px; height: 7px; opacity: .65;
  background: repeating-linear-gradient(90deg, transparent 0 18px, #9a8452 18px 20px, transparent 20px 25px, #9a8452 25px 33px, transparent 33px 38px, #9a8452 38px 40px, transparent 40px 58px);
  border-block: 1px solid #75613c77;
}
.head-inner { min-height: 88px; gap: 24px; }
.brand { color: var(--gold-2); font-size: 1.2rem; letter-spacing: .07em; background: none; }
.brand::before {
  content: '◈'; display: inline-grid; place-items: center; width: 36px; height: 36px;
  margin-right: 14px; border: 1px solid #9c8550; outline: 1px solid #9c855044; outline-offset: 3px;
  font-size: 1.55rem; vertical-align: middle; background: #141b17;
}
.nav { gap: 8px; }
.nav a { padding: 10px 14px; font-size: .79rem; clip-path: none; border-bottom: 1px solid transparent; }
.nav a.active { background: #b2965714; color: var(--gold-2); border-bottom-color: var(--gold); }
.nav a:hover { background: #b2965714; color: #eee5cc; }
.hero {
  display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; text-align: left;
  min-height: 470px; padding: 48px 48px 40px; margin: 0 0 52px; isolation: isolate;
  background: linear-gradient(90deg, #252822b8, #25282266), url('/stone.svg');
  border: 1px solid #8a7950; outline: 1px solid #8a79503b; outline-offset: 6px;
  box-shadow: inset 0 0 0 6px #121a1480, inset 0 0 0 7px #b2965733, 0 24px 60px #0005;
}
.hero::before {
  content: ''; position: absolute; inset: 16px; z-index: -1; pointer-events: none;
  border: 1px solid #b2965733;
  background: linear-gradient(135deg, #b29657 0 2px, transparent 2px) top left / 20px 20px no-repeat,
    linear-gradient(-135deg, #b29657 0 2px, transparent 2px) top right / 20px 20px no-repeat;
}
.hero::after { width: 140px; bottom: -7px; background-color: #232b22; }
.eyebrow { margin: 0 0 14px; font: 11px/1.6 'Marcellus SC', Georgia, serif; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.hero h1 { font-size: clamp(2.8rem, 4.7vw, 4.1rem); line-height: 1.1; letter-spacing: .025em; max-width: 470px; margin: 0 0 22px; color: #ece8d7; background: none; text-shadow: 0 3px 2px #0009; }
.tagline { color: #bfc3b1; font-size: 1.2rem; max-width: 320px; margin-bottom: 28px; }
.hero-actions { justify-content: flex-start; flex-direction: column; align-items: flex-start; gap: 16px; margin-top: 30px; }
.hero .btn { display: flex; align-items: center; justify-content: center; width: min(100%, 320px); min-height: 60px; padding: 16px 24px; font-size: .9rem; letter-spacing: .035em; text-align: center; }
.hero-note { color: #9aa38f; font-size: .85rem; margin: 24px 0 0; font-style: italic; }
.btn { transition: background .2s, filter .2s; }
.btn.ghost { background: #151c1870; color: #d1bd87; box-shadow: inset 0 0 0 1px #9b844e; }
.btn.ghost:hover { background: #b2965726; }
a:focus-visible, button:focus-visible { outline: 2px solid #eee2b9; outline-offset: 4px; }
.vault-art { position: relative; height: 350px; display: grid; place-items: center; margin-left: 30px; filter: drop-shadow(0 16px 16px #0007); }
.vault-crown { position: absolute; inset: 0 20px 14px; border: 14px solid #555b49; border-bottom-width: 36px; border-radius: 48% 48% 0 0; background: #151e18; box-shadow: 0 0 0 2px #111a15, 0 0 0 4px #77806455, inset 0 0 0 2px #8a7950, inset 0 0 24px #000; }
.vault-crown::before { content: ''; position: absolute; inset: -22px 36% auto; height: 53px; background: linear-gradient(100deg, #5d6554, #3c4537); border: 1px solid #909477; clip-path: polygon(12% 0, 88% 0, 100% 100%, 0 100%); }
.vault-ring { position: relative; width: 238px; height: 238px; border-radius: 50%; padding: 23px; background: repeating-conic-gradient(from 3deg, #8d7c52 0deg 6deg, #383c2f 6deg 9deg, #655d3f 9deg 15deg); border: 5px solid #998150; box-shadow: 0 0 0 5px #282d23, 0 0 0 7px #74623f, 0 0 0 14px #30392b, 0 0 0 16px #626e51, inset 0 0 0 3px #292a1d; }
.vault-inner { height: 100%; display: grid; place-items: center; position: relative; border-radius: 50%; border: 3px solid #b39a60; background: repeating-conic-gradient(from 22.5deg, #394330 0 43deg, #a18a50 43deg 45deg); box-shadow: inset 0 0 0 6px #141c16, inset 0 0 0 8px #786d43, inset 0 0 35px #080f08; }
.vault-inner::before { content: ''; position: absolute; inset: 31px; border: 2px solid #aa9155; transform: rotate(45deg); background: linear-gradient(135deg, #6a7350, #293324); box-shadow: 0 0 0 5px #222a1f, 0 0 0 6px #8e7c49; }
.vault-glyph { z-index: 1; font-size: 70px; line-height: 1; color: #d1bd7d; text-shadow: 0 2px 3px #000; }
.vault-plinth { position: absolute; bottom: 0; left: 5px; right: 5px; height: 44px; display: grid; place-items: center; background: linear-gradient(#535b49, #30392e); border: 1px solid #7b805e; box-shadow: inset 0 5px #6a715653, 0 7px #151d16; }
.vault-plinth span { color: #b6b28b; font: 9px 'Marcellus SC', serif; letter-spacing: .24em; }
.sales-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; border: 1px solid #b296574f; margin-bottom: 26px; padding: 18px 22px; background: #141e16ed; }
.sales-heading .eyebrow { margin: 0 0 5px; font-size: 10px; }
.sales-heading h2 { margin: 0; font-size: 1.8rem; color: #e4dfcc; letter-spacing: .035em; }
.sales-heading .section-title::after { display: none; }
.ledger-link { color: #bda974; font-size: .88rem; text-decoration: none; }
.ledger-link:hover { color: #ead7a4; }
#hl > .msg { padding: 36px 24px; border: 1px solid #74795d55; text-align: center; background: #20282090; }
.card, .panel, .admin-section { background-image: linear-gradient(125deg, #434b3b80, #1c251ee6), url('/stone.svg'); border-color: #7c704b; }
.card { box-shadow: inset 0 0 0 4px #141d1644, 0 8px 24px #0005; }
.card-body { border-top: 3px double #8a7950; padding: 20px 22px 24px; }
.card h3 { font-size: 1.3rem; }
.card::after { opacity: .65; }
.img.ph { background: radial-gradient(ellipse, #5a654433, #121c1799), url('/stone.svg'); }
.img.ph span { border: 1px solid #9a845255; padding: 12px 25px; outline: 1px solid #9a845222; outline-offset: 6px; }
.lot.sealed { background: linear-gradient(135deg, #303e32, #1a241e); }
.foot { max-width: 1128px; padding: 16px 20px; border-top: 3px double #75613c70; display: flex; justify-content: space-between; gap: 16px; color: #c2c7b7; font-size: .85rem; background: #141e16ed; }
.foot::after { content: 'By stone & by coin'; font-style: italic; letter-spacing: .04em; }
.row { background: #151e18aa; }
@media (max-width: 1000px) {
  .hero { padding: 38px 30px; grid-template-columns: 1.1fr 1fr; }
  .vault-art { margin-left: 8px; transform: scale(.85); }
  .hero-actions { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 700px) {
  body::before { inset-inline: 8px; }
  .wrap { padding-inline: 24px; }
  .head-inner { justify-content: center; gap: 15px; padding-block: 20px 12px; }
  .brand { font-size: 1.05rem; }
  .nav { justify-content: center; gap: 2px; }
  .nav a { font-size: .72rem; padding: 8px 11px; }
  main.wrap { padding-top: 30px; }
  .hero { grid-template-columns: 1fr; padding: 38px 26px 30px; text-align: center; gap: 28px; margin-bottom: 38px; }
  .hero h1 { font-size: 2.8rem; margin-inline: auto; }
  .tagline { margin-inline: auto; }
  .eyebrow { font-size: 9px; }
  .hero-actions { align-items: center; }
  .hero-note { font-size: .83rem; }
  .vault-art { width: 280px; max-width: 100%; height: 295px; margin: -12px auto -12px; transform: scale(.85); }
  .vault-crown { inset-inline: 0; }
  .vault-plinth { left: -10px; right: -10px; }
  .sales-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .sales-heading h2 { font-size: 1.6rem; }
  .grid, .highlights { grid-template-columns: minmax(0, 1fr); }
  .foot { margin-inline: 24px; flex-wrap: wrap; }
  .panel { padding: 24px 20px; }
}

/* Centuries of damp, soot, worn stone, and oxidized metal. */
:root {
  --gold: #9c895c;
  --gold-2: #c4b488;
  --bronze-dark: #655b40;
  --bronze-grad: linear-gradient(168deg, #b2a071, #8b7950 46%, #9b895a 49%, #746647 100%);
}
body::before { border-color: #65665025; box-shadow: none; }
.site-head { border-bottom-color: #6f664d; }
.site-head::after { opacity: .3; clip-path: polygon(0 0, 28% 0, 28% 65%, 32% 65%, 32% 0, 71% 0, 72% 70%, 78% 70%, 78% 0, 100% 0, 100% 100%, 0 100%); }
.brand::before { border-color: #827554; outline-color: #8275542b; background: #21251f; box-shadow: inset 2px 2px 5px #0008; }
.hero {
  border: 1px solid #77745c; outline: none;
  clip-path: polygon(0 5px, 12px 0, 37% 0, 37.5% 3px, 38.5% 0, 99% 0, 100% 10px, 100% 65%, 99.6% 67%, 100% 69%, 100% 99%, 98% 100%, 67% 100%, 66% 99.3%, 64% 100%, 2px 100%, 0 97%, 0 33%, .4% 32%, 0 30%);
  box-shadow: inset 0 0 0 5px #151a1377, inset 0 0 0 7px #9c92632b, inset 0 0 70px #0b0e0a99;
}
.hero::before { inset: 0; border: 0; background: url('/weathering.svg') center / 100% 100% no-repeat; opacity: .9; }
.hero::after { display: none; }
.hero h1 { color: #d9d5c4; text-shadow: 1px 2px 1px #080b08, 0 -1px #ece4cc33; }
.tagline { color: #c2c2b1; }
.hero-note { color: #b0b19f; }
.btn { background-image: linear-gradient(165deg, transparent 35%, #393e3029 36%, transparent 39%, transparent 70%, #272d2429 71%, transparent 74%), var(--bronze-grad); background-size: auto; box-shadow: inset 0 1px #d9c99766, inset 0 -2px #11170d88; }
.btn.ghost { color: #c9bc98; box-shadow: inset 0 0 0 1px #817454; background: linear-gradient(160deg, #555b4222, #11180e55); }
.vault-art { filter: drop-shadow(0 18px 12px #0008) saturate(.65); }
.vault-crown {
  border-color: #55564b; background: #151a14;
  box-shadow: 0 0 0 2px #11170f, 0 0 0 4px #72726055, inset 0 0 0 2px #756b4c, inset 0 0 24px #000;
}
.vault-crown::before { background: linear-gradient(110deg, #5b5e51, #3d4237); border-color: #77796b; }
.vault-crown::after {
  content: ''; pointer-events: none; position: absolute; inset: -15px -15px -37px;
  background: url('/weathering.svg') 68% 0 / 660px 430px;
  border-radius: inherit; opacity: .95;
}
.vault-ring { border-color: #7e714d; transform: rotate(-7deg); box-shadow: 0 0 0 5px #292c22, 0 0 0 7px #625b40, 0 0 0 14px #343b2d, 0 0 0 16px #596149, inset 0 0 0 3px #24271c; }
.vault-ring::after { content: ''; pointer-events: none; position: absolute; inset: -5px; border-radius: 50%; background: url('/weathering.svg') 57% 43% / 550px 400px, conic-gradient(from 26deg, transparent, #15251c88 20deg, transparent 40deg, #10150d99 100deg, transparent 140deg, #3d65516b 230deg, transparent 280deg); }
.vault-inner { border-color: #8c7c54; background: repeating-conic-gradient(from 22.5deg, #3b4333 0 43deg, #7b704c 43deg 45deg); }
.vault-inner::before { background: linear-gradient(135deg, #5c6248, #282f23); border-color: #8f8058; }
.vault-glyph { color: #ae9d71; }
.vault-plinth { background: url('/weathering.svg') 10% 90% / 600px 300px, linear-gradient(#53574a, #30372c); border-color: #686c58; clip-path: polygon(0 0, 73% 0, 75% 12%, 78% 0, 100% 0, 100% 100%, 4% 100%, 0 85%); }
.vault-plinth span { color: #b3b09b; }
.card, .panel, .admin-section { background-image: url('/weathering.svg'), linear-gradient(125deg, #393d3277, #1c241ed9), url('/stone.svg'); border-color: #686650; box-shadow: inset 0 0 0 4px #13191055, 0 8px 22px #0005; }
.card::after { opacity: .35; }
.sales-heading { border-bottom-color: #8c82504f; }
#hl > .msg { background: #141e16ed; border-color: #73735b55; }

/* Personal bidder keys and the lot bidding ledger. */
.bidder-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; margin: 22px 0; border: 1px solid #77745c; background: #1b231cbd; }
.bidder-panel p { margin: 4px 0 0; }
.bidder-key-form { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.bidder-key-form input { flex: 1; min-width: 170px; }
.bidder-key-form .msg { flex-basis: 100%; }
.bid-section { padding: 18px 22px 22px; margin-top: auto; border-top: 1px solid #77745c66; background: #11190f55; }
.bid-summary strong, .bid-summary span { display: block; }
.bid-summary strong { color: var(--gold-2); font-size: 1.4rem; }
.bid-form { display: flex; gap: 8px; align-items: stretch; }
.bid-form input { min-width: 0; flex: 1; }
.bid-form .btn { flex-shrink: 0; }
.bid-minimum { margin: 12px 0 8px; }
.bid-history { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 14px; }
.bid-history ol { padding-left: 24px; }
.bid-history li { padding-block: 4px; }
.key-receipt { margin-top: 18px; }
.issued-key { font-family: ui-monospace, monospace; margin: 0 0 14px; font-size: .85rem; }
.date-preview { display: block; color: var(--gold-2); font-size: .9rem; margin-top: 4px; }
input[type="datetime-local"] { color-scheme: dark; min-width: 0; max-width: 100%; }
@media (max-width: 700px) {
  .bidder-panel { flex-direction: column; align-items: stretch; }
  .bidder-key-form { align-items: stretch; }
  .bidder-key-form input { min-width: 0; flex-basis: 100%; }
}

/* Steward workspace: private preparation, publishing, and sale review. */
.steward-page main.wrap { max-width: 1400px; }
.steward-page .admin-grid { grid-template-columns: minmax(0, 1fr); }
.steward-page .admin-section { min-width: 0; background: linear-gradient(120deg, #262e26f5, #182119f5); padding: 28px; }
.desk-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin: 8px 0 28px; padding: 24px; background: #172016e8; border: 1px solid #77745c66; }
.desk-heading h1 { font-size: clamp(2rem, 4vw, 2.8rem); margin: 0; }
.desk-heading .eyebrow { margin-bottom: 8px; }
.desk-heading .meta { margin: 8px 0 0; }
.desk-clock { color: var(--gold-2); font-size: .85rem; padding: 10px 14px; border: 1px solid #81745466; background: #1b241bd9; }
.desk-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 26px; }
.desk-stat { display: flex; align-items: center; gap: 16px; padding: 16px 24px; background: #202920ed; border: 1px solid #77745c77; }
.desk-stat strong { color: var(--gold-2); font: 2rem 'Marcellus SC', serif; }
.desk-stat span { font-size: .9rem; color: #c0c2af; }
.desk-tabs { display: flex; gap: 8px; border-bottom: 1px solid #81745499; margin-bottom: 24px; }
.desk-tab { cursor: pointer; font: .92rem 'Marcellus SC', serif; color: #b2b6a5; padding: 14px 24px; background: #192219d9; border: 1px solid transparent; border-bottom: 3px solid transparent; }
.desk-tab.active { color: #e1d2aa; border-bottom-color: #b39b62; background: #333c2cf5; }
.desk-tab:hover { color: var(--ink); background: #333c2cf5; }
.desk-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 22px; }
.desk-toolbar h2, .desk-toolbar h3 { margin: 0; }
.auction-workspace { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 28px; }
.auction-sidebar { min-width: 0; border-right: 1px solid #77745c66; padding-right: 24px; }
.auction-sidebar > input, .auction-sidebar > select { font-size: .95rem; margin-bottom: 12px; }
.auction-list { display: grid; gap: 10px; }
.auction-choice { display: grid; gap: 8px; width: 100%; text-align: left; padding: 16px; color: var(--ink); cursor: pointer; font: inherit; border: 1px solid #71775b55; background: #172016; overflow-wrap: anywhere; }
.auction-choice.selected { border-color: #b39b62; background: #353e2c; box-shadow: inset 3px 0 #b39b62; }
.auction-choice:hover { background: #303a29; }
.auction-choice .status { justify-self: start; }
.auction-choice strong { font-weight: 400; line-height: 1.25; }
.auction-choice-date { font-size: .78rem; line-height: 1.4; color: #b4b9a5; }
.auction-detail { min-width: 0; }
.auction-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.auction-detail-heading h2 { margin: 12px 0 0; color: #eee6cf; font-size: 1.6rem; overflow-wrap: anywhere; }
.auction-detail-heading .btn { flex-shrink: 0; }
.auction-status-note { color: #bec5af; font-size: .95rem; line-height: 1.5; margin: 16px 0; }
.auction-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; border-block: 1px solid #77745c66; padding-block: 18px; }
.auction-dates strong { display: block; margin-top: 6px; font-size: .95rem; font-weight: 400; color: #ddd5ba; }
.lot-totals { display: flex; gap: 24px; color: #b4baa3; padding: 15px 0; font-size: .9rem; }
.auction-publish-actions { margin: 2px 0 20px; }
.auction-publish-actions:empty { display: none; }
.lots-toolbar { margin-top: 28px; padding-top: 20px; border-top: 1px solid #77745c66; }
.auction-form { background: #17201699; border: 1px solid #77745c66; padding: 24px; gap: 18px; }
.auction-form h2 { margin-bottom: 0; }
.schedule-form { margin: 20px 0; }
.auction-form .meta { margin: 0; }
.auction-more { margin-top: 30px; border-top: 1px solid #77745c44; padding-top: 18px; }
.auction-more summary { cursor: pointer; font-size: .9rem; color: #aeb49f; }
.auction-more .row-actions { margin-top: 15px; }
.status.draft { color: #b9c0ac; }
.status.scheduled { color: #d2bb7d; }
.empty-state { padding: 24px 16px; text-align: center; color: var(--muted); }
.steward-page .row { padding: 18px; background: #141d14b3; }
.steward-page .row-head > div:first-child { min-width: 0; overflow-wrap: anywhere; }
.steward-page .row-actions .btn { font-size: .73rem; }
.steward-page .row-head { row-gap: 14px; }
@media (max-width: 1000px) {
  .auction-workspace { grid-template-columns: 200px minmax(0, 1fr); gap: 20px; }
  .auction-sidebar { padding-right: 18px; }
  .steward-page .admin-section { padding: 22px; }
  .auction-detail-heading { flex-wrap: wrap; }
  .auction-form { grid-template-columns: 1fr; padding: 20px; }
  .desk-heading { align-items: flex-start; }
  .desk-clock { max-width: 180px; }
}
@media (max-width: 700px) {
  .desk-heading { flex-direction: column; gap: 14px; }
  .desk-clock { max-width: none; }
  .desk-stats { gap: 8px; }
  .desk-stat { flex-direction: column; gap: 4px; padding: 14px 6px; text-align: center; }
  .desk-stat span { font-size: .75rem; }
  .desk-tab { padding: 14px 10px; flex: 1; font-size: .8rem; }
  .desk-tabs { gap: 2px; }
  .desk-toolbar { flex-wrap: wrap; }
  .auction-workspace { grid-template-columns: minmax(0, 1fr); }
  .auction-sidebar { border-right: 0; border-bottom: 1px solid #77745c66; padding: 0 0 20px; }
  .auction-list { display: flex; overflow-x: auto; padding-bottom: 4px; }
  .auction-choice { flex: 0 0 210px; }
  .auction-dates { grid-template-columns: 1fr; gap: 16px; }
  .steward-page .admin-section { padding: 18px; }
  .auction-form { padding: 16px; }
  .auction-form .actions .btn { width: 100%; text-align: center; }
}
