:root {
  color-scheme: light;
  font-family: var(--site-font-body);
  color: #111827;
  background: #f8fafc;
  line-height: 1.5;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #f8fafc; color: #111827; }
a { color: inherit; text-underline-offset: 0.18em; }
button, input, select, textarea { font: inherit; }
button, summary, input[type="checkbox"], select { cursor: pointer; }
img, svg { max-width: 100%; }

:focus-visible {
  outline: 3px solid var(--site-accent);
  outline-offset: 3px;
}

#main-content:focus { outline: 0; }
.network-skip-link {
  position: fixed;
  left: 1rem;
  top: 0.5rem;
  z-index: 100;
  transform: translateY(-180%);
  border-radius: 0.5rem;
  background: #111827;
  color: #fff;
  padding: 0.65rem 1rem;
  font-weight: 700;
}
.network-skip-link:focus { transform: translateY(0); }

.network-public-header { position: relative; z-index: 20; border-bottom: 1px solid #e5e7eb; background: #fff; }
.network-public-header__inner { max-width: 80rem; margin: 0 auto; padding: 0.75rem 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem 1.25rem; }
.network-public-brand { min-height: 44px; display: inline-flex; align-items: center; }
.network-public-nav { display: flex; flex: 1 1 34rem; flex-wrap: wrap; gap: 0.2rem; }
.network-public-nav a, .network-public-account a { min-height: 44px; display: inline-flex; align-items: center; border-radius: 0.5rem; padding: 0.55rem 0.7rem; font-family: var(--site-font-body); font-size: 0.875rem; font-weight: 500; text-decoration: none; }
.network-public-nav a:hover, .network-public-account a:hover { background: #f3f4f6; }
.network-public-account { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.network-public-account .network-public-account__primary { background: var(--site-accent); color: var(--site-accent-ink); padding-inline: 1rem; }
.network-public-account .network-public-account__primary:hover { background: var(--site-accent-hover); }

.network-public-footer { border-top: 1px solid #e5e7eb; background: #fff; padding: 2.5rem 1rem; text-align: center; color: #4b5563; }
.network-public-footer p { margin: 0; }
.network-public-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.25rem; margin-top: 1rem; }
.network-public-footer a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

main { min-height: 60vh; }
section { display: block; }
h1, h2, h3, p, ul, dl, dd { overflow-wrap: anywhere; }
h1, h2, h3 { line-height: 1.2; }
h1, h2, h3, p { margin-top: 0; }

.mx-auto { margin-left: auto; margin-right: auto; }
.max-w-xl { max-width: 36rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-3xl { max-width: 48rem; }
.max-w-5xl { max-width: 64rem; }
.max-w-6xl { max-width: 72rem; }
.min-h-screen { min-height: 100vh; }
.w-full { width: 100%; }
.h-px { height: 1px; }
.block { display: block; }
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.grid { display: grid; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-8 { gap: 2rem; }
.gap-10 { gap: 2.5rem; }

.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.py-14 { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.p-3 { padding: 0.75rem; }
.p-4 { padding: 1rem; }
.p-5 { padding: 1.25rem; }
.p-6 { padding: 1.5rem; }
.p-7 { padding: 1.75rem; }
.pt-5 { padding-top: 1.25rem; }
.pt-6 { padding-top: 1.5rem; }
.ml-8 { margin-left: 2rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-7 { margin-top: 1.75rem; }
.mt-8 { margin-top: 2rem; }

.space-y-3 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.75rem; }
.space-y-4 > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }
.space-y-5 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.25rem; }
.space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.5rem; }
.space-y-7 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.75rem; }

.rounded-lg { border-radius: 0.5rem; }
.rounded-xl { border-radius: 0.75rem; }
.rounded-2xl { border-radius: 1rem; }
.border { border: 1px solid #d1d5db; }
.border-t { border-top: 1px solid #e5e7eb; }
.border-y { border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; }
.border-gray-900 { border-color: #111827; }
.border-stone-400 { border-color: #a8a29e; }
.border-amber-300 { border-color: #fcd34d; }
.border-green-300 { border-color: #86efac; }
.border-red-300 { border-color: #fca5a5; }
.divide-y > :not([hidden]) ~ :not([hidden]) { border-top: 1px solid #e5e7eb; }
.shadow-sm { box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1); }

.bg-white { background: #fff; }
.bg-black, .bg-gray-950 { background: #030712; }
.bg-gray-200 { background: #e5e7eb; }
.bg-stone-50 { background: #fafaf9; }
.bg-stone-100 { background: #f5f5f4; }
.bg-amber-50 { background: #fffbeb; }
.bg-green-50 { background: #f0fdf4; }
.bg-red-50 { background: #fef2f2; }
.bg-slate-50 { background: #f8fafc; }
[class~="bg-[#f7f3ea]"] { background: #f7f3ea; }

.text-xs { font-size: 0.75rem; }
.text-sm { font-size: 0.875rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.text-3xl { font-size: 1.875rem; }
.text-4xl { font-size: 2.25rem; }
.font-normal { font-weight: 400; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.uppercase { text-transform: uppercase; }
.tracking-wide { letter-spacing: 0.06em; }
.tracking-tight { letter-spacing: -0.02em; }
.leading-5 { line-height: 1.25rem; }
.leading-6 { line-height: 1.5rem; }
.leading-7 { line-height: 1.75rem; }
.leading-8 { line-height: 2rem; }
.underline { text-decoration-line: underline; }
.text-white { color: #fff; }
.text-gray-300 { color: #d1d5db; }
.text-gray-500 { color: #4b5563; }
.text-gray-600 { color: #4b5563; }
.text-gray-700 { color: #374151; }
.text-gray-800 { color: #1f2937; }
.text-gray-900, .text-gray-950 { color: #111827; }
.text-amber-950 { color: #451a03; }
.text-green-700 { color: #15803d; }
.text-green-900 { color: #14532d; }
.text-red-700, .text-red-800 { color: #b91c1c; }
[class~="text-[#704719]"], [class~="text-[#8C5C20]"], [class~="text-[#B37E38]"] { color: var(--site-accent); }

form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
form select,
form textarea {
  width: 100%;
  min-height: 44px;
  margin-top: 0.25rem;
  border: 1px solid #6b7280;
  border-radius: 0.5rem;
  background: #fff;
  color: #111827;
  padding: 0.65rem 0.75rem;
}
form select[multiple] { min-height: 10rem; }
form textarea { min-height: 6rem; resize: vertical; }
form input[type="checkbox"], form input[type="radio"] { width: 24px; height: 24px; flex: 0 0 24px; margin-top: 0.1rem; }
form label { display: block; }
form label.flex { display: flex; }
form [aria-invalid="true"] { border-color: #b91c1c !important; box-shadow: 0 0 0 2px rgba(185, 28, 28, 0.16); }
button, .inline-flex { min-height: 44px; align-items: center; text-decoration: none; }
button { border: 1px solid #111827; border-radius: 0.75rem; background: #fff; padding: 0.7rem 1rem; font-weight: 600; }
.bg-black { border-color: var(--site-accent); background: var(--site-accent); color: var(--site-accent-ink); }
.bg-black:hover { border-color: var(--site-accent-hover); background: var(--site-accent-hover); }
.cursor-pointer { cursor: pointer; }

.form-error-summary { border: 2px solid #b91c1c; border-radius: 0.75rem; background: #fef2f2; color: #7f1d1d; padding: 1rem; }
.form-error-summary h2 { margin: 0; font-size: 1.05rem; }
.form-error-summary ul { margin: 0.65rem 0 0; padding-left: 1.25rem; }
.form-error-summary a { font-weight: 600; }

@media (min-width: 640px) {
  [class~="sm:px-6"] { padding-left: 1.5rem; padding-right: 1.5rem; }
  [class~="sm:py-16"] { padding-top: 4rem; padding-bottom: 4rem; }
  [class~="sm:p-7"] { padding: 1.75rem; }
  [class~="sm:p-9"] { padding: 2.25rem; }
  [class~="sm:flex-row"] { flex-direction: row; }
  [class~="sm:grid-cols-2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [class~="sm:grid-cols-3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [class~="sm:text-4xl"] { font-size: 2.25rem; }
  [class~="sm:text-5xl"] { font-size: 3rem; }
}

@media (min-width: 768px) {
  [class~="md:grid-cols-2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [class~="md:grid-cols-4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  [class~="lg:px-8"] { padding-left: 2rem; padding-right: 2rem; }
  [class~="lg:grid-cols-2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [class~="lg:grid-cols-[0.95fr_1.05fr]"] { grid-template-columns: 0.95fr 1.05fr; }
  [class~="lg:grid-cols-[1.05fr_0.95fr]"] { grid-template-columns: 1.05fr 0.95fr; }
  [class~="lg:grid-cols-[0.8fr_1.2fr]"] { grid-template-columns: 0.8fr 1.2fr; }
  [class~="lg:items-center"] { align-items: center; }
}

@media (max-width: 700px) {
  .network-public-header__inner { align-items: flex-start; }
  .network-public-nav { order: 3; flex-basis: 100%; }
  .network-public-nav a { flex: 1 1 9rem; justify-content: center; border: 1px solid #e5e7eb; }
  .network-public-account { margin-left: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
