/* Freedom Render Farm — shared foundations. No CSS framework is required. */
:root {
  --rf-bg: #1b1b1b;
  --rf-panel: #292929;
  --rf-border: #444;
  --rf-text: #eee;
  --rf-muted: #aaa;
  --rf-accent: #e5a05f;
  --rf-font: "Open Sans", system-ui, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--rf-font); font-size: 1rem; line-height: 1.6; color: #344054; background: #fff; }
h1,h2,h3,h4,h5,h6 { margin: 0 0 .5rem; line-height: 1.3; font-weight: 600; }
h1 { font-size: 2.5rem; } h2 { font-size: 2rem; } h3,.h3 { font-size: 1.75rem; }
h4,.h4 { font-size: 1.5rem; } h5,.h5 { font-size: 1.25rem; } h6 { font-size: 1rem; }
p { margin: 0 0 1rem; } a { color: #b96525; text-decoration: none; } a:hover { color: #e8a269; }
img,svg { vertical-align: middle; } img { max-width: 100%; } svg { flex-shrink: 0; }
button,input,select,textarea { font: inherit; } button,[type=submit] { cursor: pointer; }
button:disabled { cursor: not-allowed; } textarea { resize: vertical; }
label { display: inline-block; margin-bottom: .5rem; font-size: .875rem; }
small,.small { font-size: .875em; } strong,b { font-weight: 700; }
hr { border: 0; border-top: 1px solid var(--rf-border); margin: 1rem 0; opacity: .6; }
pre { overflow: auto; } code,pre { font-family: ui-monospace,monospace; font-size: .875em; }
table { border-collapse: collapse; } th { text-align: left; } summary { cursor: pointer; }
[hidden],[v-cloak] { display: none !important; }
:focus-visible { outline: 2px solid var(--rf-accent); outline-offset: 3px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
