:root {
  color: #171717;
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; color: #171717; background: #fff; }
a { color: inherit; }

.skip-link {
  position: fixed; top: 12px; left: 12px; z-index: 20; padding: 10px 14px;
  color: #fff; background: #d95328; border-radius: 6px; font-weight: 750;
  text-decoration: none; transform: translateY(-180%); transition: transform 160ms ease-out;
}
.skip-link:focus-visible { transform: translateY(0); outline: 3px solid #d95328; outline-offset: 3px; }
.site-main { width: min(92vw, 1700px); min-height: calc(100vh - 340px); margin: 0 auto; }
.site-header {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; min-height: 142px;
  margin: 0 0 clamp(40px, 5vw, 64px); padding: 18px 0; border-bottom: 1px solid #ececec;
}
.brand-lockup { display: grid; grid-template-columns: 220px minmax(190px, 1fr); align-items: center; gap: 22px; }
.logo-link { display: inline-block; width: fit-content; }
.site-logo { display: block; width: 220px; height: auto; }
.header-descriptor {
  max-width: 31ch; min-height: 44px; margin: 0; padding-left: 18px; color: #454545;
  border-left: 1px solid #d95328; font-size: .9375rem; font-weight: 500; letter-spacing: -.008em; line-height: 1.43;
}
.board-link {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 18px;
  color: #fff; background: #d95328; border: 1px solid #b9411e; border-radius: 12px;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 14%), 0 1px 0 rgb(0 0 0 / 18%), 0 4px 9px rgb(0 0 0 / 13%);
  font-size: .9375rem; font-weight: 750; letter-spacing: -.014em; line-height: 1.1; text-decoration: none;
  transition: background-color 170ms ease-out, border-color 170ms ease-out, box-shadow 170ms ease-out, transform 170ms ease-out;
}
.board-link:hover { background: #bd411f; box-shadow: inset 0 1px 0 rgb(255 255 255 / 12%), 0 1px 0 rgb(0 0 0 / 18%), 0 6px 12px rgb(0 0 0 / 16%); transform: translateY(-1px); }
.board-link:active { box-shadow: inset 0 1px 2px rgb(0 0 0 / 16%), 0 1px 2px rgb(0 0 0 / 12%); transform: translateY(1px); }
a:focus-visible { outline: 3px solid #d95328; outline-offset: 3px; }

.legal-layout { display: grid; grid-template-columns: minmax(220px, .44fr) minmax(0, .8fr); gap: clamp(48px, 9vw, 150px); align-items: start; width: min(100%, 1180px); margin: 0 auto 72px; }
.legal-intro { position: sticky; top: 32px; }
.eyebrow { margin: 0 0 14px; color: #c94723; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
h1 { max-width: 9ch; margin: 0; font-size: clamp(2.25rem, 4vw, 3.5rem); letter-spacing: -.055em; line-height: .98; }
.intro { max-width: 29ch; margin: 20px 0 0; color: #555; font-size: 1rem; line-height: 1.55; }
.updated { margin: 22px 0 0; color: #686868; font-size: .8125rem; font-weight: 650; }

.legal-copy { padding: clamp(28px, 4vw, 48px); background: #fff; border: 1px solid #dedede; border-radius: 10px; box-shadow: 0 3px 10px rgb(0 0 0 / 5%); }
.legal-copy > :first-child { margin-top: 0; }
.legal-copy section + section { margin-top: 34px; padding-top: 34px; border-top: 1px solid #e8e8e8; }
.legal-copy h2 { margin: 0 0 12px; color: #171717; font-size: clamp(1.1rem, 2vw, 1.3rem); letter-spacing: -.025em; line-height: 1.25; }
.legal-copy p, .legal-copy li { max-width: 66ch; color: #333; font-size: 1rem; line-height: 1.7; }
.legal-copy p { margin: 0; }
.legal-copy p + p { margin-top: 14px; }
.legal-copy ul { margin: 14px 0 0; padding-left: 1.25rem; }
.legal-copy li + li { margin-top: 8px; }
.legal-copy a { color: #c94723; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }

.site-footer { margin-top: 64px; padding: 46px 0 28px; color: #fff; background: #111; border-top: 2px solid #d95328; }
.footer-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; width: min(92vw, 1700px); margin: 0 auto; }
.footer-logo { display: block; width: 190px; height: auto; filter: brightness(0) invert(1); opacity: .94; }
.footer-community { margin: 12px 0 0; color: #ededed; font-size: 1rem; line-height: 1.5; }
.footer-nav { display: grid; align-content: start; gap: 12px; padding-top: 8px; }
.footer-nav a { color: #ededed; font-size: .9375rem; font-weight: 550; text-decoration: none; text-underline-offset: 4px; }
.footer-nav a:hover, .footer-nav a:focus-visible { color: #fff; text-decoration: underline; text-decoration-color: #d95328; text-underline-offset: 4px; }
.footer-utility { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) minmax(300px, 1.1fr); gap: 32px; padding-top: 24px; color: #c9c9c9; border-top: 1px solid rgb(255 255 255 / 14%); font-size: .8125rem; line-height: 1.5; }
.footer-utility p { margin: 0; }
.footer-utility a { color: #ededed; font-weight: 650; }
.footer-credit { justify-self: end; max-width: 48ch; text-align: right; }

@media (max-width: 760px) {
  .site-main { width: min(100% - 40px, 1700px); }
  .site-header { grid-template-columns: 1fr; gap: 16px; min-height: 0; margin-bottom: 38px; padding: 16px 0; }
  .brand-lockup { grid-template-columns: 1fr; gap: 8px; }
  .site-logo { width: 205px; }
  .brand-lockup, .header-descriptor, .legal-layout, .legal-copy, .footer-inner, .footer-nav, .footer-utility { justify-items: center; text-align: center; }
  .header-descriptor { min-height: 0; padding-left: 0; border-left: 0; font-size: .875rem; }
  .board-link { justify-self: center; min-height: 44px; font-size: .8125rem; }
  .legal-layout { grid-template-columns: 1fr; gap: 30px; margin-bottom: 48px; }
  .legal-intro { position: static; }
  h1 { max-width: none; }
  .intro { max-width: 38ch; }
  .legal-copy { padding: 24px 20px; }
  .legal-copy section + section { margin-top: 28px; padding-top: 28px; }
  .legal-copy p, .legal-copy li { font-size: .9375rem; }
  .site-footer { margin-top: 48px; padding: 40px 0 28px; }
  .footer-inner { grid-template-columns: 1fr; gap: 24px; width: min(100% - 40px, 1700px); }
  .footer-utility { grid-column: 1; grid-template-columns: 1fr; gap: 13px; }
  .footer-credit { justify-self: center; text-align: center; }
  .intro, .legal-copy p, .footer-community, .footer-credit { max-width: 100%; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
@media (max-width: 340px) { body { min-width: 0; } }
