html.policy-document {
  min-height: 100%;
  background: #222324;
  color-scheme: dark;
  overscroll-behavior-y: none;
}
.privacy-page {
  min-height: 100svh;
  margin: 0;
  padding: 0;
  color: #eee4cf;
  background: linear-gradient(145deg, #2a2b2c, #222324);
  background-attachment: fixed;
}
.privacy-header {
  position: sticky;
  z-index: 10;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 19px max(28px, calc((100vw - 960px) / 2));
  border-bottom: 1px solid #575650;
  background: #292a2b;
  box-shadow: 0 3px 14px #00000012;
}
.privacy-header .brand {
  margin: 0;
  color: #f1e5cc;
  font-size: clamp(27px, 3vw, 34px);
  text-shadow: none;
}
.policy-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 9px;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid #68635a;
  border-radius: 4px;
  color: #ead8b5;
  background: transparent;
  font: 400 13px/1.4 Arial, Helvetica, sans-serif;
  cursor: pointer;
  transition: background-color 160ms, border-color 160ms;
}
.policy-close:hover { background: #ffffff08; border-color: #a79c87; }
.policy-close svg { width: 17px; height: 17px; flex: 0 0 17px; }
.privacy-content {
  width: min(100%, 800px);
  margin: 0 auto;
  padding: 49px 28px 76px;
  font: 15px/1.8 Arial, Helvetica, sans-serif;
}
.privacy-content h1, .privacy-content h2 {
  color: #f1e5cc;
  font-family: var(--display, Georgia, serif);
  font-weight: 400;
  letter-spacing: -.025em;
  scroll-margin-top: 110px;
}
.privacy-content h1 { font-size: clamp(38px, 6vw, 58px); line-height: 1.1; margin: 0 0 26px; }
.privacy-content h2 { font-size: 27px; line-height: 1.25; margin: 36px 0 12px; }
.privacy-content p { margin: 0 0 16px; color: #c8bda9; }
.privacy-content a { color: #ead8b5; text-decoration-color: #8c826f; }
.privacy-content a:hover { color: #f3e7ce; text-decoration-color: currentColor; }
.privacy-content a, .privacy-header a { text-underline-offset: 4px; overflow-wrap: anywhere; }
:is(.privacy-page, .policy-reader) :is(button, a):focus-visible { outline: 2px solid #ead8b5; outline-offset: 5px; }
:is(.privacy-page, .policy-reader) ::selection { color: #222324; background: #ead8b5; }
.privacy-content .privacy-date { font-size: 12px; color: #b9af9d; margin-top: 45px; }
.privacy-content .policy-version { font-size: 12px; color: #b9af9d; margin: -10px 0 26px; }
/* The in-page reader preserves the signup form beneath it without opening a tab. */
body.hj-policy-open { overflow: hidden; }
.policy-reader {
  box-sizing: border-box;
  width: min(900px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100svh - 40px);
  margin: auto;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #575650;
  border-radius: 9px;
  color: #eee4cf;
  background: linear-gradient(145deg, #2a2b2c, #222324);
  box-shadow: 0 3px 8px #0005, 0 24px 70px #0009;
  color-scheme: dark;
  text-align: left;
}
.policy-reader::backdrop { background: #101112b8; backdrop-filter: blur(5px); }
.policy-reader .privacy-header { padding: 16px clamp(22px, 4vw, 38px); }
.policy-reader .privacy-content { width: min(100%, 720px); padding: 40px 28px 55px; }
.policy-reader .privacy-content h1 { font-size: clamp(36px, 5vw, 50px); overflow-wrap: anywhere; }
.policy-reader .privacy-content h1:focus { outline: none; }
@media (max-width: 480px) {
  .privacy-header { padding: 14px 21px; gap: 16px; }
  .privacy-content { padding: 34px 23px 52px; }
  .privacy-content h1 { font-size: 38px; }
  .privacy-content h2 { font-size: 25px; margin-top: 30px; }
  .policy-reader { width: calc(100vw - 24px); max-height: calc(100svh - 24px); }
  .policy-reader .privacy-header { padding: 13px 18px; gap: 15px; }
  .policy-reader .privacy-header .brand { font-size: 27px; }
  .policy-reader .privacy-content { padding: 30px 21px 40px; }
  .policy-reader .privacy-content h1 { font-size: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .policy-close { transition: none; }
}
