@font-face {
  font-family: "Brox Caslon";
  src: url("../fonts/LibreCaslonDisplay-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
/* Clean client foundation. No legacy components or override generations. */
:root {
  --bx-bg: #f7f3ec;
  --bx-bg2: #fffdfa;
  --bx-panel: #fffefa;
  --bx-panel2: #f0e9dd;
  --bx-line: #ddd3c3;
  --bx-text: #25221c;
  --bx-muted: #6d6458;
  --bx-gold: #b78637;
  --bx-gold2: #77521f;
  --bx-soft: #f3e7d3;
  --bx-success: #326342;
  --bx-danger: #a03a2c;
  --bx-radius-sm: 10px;
  --bx-radius-md: 16px;
  --bx-radius-lg: 16px;
  --bx-space-1: .5rem;
  --bx-space-2: 1rem;
  --bx-space-3: 1.5rem;
  --bx-space-4: 2rem;
  --bx-space-5: 3rem;
  --bx-ui-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bx-display-font: "Brox Caslon", Georgia, serif;
  --bx-control-height: 44px;
  --bx-container-max: 1328px;
  --bx-container-gutter: clamp(16px, 3.5vw, 48px);
  --bx-container-padding: max(var(--bx-container-gutter), calc((100% - var(--bx-container-max)) / 2));
  --bx-control-line: #968c7b;
  --bx-focus: #77521f;
  --bx-primary: #171611;
  --bx-primary-hover: #2c2a25;
  --bx-primary-text: #fffdfa;
  --bx-danger-bg: #fbe9e7;
  --bx-success-bg: #e3f3eb;
  --bx-warning: #77521f;
  --bx-warning-bg: #f3e7d3;
  --bx-disabled-bg: var(--bx-panel2);
  --bx-disabled-text: var(--bx-muted);
  --bx-shadow: 0 18px 48px rgb(75 51 17 / .1);
}
body.web-dark, html.web-dark, html[data-brox-theme="dark"] {
  /* Original slate palette; the old deep gold failed on elevated surfaces. */
  --bx-bg: #111318;
  --bx-bg2: #15181e;
  --bx-panel: #1c2027;
  --bx-panel2: #252a33;
  --bx-line: #383f49;
  --bx-text: #f3f4f6;
  --bx-muted: #b8bec8;
  --bx-gold: #d7b46b;
  --bx-gold2: #d7b46b;
  --bx-soft: #22272e;
  --bx-success: #acc8a7;
  --bx-danger: #efada0;
  --bx-control-line: #7d8899;
  --bx-focus: #d7b46b;
  --bx-danger-bg: #302228;
  --bx-success-bg: #203027;
  --bx-warning: #d7b46b;
  --bx-warning-bg: #29261f;
  --bx-shadow: 0 18px 48px rgb(0 0 0 / .24);
  color-scheme: dark;
}
html.web-light, body.web-light, html[data-brox-theme="light"] { color-scheme: light; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-color: var(--bx-gold) var(--bx-bg); }
body { margin: 0; background: var(--bx-bg); color: var(--bx-text); font: 400 1rem/1.5 var(--bx-ui-font); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }
button, input, select, textarea, a { -webkit-tap-highlight-color: rgb(183 134 55 / .16); }
button, input, select, textarea { max-width: 100%; }
input, textarea { caret-color: var(--bx-gold2); }
input::placeholder, textarea::placeholder { color: var(--bx-muted); opacity: 1; }
img, video { max-width: 100%; }
a { color: inherit; text-underline-offset: .2em; }
h1, h2, h3, p { overflow-wrap: anywhere; }
:focus-visible { outline: 3px solid var(--bx-focus); outline-offset: 4px; }
::selection { background: var(--bx-soft); color: var(--bx-text); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (prefers-contrast: more) { :root { --bx-line: #756b5a; } body.web-dark, html.web-dark { --bx-line: #c0b5a3; } }

/* One content axis. The inset limits the usable width without header offsets. */
.bx-container {
  width: 100%;
  max-width: none;
  padding-inline: var(--bx-container-padding);
  margin-inline: 0;
}
