:root {
  color-scheme: dark;
  --bg: #140f0e;
  --ink: #f3e5c9;
  --muted: #bca88a;
  --gold: #e3bb72;
  --gold-bright: #ffe5a6;
  --line: #665035;
  --paper: #251b17;
  --red: #8c2925;
  --serif: "Songti SC", "Noto Serif CJK SC", "STSong", "SimSun", Georgia, serif;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--ink);
  background: var(--bg);
  font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(ellipse at 50% 0, #4b241b55, transparent 65%), var(--bg); }
button, input, textarea, select { font: inherit; }
button, a { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; border: 0; background: none; color: inherit; }
button:disabled { cursor: wait; opacity: .5; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 5px; }
a { color: var(--gold); }
header { min-height: 100px; max-width: 1440px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 64px; border-bottom: 1px solid var(--line); }
.brand { display: flex; gap: 15px; align-items: center; font: 600 27px var(--serif); letter-spacing: 4px; color: var(--gold-bright); white-space: nowrap; }
.brand small { font: 9px sans-serif; letter-spacing: 5px; display: block; margin-top: 8px; color: #b89a66; }
.nav { display: flex; gap: 32px; align-items: center; }
.nav button { font: 15px var(--serif); letter-spacing: 2px; padding: 18px 0; color: var(--muted); position: relative; }
.nav button.active { color: var(--gold-bright); }
.nav button.active:after { content: "◆"; color: var(--gold); position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%); font-size: 8px; }
.account { font-size: 13px; color: var(--gold); background: #34231b; border: 1px solid #89643b; padding: 12px 19px; white-space: nowrap; }
.layout { max-width: 1440px; margin: auto; padding: 30px 64px 60px; }
.hero { position: relative; min-height: 540px; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: 1fr; text-align: center; align-content: start; padding: 44px 40px 165px; border: 1px solid #ad8046; background: radial-gradient(ellipse at 50% 0, #99533244, transparent 60%), linear-gradient(120deg, #331710, #21130f 50%, #331710); box-shadow: inset 0 0 70px #05030288, 0 18px 55px #0004; }
.hero:before { content: ""; position: absolute; inset: 9px; border: 1px solid #a97b454d; pointer-events: none; z-index: 2; background: linear-gradient(#d0a05b,#d0a05b) left top/34px 2px no-repeat, linear-gradient(#d0a05b,#d0a05b) left top/2px 34px no-repeat, linear-gradient(#d0a05b,#d0a05b) right top/34px 2px no-repeat, linear-gradient(#d0a05b,#d0a05b) right top/2px 34px no-repeat, linear-gradient(#d0a05b,#d0a05b) left bottom/34px 2px no-repeat, linear-gradient(#d0a05b,#d0a05b) right bottom/34px 2px no-repeat; }
.hero:after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; pointer-events: none; background: repeating-linear-gradient(90deg, transparent 0, transparent 55px, #e3bb7204 56px, transparent 57px); z-index: -1; }
.hero-copy { position: relative; z-index: 1; }
.eyebrow { font-size: 10px; letter-spacing: 4px; font-weight: 500; color: #d3b888; }
.hero .eyebrow:before, .hero .eyebrow:after { content: "— ◆ —"; color: #9f7947; letter-spacing: 1px; margin: 0 17px; }
.hero h1 { font: 500 clamp(48px, 5.8vw, 80px)/1.35 var(--serif); letter-spacing: .2em; margin: 16px 0 8px; padding-left: .2em; color: var(--gold-bright); text-shadow: 0 2px 0 #76502c, 0 0 45px #d6a75222; }
.hero-motto { font: 20px var(--serif); letter-spacing: 9px; color: #e7c78f; margin: 0 0 18px; }
.hero p { font-size: 13px; color: #d1bfa3; line-height: 1.9; margin: 0 auto; max-width: 470px; }
.primary { background: linear-gradient(120deg, #f5d99b, #c8994d); color: #2b190e; border: 1px solid #f5dda4; box-shadow: inset 0 0 0 3px #b88a4433, 0 4px 15px #0002; padding: 13px 25px; font-size: 14px; font-weight: 650; letter-spacing: 1px; min-height: 46px; }
.primary:hover { background: linear-gradient(120deg, #ffe9b4, #e1b466); }
.hero .primary { margin-top: 23px; background: linear-gradient(110deg, #9d342a, #671d1b); color: #ffe6ac; border-color: #c19a5c; padding: 15px 36px; box-shadow: inset 0 0 0 3px #4f171633, 0 6px 20px #0005; font: 17px var(--serif); letter-spacing: 4px; }
.hero .primary:hover { background: #a13c2d; }
.secondary { border: 1px solid #80613c; background: #32241b; color: #ebcf9a; padding: 11px 18px; font-size: 13px; min-height: 44px; }
.load-more-wrap { display:flex; justify-content:center; padding:18px 0 8px; }
.art { position: absolute; bottom: -2px; left: 0; right: 0; height: 285px; z-index: -1; background: url('/assets/imperial-palace.svg') center bottom / auto 420px no-repeat; pointer-events: none; opacity: .85; }
.imperial-side { position: absolute; top: 115px; writing-mode: vertical-rl; font: 16px var(--serif); letter-spacing: 9px; color: #c4a36b; }
.imperial-side.left { left: 48px; }
.imperial-side.right { right: 48px; }
.hero-footnote { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: #c2a470; font-size: 9px; letter-spacing: 4px; z-index: 1; white-space: nowrap; background: #21140ed9; padding: 6px 18px; border-top: 1px solid #80613c; }
.court-divider { display: flex; align-items: center; gap: 22px; justify-content: center; margin: 33px 0 0; color: #c3a570; font: 12px var(--serif); letter-spacing: 6px; }
.court-divider:before, .court-divider:after { content: ""; height: 1px; max-width: 230px; flex: 1; background: linear-gradient(90deg, transparent, #7c5d37); }
.court-divider:after { transform: rotate(180deg); }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.section-head h2 { font: 500 28px var(--serif); letter-spacing: 4px; margin: 0 0 10px; color: var(--gold-bright); }
.sub { font-size: 12px; color: var(--muted); line-height: 1.9; margin: 0; }
.pill { border: 1px solid #705330; background: #2c2118; padding: 8px 12px; font-size: 11px; color: #d7bb87; white-space: nowrap; }
.filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 22px 0; padding-bottom: 16px; border-bottom: 1px solid #503d2a; }
.interest-filter { margin:22px 0; padding:12px 0 14px; border-bottom:1px solid #503d2a; }
.issue-search { max-width:680px; margin:22px 0 10px; }
.issue-search > label { display:block; margin-bottom:3px; color:#d9c6a5; font:500 13px var(--serif); letter-spacing:1px; }
.issue-search-row { display:flex; align-items:center; gap:14px; border-bottom:1px solid #80613c; }
.issue-search-row input { flex:1; min-width:0; padding:12px 2px; border:0; outline:0; color:#f1e4ce; background:transparent; font:15px var(--serif); box-shadow:none; }
.issue-search-row input::placeholder { color:#a99a83; }
.issue-search-row input:focus { box-shadow:none; border:0; }
.issue-search-row button { flex:0 0 auto; padding:10px 4px; color:#f2cf8e; font:13px var(--serif); white-space:nowrap; }
.issue-search-row .issue-search-clear { color:#bca88a; }
.interest-filter-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; }
.interest-filter-head > span { display:flex; align-items:baseline; gap:10px; }
.interest-filter-head strong { color:#ead6b1; font:500 14px var(--serif); }
.interest-filter-head small,.interest-empty { color:var(--muted); font-size:11px; }
.add-interest { color:#f0c87b; font-size:12px; padding:7px 10px; white-space:nowrap; }
.interest-filter-options { display:flex; align-items:center; gap:7px; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; padding:2px 0 5px; }
.interest-filter-options::-webkit-scrollbar { display:none; }
.interest-option { display:inline-flex; flex:0 0 auto; align-items:center; border:1px solid #60482f; border-radius:7px; background:#28211b; }
.interest-option .filter { flex:0 0 auto; white-space:nowrap; padding:8px 10px; }
.interest-option .filter.active { border-color:transparent; }
.interest-remove { flex:0 0 auto; color:#bca98b; padding:5px 8px; font-size:13px; }
.interest-remove:hover { color:#ffe1a1; }
.interest-empty { padding:7px 3px; white-space:nowrap; }
.filter { font-size: 12px; color: var(--muted); padding: 9px 15px; border: 1px solid transparent; }
.filter.active { background: #6b241e; border-color: #b68a49; color: #ffe1a1; }
.cards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.cardtop { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.category { font-size: 11px; color: #e8c17d; background: #573025; border: 1px solid #825535; padding: 5px 8px; }
.time { font-size: 11px; color: var(--muted); }
.amount { font-family: Georgia, "Times New Roman", serif; font-size: 29px; font-weight: 400; color: #f0c87b; letter-spacing: .5px; }
.amount small { font-size: 12px; margin-right: 3px; }
.reason { font-size: 12px; color: var(--muted); line-height: 1.9; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 46px; overflow-wrap: anywhere; }
.cardfoot { border-top: 1px solid #60472c; padding-top: 16px; margin-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.counts { font-size: 11px; color: var(--muted); line-height: 1.7; }
.review { color: #f1cb86; font-size: 12px; font-weight: 600; padding: 7px 0; }
.panel { position: relative; border: 1px solid #715231; background: linear-gradient(145deg, #352319, #201713); padding: 26px; margin-bottom: 20px; }
.panel.treasury { background: radial-gradient(ellipse at top right, #ba834633, transparent 70%), #39251a; border-color: #a07b44; }
.panel h3 { font: 18px var(--serif); color: #efd19c; margin: 0 0 17px; letter-spacing: 2px; }
.saving { font: 40px Georgia, serif; color: #ffdfa0; margin: 18px 0; letter-spacing: -1px; overflow-wrap: anywhere; }
.quote { border-left: 2px solid #a5763d; padding-left: 15px; color: #d9bd8c; font: 16px/2 var(--serif); }
.step { display: flex; gap: 14px; margin-top: 21px; font-size: 12px; line-height: 1.8; }
.step b { font: 22px var(--serif); color: #c09857; }
.step strong { display: block; color: #ead4ad; font-weight: 500; }
.step span { font-size: 11px; color: var(--muted); }
.empty { grid-column: 1/-1; border: 1px solid #62492e; background: radial-gradient(ellipse at center, #5b38212b, transparent 75%), #201713; padding: 44px 28px; text-align: center; line-height: 1.9; }
.empty h3 { font: 24px var(--serif); letter-spacing: 3px; color: #efd19c; }
.empty p { color: var(--muted); font-size: 13px; }
.empty .primary { margin-top: 12px; }
.footer { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 11px; color: #b39c76; border-top: 1px solid #62492e; margin-top: 45px; padding-top: 23px; }
.footer button { font-size: 11px; }
.footer a { color: inherit; }
.notice { font-size: 11px; color: #e1c68c; background: #382819; border: 1px solid #745731; padding: 10px 16px; margin-bottom: 18px; line-height: 1.8; }
.error { background: #481f1c; color: #ffb9a3; padding: 14px; border: 1px solid #a34a35; font-size: 13px; }
.loading { text-align: center; padding: 40px; color: var(--muted); }
dialog { border: 1px solid #c09755; background: linear-gradient(145deg, #35241b, #211714); color: var(--ink); width: min(600px, calc(100% - 24px)); max-height: 90dvh; padding: 32px; box-shadow: inset 0 0 0 5px #8e603019, 0 25px 100px #0009; }
dialog::backdrop { background: #090504bb; backdrop-filter: blur(5px); }
.modalhead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; border-bottom: 1px solid #7c5d37; padding-bottom: 18px; }
.modalhead h2 { font: 26px var(--serif); letter-spacing: 3px; color: var(--gold-bright); margin: 0; }
.close { font-size: 26px; color: var(--gold); min-width: 40px; min-height: 40px; }
.fields { display: grid; gap: 17px; }
.field label { display: block; font-size: 12px; margin-bottom: 8px; font-weight: 600; color: #e4cda6; }
.field input, .field textarea, .field select { display: block; width: 100%; border: 1px solid #886b46; background: #191311; padding: 13px; color: #f4e5c8; font-size: 14px; border-radius: 0; }
.field input::placeholder, .field textarea::placeholder { color: #ad977d; }
.field textarea { min-height: 90px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { outline: 2px solid #e2bc75; outline-offset: 2px; }
input[type=checkbox], input[type=radio] { accent-color: #d8ac62; }
.row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.muted { color: var(--muted); font-size: 12px; line-height: 1.9; }
.errorline { color: #ffb49e; font-size: 12px; min-height: 16px; }
.detailtext { font-size: 14px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.detailblock { padding: 18px; border: 1px solid #62492e; background: #191310; margin: 16px 0; }
.detailblock h4 { font-size: 11px; color: #d0ac70; margin: 0 0 9px; letter-spacing: 2px; }
.choice { display: flex; gap: 10px; flex-wrap: wrap; border-color: #80613c; }
.choice label { flex: 1; border: 1px solid var(--line); padding: 13px 8px; font-size: 13px; text-align: center; cursor: pointer; white-space: nowrap; }
.choice label:has(input:checked) { background: #5b2920; border-color: #cca363; }
.comment { border-top: 1px solid var(--line); padding: 15px 0; }
.comment p { font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.comment small { font-size: 11px; color: #c6ab7d; }
.inline { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.inline button { font-size: 12px; }
.danger { color: #ffb59e; }
.full { width: 100%; }
.circle-list { display: grid; gap: 14px; margin: 20px 0; }
.circle-item { background: var(--paper); border: 1px solid var(--line); padding: 22px; }
.circle-item strong { font: 20px var(--serif); color: #e6c48b; }
.circle-item code { display: block; margin: 12px 0; font-size: 12px; overflow-wrap: anywhere; color: var(--muted); }
#toast { position: fixed; bottom: 25px; left: 50%; transform: translateX(-50%); background: #54271d; border: 1px solid #c49c5b; color: #ffe1a8; padding: 14px 23px; font-size: 13px; box-shadow: 0 5px 24px #0005; z-index: 9; display: none; max-width: 90vw; }
.checkbox { font-size: 12px; line-height: 1.8; display: flex; gap: 8px; align-items: flex-start; }
.checkbox input { margin-top: 5px; }
.textbutton { text-decoration: underline; padding: 0; }
.settings { display: flex; gap: 12px; flex-wrap: wrap; margin: 18px 0; }
.avatar-current { display:flex; align-items:center; gap:18px; padding:16px; border:1px solid #715231; background:#211510; }
.avatar-image { width:96px; height:96px; object-fit:cover; border-radius:50%; border:2px solid #c49a56; background:#301a13; }
.avatar-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:12px; margin:16px 0 26px; }
.avatar-grid article { display:grid; justify-items:center; gap:9px; padding:12px; border:1px solid #715231; background:#211510; }
.avatar-grid .avatar-image { width:88px; height:88px; }
.avatar-upload { position:relative; overflow:hidden; cursor:pointer; display:inline-flex; align-items:center; }
.avatar-upload input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.legal { line-height: 1.9; font-size: 13px; }
.legal h3 { font-size: 15px; margin-top: 24px; color: var(--gold); }
.admin { max-width: 900px; margin: 40px auto; padding: 24px; }
.admin pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
.admin .panel { margin-top: 20px; }
@media (prefers-reduced-motion: reduce) { *, *:before, *:after { transition: none !important; scroll-behavior: auto !important; } }
@media (max-width: 1050px) {
  header { padding: 20px 30px; gap: 18px; }
  .layout { padding: 24px 30px 50px; }
  .nav { gap: 20px; }
  .brand { font-size: 24px; }
  .cards { grid-template-columns: 1fr; }
  .hero { min-height: 520px; }
  .imperial-side.left { left: 30px; }
  .imperial-side.right { right: 30px; }
}
@media (max-width: 700px) {
  header { min-height: 86px; padding: 18px 20px; }
  .brand { font-size: 22px; gap: 12px; letter-spacing: 3px; }
  .brand small { font-size: 7px; letter-spacing: 3px; margin-top: 6px; }
  .account { font-size: 11px; padding: 10px 12px; }
  .nav { position: fixed; bottom: 0; left: 0; right: 0; background: #211510f5; backdrop-filter: blur(12px); border-top: 1px solid #a77b3e; min-height: 70px; justify-content: space-around; gap: 0; z-index: 5; padding: 5px 0 calc(8px + env(safe-area-inset-bottom)); }
  .nav button { font-size: 14px; padding: 14px 10px; }
  .nav button.active:after { bottom: 0; }
  .layout { padding: 18px 16px calc(100px + env(safe-area-inset-bottom)); }
  .hero { min-height: 490px; padding: 40px 24px 175px; }
  .hero h1 { font-size: clamp(38px, 9vw, 56px); margin: 25px 0 14px; letter-spacing: .14em; }
  .hero-motto { font-size: 15px; letter-spacing: 4px; margin-bottom: 18px; }
  .hero .eyebrow { font-size: 9px; letter-spacing: 3px; }
  .hero .eyebrow:before, .hero .eyebrow:after { content: "◆"; margin: 0 10px; font-size: 6px; }
  .hero p { font-size: 12px; max-width: 280px; }
  .hero .primary { margin-top: 20px; font-size: 15px; padding: 14px 22px; letter-spacing: 2px; }
  .art { height: 220px; background-size: auto 300px; opacity: .85; }
  .imperial-side { display: none; }
  .hero-footnote { font-size: 8px; letter-spacing: 2px; bottom: 17px; }
  .court-divider { margin-top: 27px; font-size: 11px; letter-spacing: 4px; gap: 13px; }
  .section-head h2 { font-size: 26px; }
  .cards { grid-template-columns: 1fr; }
  .panel { padding: 24px; }
  .footer { margin-top: 22px; line-height: 1.8; }
  .filters { gap: 2px; }
  .filter { padding: 9px 12px; }
  dialog { padding: 23px; }
  .modalhead h2 { font-size: 23px; }
  .row { gap: 10px; }
  #toast { bottom: calc(85px + env(safe-area-inset-bottom)); }
}
@media (max-width: 360px) { .brand { font-size: 19px; } .brand small { letter-spacing: 2px; } .account { padding: 9px; } .hero { padding-left: 16px; padding-right: 16px; } .hero-motto { letter-spacing: 2px; } }

/* Imperial masthead and an axial reading layout. */
header { position: relative; min-height: 154px; flex-direction: column; justify-content: center; gap: 8px; padding: 27px 30px 12px; }
.brand { padding: 0 24px; text-align: center; }
.imperial-wordmark { display: block; font-size: 33px; letter-spacing: 9px; padding-left: 9px; }
.brand small { font-size: 8px; letter-spacing: 5px; margin-top: 12px; padding-right: 6px; }
.nav { gap: 60px; }
.nav button { padding: 15px 8px; }
.nav button.active:after { content: ""; height: 2px; width: 28px; bottom: 3px; background: var(--gold); }
.account { position: absolute; right: 64px; top: 37px; background: transparent; border-width: 0 0 1px; }
.layout { padding-top: 24px; }
.court-divider { margin-bottom: 30px; }
.imperial-overview { display: grid; grid-template-columns: 1fr 1.3fr; border-top: 1px solid #94703d; border-bottom: 1px solid #94703d; background: linear-gradient(100deg,#33201688,#1c1411,#33201688); margin: 0 0 48px; }
.overview-cell { padding: 29px 32px; min-width: 0; }
.overview-cell + .overview-cell { border-left: 1px solid #60472c; }
.overview-cell h3 { font: 18px var(--serif); color: #efd19c; margin: 0 0 19px; letter-spacing: 3px; }
.overview-cell .saving { margin: 17px 0 12px; font-size: 37px; }
.overview-cell .step { margin-top: 13px; gap: 13px; }
.overview-cell .step b { border-bottom: 1px solid #8a6237; padding-bottom: 4px; font-size: 18px; }
.overview-cell .quote { border-left: 0; padding: 0; font-size: 22px; margin: 13px 0; line-height: 1.9; }
.court-content { max-width: 1080px; margin: 0 auto; }
.section-head { align-items: end; }
.pill { border: 0; border-bottom: 1px solid #7d5b32; background: none; padding: 8px 0; font-family: var(--serif); font-size: 13px; }
.filters { justify-content: center; gap: 26px; border-top: 1px solid #503d2a; padding: 14px 0; margin: 26px 0; }
.filter { font: 14px var(--serif); letter-spacing: 3px; padding: 8px 12px; }
.filter.active { border-color: transparent; border-bottom-color: #c09652; background: transparent; color: #ffe1a1; }
.cards { grid-template-columns: 1fr; gap: 23px; }
.memorial { display: flex; background: linear-gradient(110deg,#38261c,#211814); border-top: 1px solid #96703e; border-bottom: 1px solid #73512f; min-width: 0; box-shadow: 0 8px 25px #0003; }
.memorial-spine { flex: 0 0 68px; display: grid; place-items: center; color: #eac78d; font: 30px var(--serif); background: linear-gradient(90deg,#451d17,#69271e 50%,#421c17); border-left: 4px double #b58b4d; border-right: 4px double #b58b4d; }
.memorial-body { flex: 1; min-width: 0; padding: 23px 30px; }
.memorial .category { padding: 0; border: 0; background: transparent; letter-spacing: 2px; color: #d8b57b; }
.memorial-main { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 35px; margin-top: 12px; }
.memorial h3 { font: 500 23px/1.6 var(--serif); color: #f6e2bd; margin: 0 0 7px; overflow-wrap: anywhere; }
.memorial .reason { min-height: 0; margin: 0; max-width: 620px; }
.memorial-price { text-align: right; min-width: 140px; }
.price-caption { display: block; font: 11px var(--serif); color: #bca88a; letter-spacing: 3px; margin-bottom: 7px; }
.memorial .amount { font-size: 30px; }
.memorial .cardfoot { border-top: 1px solid #60472c88; margin-top: 18px; padding-top: 12px; }
.memorial .review { color: #ffe0a1; background: #63251c; border: 1px solid #a27a40; padding: 10px 21px; font: 14px var(--serif); letter-spacing: 3px; }
.memorial .review:hover { background: #813126; border-color: #e3bb72; }
.empty-scroll { display: block; margin: 0 auto 20px; width: 64px; padding: 15px 0; border-top: 3px double #be9659; border-bottom: 3px double #be9659; color: #dfb978; font: 34px var(--serif); }
@media (max-width: 1050px) {
 .account { right: 30px; }
 .overview-cell { padding: 25px 22px; }
 .overview-cell .quote { font-size: 18px; }
 .filters { gap: 14px; }
}
@media (max-width: 700px) {
 header { min-height: 104px; align-items: flex-start; padding: 24px 20px; }
 .brand { padding: 0; }
 .imperial-wordmark { font-size: 26px; letter-spacing: 5px; padding-left: 0; }
 .brand small { font-size: 7px; letter-spacing: 3px; margin-top: 9px; padding: 0; }
 .account { right: 20px; top: 29px; max-width: 32%; overflow: hidden; text-overflow: ellipsis; }
 .nav { gap: 0; }
 .nav button { padding: 14px 9px; letter-spacing: 1px; }
 .nav button.active:after { bottom: 2px; }
 .layout { padding-top: 16px; }
 .imperial-overview { grid-template-columns: 1fr; margin-bottom: 30px; }
 .overview-cell { padding: 23px 24px; }
 .overview-cell + .overview-cell { border-left: 0; border-top: 1px solid #60472c; }
 .overview-cell.treasury { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; }
 .overview-cell.treasury .saving { font-size: 29px; margin: 0; }
 .overview-cell.treasury .sub { grid-column: 1/-1; }
 .overview-cell .quote br { display: none; }
 .overview-cell .quote { font-size: 20px; }
 .filters { justify-content: flex-start; gap: 3px; margin: 21px 0; }
 .filter { font-size: 13px; letter-spacing: 1px; padding: 8px 12px; }
 .section-head h2 { font-size: 25px; }
 .memorial-spine { flex-basis: 39px; font-size: 22px; border-left-width: 3px; border-right-width: 3px; }
 .memorial-body { padding: 18px 16px; }
 .memorial-main { grid-template-columns: 1fr; gap: 12px; }
 .memorial h3 { font-size: 21px; }
 .memorial-price { text-align: left; display: flex; align-items: baseline; gap: 12px; min-width: 0; flex-wrap: wrap; }
 .memorial .amount { font-size: 26px; }
 .price-caption { margin: 0; }
 .memorial .cardtop { align-items: flex-start; flex-wrap: wrap; }
 .memorial .category { font-size: 10px; letter-spacing: 1px; }
 .memorial .review { padding: 10px 12px; letter-spacing: 1px; font-size: 12px; white-space: nowrap; }
 .memorial .counts { font-size: 10px; }
 .memorial .cardfoot { gap: 10px; }
}

/* Ceremony belongs to completed actions, not everyday browsing. */
.ceremony { text-align:center; padding:15px 6px 6px; }
.ceremony-kicker { color:#c8b99d; font:500 12px sans-serif; letter-spacing:1px; }
.ceremony-emblem { width:58px; height:58px; margin:21px auto; display:grid; place-items:center; background:#ffffff10; border:1px solid #ffffff35; border-radius:50%; outline:0; font:28px sans-serif; color:#e6d4b1; animation:seal-arrives .35s ease-out both; }
.ceremony h3 { font:24px/1.6 var(--serif); color:#f5dbab; overflow-wrap:anywhere; }
.ceremony p { font-size:14px; line-height:1.9; color:#dac8aa; }
.ceremony .muted { font-size:12px; color:var(--muted); }
.ceremony .settings { justify-content:center; margin-top:25px; }
.honor-total { font:28px/1.7 var(--serif); margin:20px 0; color:#ffe0a0; }
.honor-badge { display:inline-block; margin:6px; padding:12px 16px; border:1px solid #b68b4b; color:#f4d394; background:#3a271a; font:16px var(--serif); letter-spacing:2px; }
.honor-rules { text-align:left; margin-top:25px; padding:16px; border:1px solid #725333; }
.honor-rules summary { cursor:pointer; color:#e5c48a; font-size:13px; }
.honor-rules p { font-size:12px; }
@keyframes seal-arrives { from { opacity:0; transform:translateY(-8px) scale(1.08); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .ceremony-emblem { animation:none; } }

.feedback-content { white-space: pre-wrap; overflow-wrap: anywhere; }
#music-volume { width: 100%; margin: 16px 0; }

.header-actions { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
.music-quick { font-size:12px; color:var(--muted); padding:6px 10px; min-height:32px; }

/* Keep the feed scope visible even when the list is scrolled. */
.page-scope { position:sticky; top:0; z-index:8; padding:12px max(20px,calc((100% - 1200px)/2)); background:#211510; border-bottom:2px solid #715231; color:#fff0ce; }
.scope-heading { display:flex; gap:10px; align-items:center; }
.scope-heading strong { font-size:23px; letter-spacing:2px; }
.scope-badge { border:1px solid currentColor; color:#e3bb72; padding:3px 7px; font-size:12px; }
.page-scope p { margin:5px 0 0; font-size:12px; color:#e0d3bd; }
.scope-mine, .scope-circles { background:#211510; border-color:#715231; }
.scope-mine .scope-badge, .scope-circles .scope-badge { color:#c8a66d; }
.scope-shortcut { color:#f1cb86; padding:7px 0 0; font-size:13px; text-align:left; }

/* The request composer reads like a calm sheet of paper; editing stays inline. */
dialog.request-paper-dialog { width:min(680px,calc(100% - 24px)); max-height:92dvh; overflow-y:auto; scrollbar-width:none; padding:24px; border:1px solid #c6a46b; color:#493b2d; background:#efe5d0; box-shadow:0 24px 90px #0009,inset 0 0 0 5px #fff8e833; }
dialog.request-paper-dialog::-webkit-scrollbar { display:none; }
dialog.request-paper-dialog [hidden] { display:none !important; }
dialog.request-paper-dialog::backdrop { background:#080504c9; backdrop-filter:blur(5px); }
.request-paper-dialog .modalhead { margin-bottom:16px; padding-bottom:13px; border-color:#c9b894; }
.request-paper-dialog .modalhead h2 { color:#74563a; font-size:21px; letter-spacing:3px; }
.request-paper-dialog .close { color:#876b4a; }
.paper-form.fields { gap:14px; }
.paper-sheet { position:relative; overflow:hidden; padding:25px clamp(19px,5vw,42px) 28px; border:1px solid #d4c3a2; background:linear-gradient(112deg,#f7f0e2,#f2e9d8 68%,#f7f0e3); box-shadow:0 5px 17px #6e58331b; }
.paper-kicker { color:#927552; font:11px var(--serif); letter-spacing:4px; text-align:center; }
.paper-title { margin:10px 0 5px; color:#473628; font:500 25px/1.6 var(--serif); letter-spacing:2px; text-align:center; }
.paper-intro { max-width:440px; margin:0 auto 13px; color:#86765f; font-size:12px; line-height:1.9; text-align:center; }
.paper-entry { min-width:0; padding:12px 2px 11px; }
.paper-entry-head { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#8b775a; font-size:11px; letter-spacing:1px; }
.paper-choice-value-row { display:flex; align-items:center; gap:8px; }
.paper-choice-value-row .paper-choice-value { flex:1; min-width:0; }
.paper-pen { flex:none; width:30px; height:28px; padding:0; color:#967342; font-size:19px; line-height:1; }
.paper-pen:hover { color:#704b27; transform:translateY(-1px); }
.paper-display,.paper-choice-value { display:block; width:100%; min-height:30px; padding:3px 0 4px; border:0; color:#403428; background:transparent; font:17px/1.55 var(--serif); text-align:left; overflow-wrap:anywhere; white-space:pre-wrap; }
.paper-display { cursor:text; }
.paper-placeholder { color:#9d927f; font-family:inherit; font-size:15px; font-style:italic; }
.paper-editor input,.paper-editor textarea,.category-editor input { width:100%; padding:3px 0; border:0; border-radius:0; outline:0; color:#392d22; background:transparent; font:17px/1.6 var(--serif); caret-color:#8d653d; }
.paper-editor input:focus,.paper-editor textarea:focus,.category-editor input:focus { outline:0; box-shadow:none; }
.paper-editor textarea { min-height:30px; overflow:hidden; resize:none; }
.paper-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(145px,.75fr); gap:24px; }
.paper-pair .paper-entry { min-width:0; }
.paper-choice-value { cursor:pointer; }
.paper-options { display:flex; flex-wrap:wrap; gap:7px; padding:7px 0 3px; }
.paper-options[hidden] { display:none !important; }
.paper-choice.is-choice-required .paper-choice-value { color:#9b7650; }
.paper-choice.is-choice-invalid { margin-inline:-8px; padding:6px 8px; border-left:3px solid #b55c43; background:#f4e8dc; }
.decision-options { display:flex; flex-wrap:wrap; gap:18px; padding:5px 0; }
.decision-option { padding:7px 1px; border:0; border-bottom:1px solid transparent; color:#806846; background:transparent; font:15px/1.6 var(--serif); }
.decision-option.selected { border-color:#8d653d; color:#513820; }
.decision-entry.is-choice-invalid { border-bottom:1px solid #b55c43; }
.paper-choice-hint { flex-basis:100%; margin:3px 0; color:#88785f; font-size:11px; line-height:1.7; }
.paper-option { min-height:34px; padding:6px 10px; border:1px solid #b8a17b; border-radius:2px; color:#6d5738; background:#f7f0e2; font-size:12px; }
.paper-option.selected { border-color:#8d653d; color:#513820; background:#e7d6b7; }
.category-options { margin-top:5px; }
.category-editor { display:flex; align-items:center; gap:10px; padding-top:7px; }
.category-editor input { flex:1; min-width:0; }
.paper-done { color:#795b35; padding:8px 2px; font-size:12px; white-space:nowrap; }
.paper-rule { height:1px; margin:17px 0 10px; background:linear-gradient(90deg,transparent,#ab936b,transparent); }
.paper-subheading { color:#806846; font:14px var(--serif); letter-spacing:2px; }
.paper-note { margin:14px 0 0; color:#88785f; font-size:11px; line-height:1.8; }
.author-line { margin:4px 0 8px; color:#8d795f; font-size:12px; }
.request-paper-dialog .errorline { min-height:18px; color:#9b4133; }
.paper-submit { justify-self:center; min-width:min(100%,300px); border:1px solid #b78c52; color:#f9eedb; background:linear-gradient(110deg,#7e3026,#5c211d); box-shadow:inset 0 0 0 3px #39171233,0 3px 10px #49351d22; font-family:var(--serif); letter-spacing:2px; }
.paper-submit:hover { background:linear-gradient(110deg,#934034,#6b2822); }
@media(max-width:560px) { dialog.request-paper-dialog { padding:17px 14px; } .paper-sheet { padding:21px 18px 24px 24px; } .paper-pair { grid-template-columns:1fr; gap:0; } .paper-title { font-size:22px; } }

/* Shared reading sheet for issue details and informational pages. */
dialog.paper-modal { width:min(720px,calc(100% - 24px)); max-height:92dvh; overflow-y:auto; scrollbar-width:none; padding:24px; border:1px solid #c6a46b; color:#493b2d; background:#efe5d0; box-shadow:0 24px 90px #0009,inset 0 0 0 5px #fff8e833; }
dialog.paper-modal::-webkit-scrollbar { display:none; }
dialog.paper-modal::backdrop { background:#080504c9; backdrop-filter:blur(5px); }
.paper-modal .modalhead { margin-bottom:15px; padding-bottom:12px; border-color:#c9b894; }
.paper-modal .modalhead h2 { color:#74563a; font-size:21px; letter-spacing:3px; }
.paper-modal .close { color:#876b4a; }
.paper-document { position:relative; overflow:hidden; padding:25px clamp(18px,5vw,42px) 30px; border:1px solid #d4c3a2; background:linear-gradient(112deg,#f7f0e2,#f2e9d8 68%,#f7f0e3); box-shadow:0 5px 17px #6e58331b; }
.paper-lead { position:relative; text-align:center; padding-bottom:13px; }
.paper-status { position:absolute; right:0; top:0; color:#88785f; font-size:11px; }
.paper-amount { margin:13px 0 0; color:#8a5b25; font:27px var(--serif); }
.paper-section { padding:13px 0 5px; border-top:1px solid #d4c3a2; }
.paper-section h3,.paper-subheading { margin:0 0 8px; color:#806846; font:15px var(--serif); letter-spacing:2px; }
.paper-copy { margin:4px 0 13px; color:#403428; font:16px/1.9 var(--serif); white-space:pre-wrap; overflow-wrap:anywhere; }
.paper-facts { display:flex; flex-wrap:wrap; gap:6px 18px; padding:12px 0; border-top:1px solid #d4c3a2; border-bottom:1px solid #d4c3a2; color:#796b58; font-size:11px; line-height:1.8; }
.paper-notice { margin:12px 0; padding:11px 13px; border:1px solid #c9a979; color:#745a36; background:#f0e4cd; font-size:12px; line-height:1.8; }
.paper-outcome { border-left:3px solid #b08a54; padding-left:13px; background:#f1e6d2; }
.paper-note { margin:10px 0; color:#88785f; font-size:11px; line-height:1.8; }
.paper-vote { margin-top:15px; padding-top:11px; border-top:1px solid #d4c3a2; }
.paper-vote .paper-entry { border-bottom:1px solid #e1d5bf; }
.paper-vote .paper-option { transition:background-color .18s ease,border-color .18s ease,transform .18s ease; }
.paper-vote .paper-option:hover { transform:translateY(-1px); }
.paper-vote .paper-editor textarea { min-height:36px; }
.paper-actions { display:flex; flex-wrap:wrap; gap:8px; margin:15px 0; }
.paper-actions .settings { margin:0; }
.paper-comment { padding:13px 0; border-top:1px solid #e1d5bf; }
.paper-comment small { color:#8b775a; font-size:11px; letter-spacing:.5px; }
.paper-modal .paper-badges { display:flex; flex-wrap:wrap; gap:8px; margin:9px 0; }
.paper-modal .honor-badge { display:inline-flex; margin:3px; color:#6e512b; background:#e7d6b7; border-color:#b68b4b; }
.paper-modal .honor-rules { margin-top:12px; padding:12px; border:1px solid #d4c3a2; color:#6f5a3c; }
.paper-modal .honor-rules summary { cursor:pointer; }
.paper-modal .honor-rules p { color:#403428; font-size:13px; line-height:1.9; }
.paper-modal .paper-feedback-form { margin:15px 0 20px; padding:16px; border:1px solid #d4c3a2; background:#f3ead9; }
.paper-modal .field label { color:#806846; }
.paper-modal .field input,.paper-modal .field textarea,.paper-modal .field select { color:#403428; border:0; border-bottom:1px solid #b8a17b; background:transparent; padding:9px 2px; font:15px/1.7 var(--serif); }
.paper-modal .field textarea { min-height:36px; resize:vertical; }
.paper-modal .field input:focus,.paper-modal .field textarea:focus,.paper-modal .field select:focus { outline:0; border-color:#8d653d; box-shadow:0 1px #8d653d; }
.paper-modal .secondary { color:#6d5738; border-color:#b8a17b; background:#f7f0e2; }
.paper-modal .muted { color:#88785f; }
.paper-modal .errorline { color:#9b4133; }
.paper-modal .legal h3 { color:#806846; }
@media(max-width:560px) { dialog.paper-modal { padding:16px 12px; } .paper-document { padding:20px 17px 24px; } .paper-status { position:static; display:block; margin-top:6px; } .paper-title { font-size:22px; } .paper-copy { font-size:15px; } }

/* Modern, airy surfaces: keep the warm accent while letting the content breathe. */
:root {
  --bg: #171719;
  --ink: #f3f0ea;
  --muted: #c0bbb2;
  --gold: #dfc18c;
  --gold-bright: #f6e7c8;
  --line: #ffffff24;
  --paper: #ffffff0a;
}
body { background: radial-gradient(ellipse at 50% -10%, #81544455, transparent 58%), linear-gradient(155deg,#1c1b1d,#171719 64%,#211c1b); }
header { border-color: #ffffff20; }
.brand { color: var(--gold-bright); }
.brand small { color: #d4c5a8; }
.nav button { font-family: inherit; letter-spacing: .4px; }
.account { border-color: #ffffff30; color: #f3e7d1; background: #ffffff08; backdrop-filter: blur(14px); }
.page-scope { background: #252427d9; border-color: #ffffff28; backdrop-filter: blur(18px) saturate(125%); }
.scope-mine,.scope-circles { background: #252427d9; border-color: #ffffff28; }
.scope-badge { color: #e6ce9f; }
.scope-heading strong { color: #f4eee3; }
.page-scope p { color: #d0c9bd; }
.hero { border-color: rgba(255,207,111,.78); background: #802e1e; box-shadow: 0 18px 55px #0003; backdrop-filter: none; }
.hero:before { inset: 12px; border-color: rgba(232,211,173,.24); background: none; }
.art { opacity: 1; filter: none; }
.imperial-side { display: none; }
.hero h1 { color: #f6ead2; text-shadow: 0 0 40px #e4c58b20; }
.hero-motto { color: #e7c78f; }
.hero p { color: #d1bfa3; }
.eyebrow { color: #d3b888; }
.hero .primary { border-color: rgba(255,207,111,.72); background: rgba(189,65,43,.96); box-shadow: none; }
.hero .primary:hover { background: #cf5138; }
.hero-footnote { background: rgba(93,28,23,.88); border-color: transparent; color: #ffe2a1; backdrop-filter: none; }
.court-divider { color: #d2c2a2; font-family: inherit; letter-spacing: 2px; }
.court-divider:before,.court-divider:after { background: linear-gradient(90deg,transparent,#ffffff42); }
.imperial-overview { border-color: #ffffff2b; background: linear-gradient(110deg,#ffffff0b,#ffffff04,#ffffff0b); backdrop-filter: blur(18px); }
.overview-cell + .overview-cell { border-color: #ffffff1c; }
.overview-cell h3,.overview-title { color: #e9dbc1; }
.overview-cell .quote { color: #ded1bd; }
.court-content { max-width: 1000px; }
.section-head h2 { color: #f0e6d3; font-family: inherit; letter-spacing: .5px; }
.section-head .sub { color: #c5beb3; }
.pill { color: #e5d5b8; border-color: #ffffff30; font-family: inherit; }
.filters { border-color: #ffffff20; }
.filter { font-family: inherit; letter-spacing: .2px; border-radius: 999px; }
.filter.active { color: #fff3da; border-color: #e4c58b73; background: #ffffff12; }
.memorial { border: 1px solid #ffffff20; border-radius: 14px; background: linear-gradient(120deg,#ffffff0d,#ffffff06); box-shadow: 0 12px 35px #0002; backdrop-filter: blur(14px); }
.memorial-spine { flex-basis: 48px; border: 0; border-right: 1px solid #ffffff20; background: #ffffff06; color: #e5d8c1; font: 500 17px/1.2 sans-serif; }
.memorial-body { padding: 23px 27px; }
.memorial h3 { color: #f2ece1; font-family: inherit; font-weight: 600; letter-spacing: 0; }
.memorial .category { color: #dfc18c; letter-spacing: .2px; }
.memorial .cardfoot { border-color: #ffffff20; }
.memorial .review { border: 1px solid #e2c58e75; border-radius: 999px; color: #f7e9ce; background: #ffffff0b; font: 600 13px/1.2 sans-serif; letter-spacing: .2px; }
.memorial .review:hover { background: #ffffff16; }
.empty { border-color: #ffffff20; border-radius: 14px; background: #ffffff08; }
.empty h3 { color: #eee4d2; font-family: inherit; letter-spacing: .3px; }
.footer { border-color: #ffffff20; color: #c5beb3; }
.process-panel { max-width:1000px; margin:0 auto 42px; padding:24px 28px; border:1px solid #ffffff24; border-radius:14px; background:linear-gradient(115deg,#ffffff0b,#ffffff05); }
.process-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:17px; }
.process-heading h2 { margin:0; color:#f0e6d3; font-size:20px; font-weight:600; }
.process-heading span { color:#c5beb3; font-size:12px; }
.process-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.process-step { display:flex; align-items:center; gap:12px; min-width:0; padding:13px 15px; border:1px solid #ffffff18; background:#ffffff06; }
.process-step b { color:#f0c87b; font:22px var(--serif); }
.process-step strong,.process-step span { display:block; }
.process-step strong { color:#eee4d2; font-size:13px; }
.process-step span { margin-top:4px; color:#c5beb3; font-size:11px; line-height:1.5; }
.layout.show-treasury > :not(.treasury-page) { display:none; }
.treasury-page { max-width:1000px; margin:0 auto 42px; }
.treasury-heading { min-height:0; padding:0 0 20px; border:0; background:none; }
.treasury-heading h2 { margin:6px 0; color:#f6ead2; font-size:30px; }
.treasury-heading p { margin:0; color:#c5beb3; }
.treasury-wallets { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:16px; }
.treasury-wallet { padding:20px; border:1px solid #ffffff25; border-radius:14px; background:linear-gradient(130deg,#ffffff0d,#ffffff05); }
.treasury-wallet h3 { margin:0 0 15px; color:#f0d69f; font-size:14px; letter-spacing:2px; }
.coin-comparison { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.coin-side { display:flex; min-width:0; flex-direction:column; align-items:center; padding:12px 8px; border:1px solid #ffffff18; background:#00000010; }
.coin-pile { display:flex; height:89px; flex-direction:column-reverse; align-items:center; justify-content:flex-start; padding-bottom:4px; }
.coin-pile i { display:block; width:62px; height:13px; margin-top:-5px; border:1px solid #ffe2a1; border-radius:50%; background:linear-gradient(180deg,#ffe79a,#d89c36 70%,#936020); box-shadow:0 2px 3px #0005; }
.coin-spent i { border-color:#ffc1a0; background:linear-gradient(180deg,#ffc08c,#d05b3d 70%,#7e3026); }
.coin-label { color:#d6c8af; font-size:12px; }
.coin-side strong { margin-top:6px; color:#ffe2a1; font-size:15px; }
.coin-side.spent .coin-label { color:#f0b69c; }
.coin-side small { margin-top:4px; color:#a9a39b; font-size:10px; }
.treasury-section { margin-top:28px; padding:18px 20px; border-top:1px solid #ffffff24; }
.treasury-section h3 { margin:0 0 10px; color:#eee4d2; font-size:17px; }
.treasury-categories { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:8px; }
.treasury-category { display:grid; grid-template-columns:1fr auto; gap:5px 10px; padding:11px 13px; border:1px solid #ffffff18; background:#ffffff06; }
.treasury-category span { color:#e9dbc1; }
.treasury-category span small { color:#c5beb3; }
.treasury-category strong { color:#f0c87b; }
.treasury-category em { grid-column:1/-1; color:#a9a39b; font-size:10px; font-style:normal; }
.treasury-record { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px 14px; padding:12px 0; border-bottom:1px solid #ffffff16; }
.treasury-record div strong,.treasury-record div small { display:block; }
.treasury-record div strong { color:#eee4d2; font-size:13px; }
.treasury-record div small,.treasury-record>small { margin-top:4px; color:#aaa39a; font-size:10px; }
.treasury-record>span { color:#f0c87b; font-size:11px; }
.treasury-record>span.spent { color:#f0a287; }
.treasury-record>b { color:#f6e7c8; font-size:12px; }
.treasury-pending,.treasury-disclaimer { color:#c5beb3; font-size:12px; line-height:1.7; }
.treasury-pending { padding:10px 13px; border-left:2px solid #d5ae64; background:#ffffff08; }
.treasury-disclaimer { padding-top:13px; border-top:1px solid #ffffff16; }
.panel,.card,.notice { border-color: #ffffff20; border-radius: 12px; background: #ffffff09; backdrop-filter: blur(14px); }
.secondary { border-color: #ffffff30; border-radius: 8px; color: #eee4d2; background: #ffffff0b; }
.primary { border-radius: 8px; }
dialog:not(.request-paper-dialog):not(.paper-modal) { border-color: #ffffff35; border-radius: 16px; background: #242326ed; backdrop-filter: blur(22px) saturate(130%); }
#toast { border-color: #ffffff40; border-radius: 10px; background: #343033eF; color: #f5ead6; backdrop-filter: blur(18px); }
@media(max-width:700px) {
 .nav { background: #242326e8; border-color: #ffffff28; backdrop-filter: blur(20px) saturate(130%); }
 .nav button { font-family: inherit; }
 .memorial-spine { flex-basis: 34px; }
 .memorial-body { padding: 17px 15px; }
 .process-panel { padding:18px 14px; margin-bottom:30px; }
 .process-heading { align-items:flex-start; flex-direction:column; gap:5px; }
 .process-steps { gap:6px; }
 .process-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .process-step { align-items:flex-start; flex-direction:column; padding:10px 8px; gap:7px; }
 .process-step b { font-size:18px; }
 .process-step span { font-size:10px; }
 .treasury-page { margin-bottom:30px; }
 .treasury-record { grid-template-columns:minmax(0,1fr) auto; }
 .treasury-record>b { grid-column:2; }
}
