:root {
  --bg: #f2efe7;
  --surface: #e9e5da;
  --surface-2: #dfd9cc;
  --text: #171713;
  --muted: #716f67;
  --line: rgba(23, 23, 19, .18);
  --orange: #c66b19;
  --orange-soft: #e39a4e;
  --max: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--bg);
  font-family: Inter, "Segoe UI", system-ui, sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
}
button, a { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
.grain {
  position: fixed; inset: 0; z-index: 20; pointer-events: none; opacity: .045;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
}
.site-header {
  position: absolute; z-index: 10; top: 0; left: 50%; transform: translateX(-50%);
  width: min(var(--max), calc(100% - 64px)); height: 100px; display: flex;
  align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line);
}
.brand { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 650; letter-spacing: .08em; }
.brand-mark {
  width: 34px; height: 34px; border: 1px solid var(--orange); color: var(--orange);
  border-radius: 50%; display: grid; place-items: center; font-family:"Segoe UI Symbol","Arial Unicode MS",sans-serif; font-weight: 500; line-height:1;
}
.brand i { display: block; color: var(--muted); font-size: 9px; font-style: normal; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; }
nav { display: flex; align-items: center; gap: 32px; font-size: 13px; color: #4d4b45; }
nav a { transition: color .2s; }
nav a:hover { color: var(--orange-soft); }
.button {
  border: 1px solid var(--line); border-radius: 2px; background: transparent; min-height: 50px;
  padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 36px;
  cursor: pointer; font-size: 13px; font-weight: 650; letter-spacing: .02em; transition: .25s ease;
}
.button:hover { border-color: rgba(247,147,26,.7); transform: translateY(-2px); }
.button:focus-visible, a:focus-visible, .filter:focus-visible, .load-more:focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }
.button-small { min-height: 40px; padding: 0 18px; }
.button-primary { background: var(--orange); color: #fffaf1; border-color: var(--orange); }
.button-primary:hover { background: #b95f11; box-shadow: 0 12px 40px rgba(130,70,15,.16); }
.hero {
  min-height: 900px; height: 100vh; position: relative; display: grid; grid-template-columns: 1.05fr .95fr;
  max-width: var(--max); margin: auto; padding: 170px 0 90px; align-items: center;
}
.hero::before {
  content:""; position: absolute; width: 650px; height: 650px; right: -100px; top: 105px;
  background: radial-gradient(circle, rgba(198,107,25,.16), transparent 67%); filter: blur(10px); pointer-events:none;
}
.eyebrow, .section-number { color: var(--orange-soft); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; }
.live-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); margin-right: 9px; box-shadow: 0 0 0 5px rgba(247,147,26,.1); }
h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: clamp(72px, 7.4vw, 116px); line-height: .83; letter-spacing: -.055em; margin: 30px 0 40px; }
h1 span { color: var(--orange); font-style: italic; margin-left: 50px; }
.hero-lead { max-width: 580px; color: #5e5c55; font-size: 17px; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; gap: 36px; margin-top: 42px; }
.text-link { font-size: 13px; border-bottom: 1px solid var(--line); padding: 12px 0; }
.text-link span { margin-left: 20px; color: var(--orange); }
.hero-object { position: relative; height: 650px; display: grid; place-items: center; }
.orbit { position: absolute; border: 1px solid rgba(23,23,19,.13); border-radius: 50%; }
.orbit-one { width: 580px; height: 580px; animation: spin 38s linear infinite; }
.orbit-one::before { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--orange); top:46px; left:104px; box-shadow:0 0 18px var(--orange); }
.orbit-two { width: 450px; height: 450px; border-style: dashed; animation: spin 50s linear infinite reverse; }
@keyframes spin { to { transform: rotate(360deg); } }
.coin {
  position: relative; width: 250px; height: 250px; border-radius: 50%; display: grid; place-items: center;
  color: #160e05; background: radial-gradient(circle at 34% 28%, #ffd391, #f7931a 43%, #8d4307 100%);
  box-shadow: inset 0 0 0 8px rgba(255,224,171,.2), 0 45px 80px rgba(63,44,22,.25), 0 0 80px rgba(198,107,25,.16);
  transform:rotate(-8deg);
  animation:float 6s ease-in-out infinite;
}
.coin::before { content:""; position:absolute; inset:15px; border:1px dashed rgba(55,27,4,.5); border-radius:50%; }
.coin span {
  position:absolute;
  left:50%;
  top:50%;
  display:block;
  font-size:96px;
  font-family:"Segoe UI Symbol","Arial Unicode MS",sans-serif;
  font-weight:400;
  line-height:1;
  text-shadow:2px 3px rgba(255,255,255,.18);
  transform:translate(-50%,-55%);
}
.coin small { position:absolute; bottom:24px; font-size:9px; font-weight:800; letter-spacing:.25em; }
@keyframes float { 50% { transform:rotate(-4deg) translateY(-15px); } }
.object-label { position:absolute; right:10px; bottom:65px; width:220px; border-top:1px solid var(--line); padding-top:13px; display:grid; }
.object-label span, .object-label small { color:var(--muted); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.object-label strong { font-family:Georgia,serif; font-size:19px; font-weight:400; margin:5px 0; }
.scroll-note { position:absolute; bottom:35px; left:0; color:#716f69; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.ticker { border-block:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr); }
.ticker div { min-height:150px; padding:36px 48px; border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; }
.ticker div:last-child { border-right:0; }
.ticker strong { font-family:Georgia,serif; font-weight:400; font-size:34px; }
.ticker span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.12em; margin-top:7px; }
.section { max-width:var(--max); margin:auto; padding:140px 0; }
.section-heading { display:grid; grid-template-columns:1.3fr .7fr; align-items:end; margin-bottom:70px; }
.section-heading h2, .manifesto h2, .final-cta h2 { font:400 clamp(48px,5.6vw,82px)/.98 Georgia,serif; letter-spacing:-.04em; margin:24px 0 0; }
.section-heading > p { max-width:420px; color:var(--muted); line-height:1.8; font-size:14px; }
.collection-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }
.collection-controls { display:flex; gap:8px; }
.filter { color:var(--muted); background:transparent; border:1px solid var(--line); padding:10px 16px; border-radius:30px; cursor:pointer; font-size:11px; transition:.2s; }
.filter:hover, .filter.active { color:#17110b; background:var(--orange-soft); border-color:var(--orange-soft); }
.sort-control { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.sort-control select { min-height:38px; border:1px solid var(--line); background:transparent; color:var(--text); padding:0 34px 0 12px; border-radius:2px; cursor:pointer; font:600 11px Inter,sans-serif; text-transform:none; letter-spacing:0; outline:none; }
.sort-control select:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(198,107,25,.1); }
.exhibit-list-head { display:grid; grid-template-columns:1.2fr .75fr 1.35fr .6fr; gap:30px; padding:13px 20px; border:1px solid var(--line); border-bottom:0; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.exhibits { border:1px solid var(--line); }
.exhibit { min-height:112px; padding:22px 20px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1.2fr .75fr 1.35fr .6fr; gap:30px; align-items:center; transition:.2s ease; }
.exhibit:last-child { border-bottom:0; }
.exhibit:hover { background:#eae5d9; padding-left:26px; }
.exhibit.hidden { display:none; }
.exhibit-identity span { display:block; color:var(--orange); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:7px; }
.exhibit h3 { font:400 22px Georgia,serif; margin:0; }
.exhibit-amount { display:grid; gap:3px; }
.exhibit-amount strong { font:400 17px Georgia,serif; }
.exhibit-amount span { color:var(--muted); font-size:9px; letter-spacing:.08em; }
.exhibit p { color:var(--muted); font:400 14px/1.5 Georgia,serif; margin:0; }
.exhibit-date { display:grid; gap:5px; justify-items:start; }
.exhibit-date time { font-size:11px; }
.exhibit-date span { color:#397245; font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.exhibits.loading { opacity:.48; }
.pagination { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid var(--line); }
.pagination[hidden] { display:none; }
.page-numbers { display:flex; align-items:center; gap:5px; }
.page-button { min-width:38px; height:38px; border:1px solid transparent; background:transparent; color:var(--muted); cursor:pointer; font-size:11px; transition:.2s ease; }
.page-button:hover:not(:disabled) { color:var(--text); border-color:var(--line); }
.page-button.active { color:#fffaf1; background:var(--orange); border-color:var(--orange); }
.page-button:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
.page-button:disabled { opacity:.3; cursor:not-allowed; }
.page-direction { width:auto; display:flex; align-items:center; gap:9px; padding-inline:8px; }
.page-ellipsis { width:28px; text-align:center; color:var(--muted); }
.collection-empty { min-height:300px; border:1px solid var(--line); padding:40px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.collection-empty[hidden] { display:none; }
.collection-empty strong { font:400 28px Georgia,serif; }
.collection-empty span { color:var(--muted); margin:8px 0 20px; font-size:13px; }
.collection-empty button { border:0; background:transparent; cursor:pointer; color:var(--orange); }
.manifesto { border-top:1px solid var(--line); }
.manifesto-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; margin-top:25px; }
.manifesto h2 { margin-top:0; }
.manifesto h2 em { color:var(--orange); font-weight:400; }
.manifesto-copy > p { color:#b7b5af; font:400 18px/1.8 Georgia,serif; margin:0 0 24px; }
.principles { margin-top:60px; border-top:1px solid var(--line); }
.principles div { display:grid; grid-template-columns:45px 1fr 1fr; gap:20px; align-items:center; min-height:80px; border-bottom:1px solid var(--line); }
.principles span { color:var(--orange); font-size:10px; }
.principles strong { font:400 18px Georgia,serif; }
.principles small { color:var(--muted); }
.final-cta { position:relative; text-align:center; min-height:650px; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; }
.final-cta::before { content:""; position:absolute; inset:10% 15%; border:1px solid var(--line); border-radius:50%; }
.final-cta > *:not(.cta-coin) { position:relative; z-index:2; }
.final-cta h2 { margin:20px 0; }
.final-cta p { color:var(--muted); margin:0 0 35px; }
.cta-coin { position:absolute; color:rgba(247,147,26,.05); font:400 580px/1 "Segoe UI Symbol","Arial Unicode MS",sans-serif; transform:rotate(-12deg); }
footer { border-top:1px solid var(--line); min-height:180px; padding:50px max(32px,calc((100% - var(--max))/2)); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; color:var(--muted); font-size:11px; }
footer p { text-align:center; line-height:1.7; }
.footer-links { display:flex; gap:25px; justify-content:flex-end; }
dialog h2 { font:400 42px Georgia,serif; margin:12px 0 16px; }
dialog > p { color:var(--muted); font-size:14px; line-height:1.7; }
dialog { color:var(--text); background:#f4f0e7; border:1px solid rgba(23,23,19,.2); width:min(560px,calc(100% - 32px)); padding:42px; box-shadow:0 30px 100px rgba(38,30,20,.3); }
dialog::backdrop { background:rgba(49,44,35,.48); backdrop-filter:blur(8px); }
dialog[open] { max-height:calc(100vh - 32px); overflow-y:auto; }
.dialog-close { position:absolute; right:18px; top:15px; border:0; background:none; color:var(--muted); font-size:28px; cursor:pointer; }
.wallet-placeholder { width:100%; margin:25px 0 16px; padding:16px; border:1px solid var(--line); background:transparent; color:var(--text); display:flex; gap:17px; align-items:center; text-align:left; cursor:pointer; transition:.2s ease; }
.wallet-placeholder:hover { border-color:var(--orange); background:rgba(198,107,25,.045); }
.wallet-placeholder:active { transform:scale(.995); }
.wallet-placeholder:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.wallet-placeholder.copied { border-color:#5f9869; background:rgba(57,114,69,.06); }
.qr-placeholder { width:92px; height:92px; flex:0 0 92px; background:#fff; display:grid; place-items:center; padding:5px; transition:.2s ease; }
.wallet-placeholder:hover .qr-placeholder { transform:scale(1.03); box-shadow:0 8px 24px rgba(38,30,20,.14); }
.qr-placeholder img { display:block; width:100%; height:100%; }
.wallet-placeholder > div { display:flex; flex-direction:column; min-width:0; }
.wallet-placeholder small { color:var(--orange); font-size:9px; letter-spacing:.15em; }
.wallet-placeholder strong { margin:5px 0; font-size:14px; }
.wallet-placeholder strong { overflow-wrap:anywhere; }
.wallet-placeholder span { color:var(--muted); font-size:10px; }
.wallet-placeholder code { color:#37352f; }
.wallet-copy-state { margin-left:auto; display:grid; justify-items:center; gap:3px; color:var(--orange) !important; }
.wallet-copy-state i { font-style:normal; font-size:18px; line-height:1; }
.wallet-copy-state b { font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.wallet-placeholder.copied .wallet-copy-state { color:#397245 !important; }
.button-disabled { width:100%; cursor:not-allowed; color:#89867d; background:#e4dfd3; }
.honesty-note { display:flex; gap:12px; margin-top:22px; color:var(--muted); font-size:11px; line-height:1.6; }
.honesty-note > span { flex:0 0 22px; height:22px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; }
.honesty-note p { margin:0; }
.submission-form { display:grid; gap:16px; margin-top:25px; }
.form-divider { display:flex; align-items:center; gap:15px; color:var(--muted); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.form-divider::before,.form-divider::after { content:""; height:1px; background:var(--line); flex:1; }
.submission-form label { display:grid; gap:7px; color:#4c4a44; font-size:11px; font-weight:650; letter-spacing:.03em; }
.submission-form label small { color:var(--muted); font-weight:400; }
.submission-form input,.submission-form textarea { width:100%; border:1px solid var(--line); background:#ebe6db; color:var(--text); padding:12px 13px; border-radius:2px; outline:none; resize:vertical; font:400 13px Inter,sans-serif; }
.submission-form input:focus,.submission-form textarea:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(198,107,25,.1); }
.submission-form input:disabled { opacity:.5; cursor:not-allowed; }
.checkbox-label { display:flex !important; grid-template-columns:none; align-items:center; gap:10px !important; cursor:pointer; }
.checkbox-label input { width:17px; height:17px; accent-color:var(--orange); }
.submission-form .button { width:100%; }
.submission-form .button:disabled { opacity:.6; cursor:wait; transform:none; }
.form-status { min-height:18px; margin:0; color:var(--muted); font-size:11px; line-height:1.5; }
.form-status.error { color:#a63b2c; }
.form-status.success { color:#397245; }
.toast { position:fixed; z-index:30; bottom:25px; left:50%; transform:translate(-50%,20px); background:#23231f; color:#f6f2e8; border:1px solid rgba(255,255,255,.12); padding:12px 20px; font-size:12px; opacity:0; pointer-events:none; transition:.25s; }
.toast.show { opacity:1; transform:translate(-50%,0); }
.admin-page { min-height:100vh; }
.admin-shell { width:min(1000px,calc(100% - 40px)); margin:auto; padding:70px 0; }
.admin-header { display:flex; align-items:flex-end; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:35px; margin-bottom:35px; }
.admin-header h1 { font:400 clamp(42px,6vw,72px)/1 Georgia,serif; letter-spacing:-.04em; margin:12px 0 0; }
.admin-header a { color:var(--muted); font-size:12px; }
.admin-login { display:flex; align-items:end; gap:12px; max-width:680px; }
.admin-login[hidden] { display:none; }
.admin-login label { display:grid; gap:7px; flex:1; color:var(--muted); font-size:11px; }
.admin-login input { height:50px; border:1px solid var(--line); background:#ebe6db; padding:0 14px; outline:none; }
.admin-list { display:grid; gap:14px; margin-top:30px; }
.admin-card { border:1px solid var(--line); padding:25px; display:grid; grid-template-columns:1fr 1fr; gap:15px 30px; align-items:center; }
.admin-card h2 { font:400 26px Georgia,serif; margin:7px 0 0; }
.admin-card p { color:var(--muted); }
.admin-card a { color:var(--orange); font-size:12px; }
.admin-card small { overflow-wrap:anywhere; color:var(--muted); }
.admin-actions { grid-column:1/-1; display:flex; gap:10px; border-top:1px solid var(--line); padding-top:18px; }
@media (max-width: 1350px) { .hero,.section { max-width:calc(100% - 64px); } }
@media (max-width: 900px) {
  .site-header { width:calc(100% - 36px); } nav > a { display:none; }
  .hero { height:auto; min-height:100vh; grid-template-columns:1fr; padding-top:150px; }
  .hero-object { height:500px; } .orbit-one { width:440px;height:440px; } .orbit-two { width:350px;height:350px; }
  .coin { width:210px;height:210px; } .coin span { font-size:82px; }
  .ticker { grid-template-columns:1fr 1fr; } .ticker div:nth-child(2) { border-right:0; }
  .section-heading,.manifesto-grid { grid-template-columns:1fr; gap:35px; }
  .exhibit-list-head,.exhibit { grid-template-columns:1.1fr .75fr 1.2fr; }
  .exhibit-list-head span:last-child { display:none; }
  .exhibit-date { grid-column:1/-1; display:flex; gap:12px; }
}
@media (max-width: 600px) {
  .site-header { height:78px; } .brand i { display:none; } nav { gap:0; }
  .hero,.section { max-width:calc(100% - 36px); }
  .hero { padding-top:125px; overflow:hidden; } h1 { font-size:58px; } h1 span { margin-left:18px; }
  .hero-lead { font-size:15px; } .hero-actions { align-items:stretch; flex-direction:column; gap:12px; }
  .hero-object { height:420px; margin-inline:-30px; overflow:hidden; } .orbit-one { width:360px;height:360px; } .orbit-two { width:290px;height:290px; }
  .coin { width:175px;height:175px; } .coin span { font-size:68px; } .coin small { bottom:17px; }
  .object-label { right:25px;bottom:25px; } .scroll-note { display:none; }
  .ticker div { min-height:120px;padding:25px 18px; } .ticker strong { font-size:27px; }
  .section { padding:90px 0; } .section-heading h2,.manifesto h2,.final-cta h2 { font-size:46px; }
  .section-heading { margin-bottom:45px; }
  .collection-toolbar { align-items:stretch; flex-direction:column; }
  .collection-controls { overflow:auto; padding-bottom:5px; } .filter { flex:0 0 auto; }
  .sort-control { justify-content:space-between; }
  .sort-control select { flex:1; max-width:230px; }
  .exhibit-list-head { display:none; }
  .exhibits { border-inline:0; }
  .exhibit { min-height:0; grid-template-columns:1fr auto; gap:15px 20px; padding:22px 4px; }
  .exhibit:hover { padding-left:8px; }
  .exhibit-amount { text-align:right; }
  .exhibit p { grid-column:1/-1; }
  .exhibit-date { grid-column:1/-1; }
  .pagination { gap:6px; }
  .page-direction span { display:none; }
  .page-button { min-width:34px; width:34px; height:34px; }
  .page-numbers { gap:1px; }
  .principles div { grid-template-columns:35px 1fr; } .principles small { grid-column:2; margin-top:-18px; }
  .final-cta { min-height:570px; } .cta-coin { font-size:390px; }
  footer { grid-template-columns:1fr; gap:24px; text-align:center; } footer p { margin:0; } .footer-links { justify-content:center; }
  dialog { padding:32px 22px; } .wallet-placeholder { align-items:center; gap:12px; padding:12px; } .qr-placeholder { width:68px;height:68px;flex:0 0 68px; }
  .wallet-copy-state { display:none; }
  .admin-header,.admin-login { align-items:stretch; flex-direction:column; }
  .admin-card { grid-template-columns:1fr; }
  .admin-actions { grid-column:auto; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .orbit,.coin { animation:none; } * { transition:none !important; } }
