@font-face {
  font-family: Recia;
  src: url('../fonts/Recia-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../fonts/IBMPlexMono-Regular.8ffa849b.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
* { box-sizing: border-box; }
html { background: #F0EBDE; color: #181818; }
body { margin: 0; font: 400 18px/1.65 Recia, serif; }
a { color: inherit; text-underline-offset: 5px; text-decoration-thickness: 1px; }
a:hover { opacity: .75; }
:focus-visible { outline: 2px solid #181818; outline-offset: 5px; }
.skip-link { position: absolute; top: -100px; left: 24px; z-index: 3; padding: 12px; background: #F0EBDE; }
.skip-link:focus { top: 8px; }
.terms-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px clamp(24px, 5vw, 80px);
  border-bottom: 1px solid rgba(24, 24, 24, .2);
}
.terms-brand { display: block; width: clamp(200px, 25vw, 320px); }
.terms-brand img { display: block; width: 100%; height: auto; }
.terms-return { font: 400 11px/1.5 'IBM Plex Mono', monospace; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
main { width: min(780px, calc(100% - 48px)); margin: 0 auto; padding: 72px 0 80px; }
h1 { margin: 0 0 48px; font-size: clamp(42px, 6vw, 72px); font-weight: 400; line-height: 1.08; letter-spacing: -.035em; }
section { padding: 32px 0; border-top: 1px solid rgba(24, 24, 24, .2); }
h2 { margin: 0 0 20px; font-size: clamp(25px, 3vw, 30px); font-weight: 400; line-height: 1.2; }
p { margin: 0; }
p + p { margin-top: 16px; }
ul { margin: 0; padding-left: 22px; }
p + ul { margin-top: 20px; }
ul + p { margin-top: 20px; }
li { padding-left: 4px; }
li + li { margin-top: 10px; }
strong { font-weight: 600; }
.terms-footer { padding-top: 32px; border-top: 1px solid rgba(24, 24, 24, .2); }
.policy-intro { margin-bottom: 40px; }
.policy-updated { margin: 0 0 32px; }
.site-footer { padding: 64px clamp(24px, 8.333vw, 180px) 48px; background: #1b211d; color: #f0ebde; }
.footer-contact { font: 400 16px/1.6 Recia, serif; }
.footer-contact p { margin: 0 0 8px; }
.footer-contact .footer-contact-mark { margin-bottom: 16px; font: 400 11px/1.4 'IBM Plex Mono', monospace; letter-spacing: .09em; text-transform: uppercase; }
.footer-arrow { display: inline-block; width: .85em; height: .85em; margin-left: .15em; vertical-align: -.05em; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.footer-utility { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 48px; padding-top: 20px; border-top: 1px solid rgba(240,235,222,.2); color: #c3c6b9; font: 400 10px/1.5 'IBM Plex Mono', monospace; }
.footer-utility nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.footer-credit { opacity: .75; }
.footer-utility button { min-height: 44px; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.footer-utility p { margin: 0; }
.footer-utility a { display: inline-flex; align-items: center; min-height: 44px; }
.site-footer :focus-visible { outline-color: #f0ebde; }
@media (max-width: 899px) {
  .site-footer { padding: 48px 24px 32px; }
  .footer-utility { flex-wrap: wrap; gap: 4px 20px; margin-top: 32px; }
}
@media (max-width: 599px) {
  .terms-header { align-items: flex-start; flex-direction: column; gap: 20px; }
  main { padding-top: 48px; }
  h1 { margin-bottom: 36px; }
}
