:root {
  --sc-fnd-ink: #111111;
  --sc-fnd-muted: #5d5d5d;
  --sc-fnd-line: #d9d3cf;
  --sc-fnd-paper: #ffffff;
  --sc-fnd-wash: #f7f4f1;
  --sc-fnd-accent: #6f1023;
  --sc-fnd-accent-dark: #4d0b18;
  --sc-fnd-focus: #ff0000;
}

.sc-fnd-document,
.sc-fnd-archive,
.sc-fnd-catalog {
  color: var(--sc-fnd-ink);
  font-family: Montserrat, Arial, sans-serif;
  line-height: 1.68;
}

.sc-fnd-document {
  width: min(1180px, calc(100% - 32px));
  margin: 48px auto 72px;
  background: var(--sc-fnd-paper);
}

.sc-fnd-masthead {
  max-width: 940px;
  padding: 30px 0 26px;
  border-top: 7px solid var(--sc-fnd-accent);
  border-bottom: 1px solid var(--sc-fnd-line);
}

.sc-fnd-kicker {
  margin: 0 0 12px;
  color: var(--sc-fnd-accent);
  font-family: Spartan, Montserrat, Arial, sans-serif;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.sc-fnd-masthead h1,
.sc-fnd-catalog h2 {
  margin: 0;
  color: var(--sc-fnd-ink);
  font-family: Spartan, Montserrat, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.sc-fnd-masthead h1 {
  max-width: 900px;
  font-size: clamp(2.15rem, 5vw, 4.35rem);
}

.sc-fnd-subtitle {
  max-width: 820px;
  margin: 18px 0 0;
  color: #373737;
  font-size: clamp(1.04rem, 2vw, 1.3rem);
  line-height: 1.55;
}

.sc-fnd-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

.sc-fnd-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid var(--sc-fnd-line);
  border-radius: 2px;
  background: var(--sc-fnd-wash);
  color: #2d2d2d;
  font-family: Spartan, Montserrat, Arial, sans-serif;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.sc-fnd-status-current-approved-record,
.sc-fnd-status-current-living-document,
.sc-fnd-status-fixed-approved-snapshot {
  border-color: var(--sc-fnd-accent);
  background: var(--sc-fnd-accent);
  color: #fff;
}

.sc-fnd-status-superseded,
.sc-fnd-status-withdrawn,
.sc-fnd-status-historical-record {
  border-style: dashed;
  background: #ece9e6;
  color: #4b4b4b;
}

.sc-fnd-metadata {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  max-width: 940px;
  margin: 26px 0 0;
  border: 1px solid var(--sc-fnd-line);
  background: var(--sc-fnd-wash);
}

.sc-fnd-metadata > div {
  min-width: 0;
  padding: 14px 16px;
  border-right: 1px solid var(--sc-fnd-line);
  border-bottom: 1px solid var(--sc-fnd-line);
}

.sc-fnd-metadata > div:nth-child(3n) { border-right: 0; }
.sc-fnd-metadata dt {
  margin-bottom: 3px;
  color: var(--sc-fnd-muted);
  font-family: Spartan, Montserrat, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.sc-fnd-metadata dd { margin: 0; font-size: .92rem; font-weight: 620; overflow-wrap: anywhere; }

.sc-fnd-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 940px;
  margin: 20px 0 34px;
}

.sc-fnd-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 15px;
  border: 1px solid var(--sc-fnd-accent);
  border-radius: 2px;
  background: #fff;
  color: var(--sc-fnd-accent);
  font: 750 .82rem/1.2 Spartan, Montserrat, Arial, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.sc-fnd-button:hover { background: var(--sc-fnd-accent); color: #fff; }
.sc-fnd-button:focus-visible,
.sc-fnd-document a:focus-visible,
.sc-fnd-catalog a:focus-visible,
.sc-fnd-catalog input:focus-visible,
.sc-fnd-catalog select:focus-visible {
  outline: 3px solid var(--sc-fnd-focus);
  outline-offset: 3px;
}

.sc-fnd-layout {
  display: grid;
  grid-template-columns: minmax(190px, 250px) minmax(0, 760px);
  gap: clamp(34px, 6vw, 78px);
  align-items: start;
}

.sc-fnd-toc {
  position: sticky;
  top: 30px;
  padding: 18px 0;
  border-top: 2px solid var(--sc-fnd-accent);
  border-bottom: 1px solid var(--sc-fnd-line);
}

.sc-fnd-toc-toggle {
  width: 100%;
  padding: 0 0 10px;
  border: 0;
  background: transparent;
  color: var(--sc-fnd-ink);
  font: 800 .78rem/1.2 Spartan, Montserrat, Arial, sans-serif;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
}

.sc-fnd-toc ol { margin: 0; padding-left: 20px; }
.sc-fnd-toc li { margin: 0 0 7px; font-size: .82rem; line-height: 1.35; }
.sc-fnd-toc li.level-3 { margin-left: 13px; color: var(--sc-fnd-muted); }
.sc-fnd-toc a { color: inherit; text-decoration: none; }
.sc-fnd-toc a:hover { color: var(--sc-fnd-accent); text-decoration: underline; }

.sc-fnd-body { min-width: 0; max-width: 760px; }
.sc-fnd-body > :first-child { margin-top: 0; }
.sc-fnd-body p,
.sc-fnd-body li { font-size: 1rem; }
.sc-fnd-body p { margin: 0 0 1.15em; }
.sc-fnd-body ul,
.sc-fnd-body ol { padding-left: 1.35em; }
.sc-fnd-body li { margin-bottom: .55em; }
.sc-fnd-body h2,
.sc-fnd-body h3,
.sc-fnd-body h4 {
  scroll-margin-top: 40px;
  color: var(--sc-fnd-ink);
  font-family: Spartan, Montserrat, Arial, sans-serif;
  line-height: 1.2;
}
.sc-fnd-body h2 {
  margin: 2.3em 0 .7em;
  padding-top: .55em;
  border-top: 1px solid var(--sc-fnd-line);
  font-size: clamp(1.45rem, 3vw, 2rem);
  letter-spacing: -.025em;
}
.sc-fnd-body h3 { margin: 1.65em 0 .55em; font-size: 1.2rem; }
.sc-fnd-body blockquote {
  margin: 1.5em 0;
  padding: 16px 20px;
  border-left: 4px solid var(--sc-fnd-accent);
  background: var(--sc-fnd-wash);
}
.sc-fnd-body table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.sc-fnd-body th,
.sc-fnd-body td { padding: 10px 12px; border: 1px solid var(--sc-fnd-line); text-align: left; vertical-align: top; }
.sc-fnd-body th { background: var(--sc-fnd-wash); font-family: Spartan, Montserrat, Arial, sans-serif; }

.sc-fnd-authority,
.sc-fnd-citation,
.sc-fnd-related,
.sc-fnd-revisions {
  margin-top: 46px;
}

.sc-fnd-authority {
  padding: 18px 22px;
  border: 1px solid var(--sc-fnd-accent);
  background: #fbf7f8;
}
.sc-fnd-authority h2 { margin-top: 0; padding-top: 0; border-top: 0; font-size: 1.1rem; }
.sc-fnd-authority p:last-child { margin-bottom: 0; }
.sc-fnd-citation-text { padding: 15px 18px; background: var(--sc-fnd-wash); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .88rem !important; overflow-wrap: anywhere; }
.sc-fnd-table-wrap { overflow-x: auto; }

.sc-fnd-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 24px;
  margin-top: 54px;
  padding: 20px 0;
  border-top: 3px solid var(--sc-fnd-accent);
  color: var(--sc-fnd-muted);
  font-size: .8rem;
}
.sc-fnd-footer strong { color: var(--sc-fnd-ink); }
.sc-fnd-footer a { color: var(--sc-fnd-accent); font-weight: 700; }

.sc-fnd-archive,
.sc-fnd-catalog {
  width: min(1180px, calc(100% - 32px));
  margin: 48px auto 72px;
}
.sc-fnd-catalog > header { margin-bottom: 28px; padding-top: 24px; border-top: 7px solid var(--sc-fnd-accent); }
.sc-fnd-catalog h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
.sc-fnd-catalog-filters {
  display: grid;
  grid-template-columns: minmax(200px, 2fr) repeat(2, minmax(160px, 1fr)) auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 28px;
  padding: 18px;
  border: 1px solid var(--sc-fnd-line);
  background: var(--sc-fnd-wash);
}
.sc-fnd-catalog-filters label { display: grid; gap: 5px; min-width: 0; }
.sc-fnd-catalog-filters label span { font: 750 .7rem/1.2 Spartan, Montserrat, Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.sc-fnd-catalog-filters input,
.sc-fnd-catalog-filters select { width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid #aaa; background: #fff; color: var(--sc-fnd-ink); }

.sc-fnd-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sc-fnd-card { display: flex; flex-direction: column; min-width: 0; padding: 22px; border: 1px solid var(--sc-fnd-line); border-top: 4px solid var(--sc-fnd-accent); background: #fff; }
.sc-fnd-card-meta,
.sc-fnd-card-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 14px; color: var(--sc-fnd-muted); font: 700 .68rem/1.35 Spartan, Montserrat, Arial, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.sc-fnd-card h3 { margin: 14px 0 8px; font: 800 1.25rem/1.25 Spartan, Montserrat, Arial, sans-serif; }
.sc-fnd-card h3 a { color: var(--sc-fnd-ink); text-decoration: none; }
.sc-fnd-card h3 a:hover { color: var(--sc-fnd-accent); text-decoration: underline; }
.sc-fnd-card p { margin: 0 0 20px; color: #3e3e3e; }
.sc-fnd-card-footer { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--sc-fnd-line); }
.sc-fnd-empty { grid-column: 1 / -1; padding: 28px; border: 1px dashed var(--sc-fnd-line); text-align: center; }

.sc-foundation-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.sc-foundation-admin-grid p { min-width: 0; }
.sc-foundation-admin-grid label { display: block; margin-bottom: 5px; }
.sc-foundation-admin-wide { margin-top: 8px; }

@media (max-width: 900px) {
  .sc-fnd-metadata { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sc-fnd-metadata > div:nth-child(3n) { border-right: 1px solid var(--sc-fnd-line); }
  .sc-fnd-metadata > div:nth-child(2n) { border-right: 0; }
  .sc-fnd-layout { grid-template-columns: 1fr; gap: 24px; }
  .sc-fnd-toc { position: static; }
  .sc-fnd-catalog-filters { grid-template-columns: 1fr 1fr; }
  .sc-fnd-catalog-filters label:first-child { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .sc-fnd-document,
  .sc-fnd-archive,
  .sc-fnd-catalog { width: min(100% - 22px, 1180px); margin-top: 22px; }
  .sc-fnd-masthead { padding-top: 20px; }
  .sc-fnd-metadata,
  .sc-fnd-catalog-grid,
  .sc-fnd-catalog-filters,
  .sc-foundation-admin-grid { grid-template-columns: 1fr; }
  .sc-fnd-metadata > div,
  .sc-fnd-metadata > div:nth-child(3n),
  .sc-fnd-metadata > div:nth-child(2n) { border-right: 0; }
  .sc-fnd-catalog-filters label:first-child { grid-column: auto; }
  .sc-fnd-actions .sc-fnd-button { flex: 1 1 calc(50% - 10px); }
  .sc-fnd-toc[aria-expanded="false"] ol { display: none; }
  .sc-fnd-footer { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  .sc-fnd-document *,
  .sc-fnd-catalog * { scroll-behavior: auto !important; transition: none !important; }
}

@media print {
  @page { margin: 18mm 16mm 20mm; }
  body { background: #fff !important; }
  .sc-fnd-document { width: 100%; margin: 0; }
  .sc-fnd-actions,
  .sc-fnd-toc,
  .site-header,
  .site-footer,
  header.site-header,
  footer.site-footer { display: none !important; }
  .sc-fnd-layout { display: block; }
  .sc-fnd-masthead h1 { font-size: 28pt; }
  .sc-fnd-body { max-width: none; }
  .sc-fnd-body a { color: #000; text-decoration: none; }
  .sc-fnd-body h2,
  .sc-fnd-body h3 { break-after: avoid; }
  .sc-fnd-body table,
  .sc-fnd-authority,
  .sc-fnd-citation { break-inside: avoid; }
  .sc-fnd-footer { margin-top: 24pt; }
}
