/* T33 Legal per T33 Legal.dc.html. Every rule is scoped to body.hvn-page-t33. */

/* The artboard wrapper is content-box (1080 content + 24px padding each side); border-box here needs 1128. */
.hvn-page-t33 .page-main {
  max-width: 1128px;
  padding: 44px 24px 0;
  box-sizing: border-box;
}
.hvn-page-t33 .columns .column.main {
  padding: 0;
  margin: 0;
  min-height: 0;
}
.hvn-page-t33 .page-footer {
  margin-top: 64px;
}

.hvn-page-t33 .hvn-legal {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.hvn-page-t33 .hvn-legal__toc {
  position: sticky;
  top: 24px;
  box-sizing: border-box;
  padding: 18px 0;
  background: var(--hvn-surface);
  border: 1px solid color-mix(in oklab, var(--hvn-text) 12%, var(--hvn-bg));
  border-radius: 4px;
}
.hvn-page-t33 .hvn-legal__toc-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.hvn-page-t33 .hvn-legal__toc-item {
  margin: 0;
  padding: 0;
}
.hvn-page-t33 .hvn-legal__toc-link {
  display: block;
  box-sizing: border-box;
  padding: 10px 22px;
  font-family: var(--hvn-font-body);
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
  color: var(--hvn-text-muted);
  border-left: 3px solid transparent;
}
.hvn-page-t33 .hvn-legal__toc-link:hover {
  color: var(--hvn-text);
}
.hvn-page-t33 .hvn-legal__toc-link[aria-current="page"] {
  font-weight: 700;
  color: var(--hvn-accent-strong);
  border-left-color: var(--hvn-accent);
}
.hvn-page-t33 .hvn-legal__toc-link:focus-visible {
  outline: 2px solid var(--hvn-focus-ring-dark);
  outline-offset: -2px;
}

.hvn-page-t33 .hvn-legal__article {
  min-width: 0;
}
.hvn-page-t33 .hvn-legal__title {
  margin: 0;
  font-family: var(--hvn-font-display);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  text-wrap: balance;
  color: var(--hvn-text);
}
.hvn-page-t33 .hvn-legal__meta {
  margin: 10px 0 0;
  font-family: var(--hvn-font-body);
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--hvn-text-muted);
}

.hvn-page-t33 .hvn-legal__body {
  font-family: var(--hvn-font-body);
}
.hvn-page-t33 .hvn-legal__fallback {
  counter-reset: hvn-legal;
}
.hvn-page-t33 .hvn-legal__body h2 {
  margin: 32px 0 0;
  font-family: var(--hvn-font-display);
  font-size: 19px;
  font-weight: 400;
  line-height: 1.2;
  text-wrap: balance;
  color: var(--hvn-text);
}
/* Numbering only on the theme's own sections; merchant headings keep whatever numbers the merchant typed. */
.hvn-page-t33 .hvn-legal__fallback h2 {
  counter-increment: hvn-legal;
}
.hvn-page-t33 .hvn-legal__fallback h2::before {
  content: counter(hvn-legal) ". ";
}
.hvn-page-t33 .hvn-legal__body h3 {
  margin: 24px 0 0;
  font-family: var(--hvn-font-display);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--hvn-text);
}
.hvn-page-t33 .hvn-legal__body p,
.hvn-page-t33 .hvn-legal__body li {
  font-size: 14.5px;
  line-height: 1.85;
  color: color-mix(in oklab, var(--hvn-text) 68%, var(--hvn-bg));
}
.hvn-page-t33 .hvn-legal__body p {
  max-width: 68ch;
  margin: 12px 0 0;
}
.hvn-page-t33 .hvn-legal__body ul,
.hvn-page-t33 .hvn-legal__body ol {
  max-width: 68ch;
  margin: 12px 0 0;
  padding: 0 0 0 22px;
}
.hvn-page-t33 .hvn-legal__body ul {
  list-style: disc;
}
.hvn-page-t33 .hvn-legal__body ol {
  list-style: decimal;
}
.hvn-page-t33 .hvn-legal__body li {
  margin: 4px 0 0;
}
.hvn-page-t33 .hvn-legal__body strong {
  font-weight: 600;
  color: var(--hvn-text);
}
.hvn-page-t33 .hvn-legal__body a {
  color: var(--hvn-accent-strong);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.hvn-page-t33 .hvn-legal__body a:hover {
  color: var(--hvn-text);
}
.hvn-page-t33 .hvn-legal__body a:focus-visible {
  outline: 2px solid var(--hvn-focus-ring-dark);
  outline-offset: 2px;
}
.hvn-page-t33 .hvn-legal__body img {
  max-width: 100%;
  height: auto;
}

/* Merchant HTML cannot be wrapped, so the body scrolls sideways itself and the page never does. */
.hvn-page-t33 .hvn-legal__merchant {
  overflow-x: auto;
  /* 4px = link outline 2px + offset 2px; keeps focus rings inside the scroll box without moving the text. */
  padding: 4px;
  margin: -4px;
}
/* Merchant tables keep table semantics; long cell text wraps instead of widening the article. */
.hvn-page-t33 .hvn-legal__merchant table {
  max-width: 100%;
  margin: 16px 0 0;
  border-collapse: collapse;
}
.hvn-page-t33 .hvn-legal__merchant th,
.hvn-page-t33 .hvn-legal__merchant td {
  padding: 8px 12px;
  font-size: 13.5px;
  line-height: 1.5;
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
  border: 1px solid var(--hvn-border);
}

.hvn-page-t33 .hvn-legal__table-wrap {
  max-width: 100%;
  margin: 16px 0 0;
  overflow-x: auto;
  background: var(--hvn-surface);
  border: 1px solid var(--hvn-border);
  border-radius: 4px;
}
.hvn-page-t33 .hvn-legal__table-wrap:focus-visible {
  outline: 2px solid var(--hvn-focus-ring-dark);
  outline-offset: 2px;
}
.hvn-page-t33 .hvn-legal__cookies {
  width: 100%;
  border-collapse: collapse;
}
.hvn-page-t33 .hvn-legal__cookies th,
.hvn-page-t33 .hvn-legal__cookies td {
  padding: 10px 14px;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
  vertical-align: top;
  color: var(--hvn-text);
  border-bottom: 1px solid var(--hvn-border);
}
.hvn-page-t33 .hvn-legal__cookies th {
  font-weight: 600;
  color: var(--hvn-text-muted);
}
.hvn-page-t33 .hvn-legal__cookies tbody tr:last-child td {
  border-bottom: 0;
}
.hvn-page-t33 .hvn-legal__cookie-name {
  font-family: var(--hvn-font-mono);
  font-size: 12.5px;
  white-space: nowrap;
}
.hvn-page-t33 .hvn-legal__cookie-lifetime {
  min-width: 9ch;
}
@media (max-width: 1023px) {
  .hvn-page-t33 .hvn-legal__cookies th,
  .hvn-page-t33 .hvn-legal__cookies td {
    padding: 8px 10px;
  }
  .hvn-page-t33 .hvn-legal__cookie-name {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

.hvn-page-t33 .hvn-legal__note {
  box-sizing: border-box;
  max-width: 60ch;
  margin: 32px 0 0;
  padding: 16px 20px;
  font-family: var(--hvn-font-body);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--hvn-text);
  background: color-mix(in oklab, var(--hvn-accent) 6%, var(--hvn-bg));
  border: 1px solid var(--hvn-accent);
  border-radius: 4px;
}
.hvn-page-t33 .hvn-legal__note a {
  color: var(--hvn-accent-strong);
}
.hvn-page-t33 .hvn-legal__note a:focus-visible {
  outline: 2px solid var(--hvn-focus-ring-dark);
  outline-offset: 2px;
}

/* Touch-size contents links on tablets; the artboard's 36px links stay from 1024px up. */
@media (min-width: 640px) and (max-width: 1023px) {
  .hvn-page-t33 .hvn-legal__toc-link {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
}

/* The artboard keeps two columns at every width; below 640px they would leave the article 111px wide. */
@media (max-width: 639px) {
  .hvn-page-t33 .hvn-legal {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .hvn-page-t33 .hvn-legal__toc {
    position: static;
  }
  .hvn-page-t33 .hvn-legal__toc-link {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
}
