.page-privacy {
  --pp-rule: rgba(124, 140, 153, .42);
  --pp-soft: #3C4A55;
  background: var(--sand-light);
  color: var(--ink);
}

.page-privacy .policy-hero {
  position: relative;
  background: var(--ink);
  color: var(--paper);
  padding: 22px 0 0;
  overflow: hidden;
}

.page-privacy .policy-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 auto;
  width: 42%;
  height: 3px;
  background: var(--mint);
}

.page-privacy .policy-hero .breadcrumb {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .06em;
  margin-bottom: 26px;
}

.page-privacy .policy-hero .breadcrumb a {
  color: var(--sand);
  text-decoration: none;
}

.page-privacy .policy-hero .breadcrumb a:hover,
.page-privacy .policy-hero .breadcrumb a:focus-visible {
  text-decoration: underline;
}

.page-privacy .policy-hero .breadcrumb__list {
  color: var(--grey);
}

.page-privacy .policy-hero .eyebrow {
  color: var(--sand);
  letter-spacing: .18em;
}

.page-privacy .policy-hero h1 {
  margin: 12px 0 0;
  font-size: clamp(30px, 6.4vw, 62px);
  font-weight: 900;
  line-height: 1.14;
  letter-spacing: -.02em;
  max-width: 20ch;
}

.page-privacy .policy-hero__lede {
  margin: 20px 0 0;
  max-width: 60ch;
  font-size: 16px;
  line-height: 1.85;
  color: var(--sand-light);
}

.page-privacy .policy-hero__facts {
  list-style: none;
  margin: 26px 0 30px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-privacy .policy-hero__facts li {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .03em;
  padding: 6px 11px;
  color: var(--sand);
  border: 1px solid rgba(227, 192, 138, .48);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%);
}

.page-privacy .policy-hero__figure {
  margin: 0;
  border-top: 2px solid var(--red);
}

.page-privacy .policy-hero__figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1600 / 600;
  min-height: 130px;
  object-fit: cover;
  filter: saturate(.85) contrast(1.06);
}

.page-privacy .policy-body {
  display: grid;
  gap: 30px;
  padding: 38px 0 72px;
}

.page-privacy .policy-toc {
  border: 2px solid var(--ink);
  background: var(--sand);
  padding: 16px 14px;
}

.page-privacy .policy-toc__title {
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(12, 18, 24, .28);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .16em;
  color: var(--red-deep);
}

.page-privacy .policy-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
  counter-reset: none;
}

.page-privacy .policy-toc__list a {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 9px 8px 9px 11px;
  border-left: 3px solid transparent;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  transition: border-color .18s ease, background-color .18s ease;
}

.page-privacy .policy-toc__list a:hover,
.page-privacy .policy-toc__list a:focus-visible {
  border-left-color: var(--red);
  background: rgba(251, 246, 238, .62);
}

.page-privacy .policy-toc__num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  color: var(--red-deep);
}

.page-privacy .policy-section {
  scroll-margin-top: 96px;
  border-top: 1px solid var(--pp-rule);
  padding-top: 24px;
}

.page-privacy .policy-section + .policy-section {
  margin-top: 46px;
}

.page-privacy .policy-section__head {
  display: flex;
  align-items: baseline;
  gap: 13px;
  margin-bottom: 16px;
}

.page-privacy .policy-section__num {
  flex: none;
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--paper);
  background: var(--red);
  padding: 4px 9px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%);
}

.page-privacy .policy-section h2 {
  margin: 0;
  font-size: clamp(21px, 3.6vw, 30px);
  font-weight: 900;
  letter-spacing: -.01em;
  line-height: 1.28;
}

.page-privacy .policy-section__body {
  font-size: 16px;
  line-height: 1.9;
  color: var(--ink);
  max-width: 68ch;
}

.page-privacy .policy-section__body > p {
  margin: 0 0 16px;
}

.page-privacy .policy-section__body a {
  color: var(--prose-link);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-privacy .policy-section__body a:hover,
.page-privacy .policy-section__body a:focus-visible {
  color: var(--red);
}

.page-privacy .policy-section__foot {
  margin: 22px 0 0;
  font-size: 15px;
  color: var(--pp-soft);
}

.page-privacy .policy-defs {
  margin: 0;
  display: grid;
}

.page-privacy .policy-defs > div {
  display: grid;
  gap: 4px;
  padding: 13px 0;
  border-bottom: 1px dashed var(--pp-rule);
}

.page-privacy .policy-defs > div:last-child {
  border-bottom: 0;
  padding-bottom: 4px;
}

.page-privacy .policy-defs dt {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .01em;
}

.page-privacy .policy-defs dt::before {
  content: "—";
  margin-right: 8px;
  color: var(--red);
  font-weight: 400;
}

.page-privacy .policy-defs dd {
  margin: 0;
  font-size: 15px;
  line-height: 1.85;
  color: var(--pp-soft);
}

.page-privacy .m {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: .93em;
  padding: 1px 6px;
  color: var(--red-deep);
  background: rgba(166, 58, 40, .09);
  border: 1px solid rgba(166, 58, 40, .26);
  white-space: nowrap;
}

.page-privacy .policy-callout {
  margin-top: 24px;
  padding: 15px 17px;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-left: 6px solid var(--red);
  box-shadow: 4px 4px 0 rgba(122, 36, 24, .55);
}

.page-privacy .policy-callout p {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  font-weight: 700;
}

.page-privacy .policy-more {
  margin-top: 24px;
  background: var(--paper);
  border: 1px solid var(--pp-rule);
}

.page-privacy .policy-more summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}

.page-privacy .policy-more summary::-webkit-details-marker {
  display: none;
}

.page-privacy .policy-more summary::after {
  content: "＋";
  flex: none;
  font-family: var(--font-mono);
  font-size: 16px;
  color: var(--red);
}

.page-privacy .policy-more[open] summary::after {
  content: "－";
}

.page-privacy .policy-more summary:hover,
.page-privacy .policy-more summary:focus-visible {
  background: rgba(227, 192, 138, .38);
}

.page-privacy .policy-more__body {
  padding: 14px 16px 16px;
  border-top: 1px dashed var(--pp-rule);
  font-size: 15px;
  line-height: 1.85;
  color: var(--pp-soft);
}

.page-privacy .policy-more__body p {
  margin: 0 0 10px;
}

.page-privacy .policy-more__body p:last-child {
  margin-bottom: 0;
}

.page-privacy .policy-more__body a {
  color: var(--prose-link);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-privacy .policy-meta {
  margin-top: 32px;
  padding-top: 16px;
  border-top: 2px solid var(--ink);
  display: grid;
  gap: 9px;
  font-size: 14px;
}

.page-privacy .policy-meta p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
}

.page-privacy .policy-meta span {
  flex: 0 0 76px;
  color: var(--grey);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .08em;
  padding-top: 2px;
}

@media (min-width: 720px) {
  .page-privacy .policy-defs > div {
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 26px;
    align-items: baseline;
  }

  .page-privacy .policy-hero__lede {
    font-size: 17px;
  }
}

@media (min-width: 920px) {
  .page-privacy .policy-hero {
    padding-top: 28px;
  }

  .page-privacy .policy-body {
    grid-template-columns: 244px minmax(0, 1fr);
    gap: 68px;
    align-items: start;
    padding: 60px 0 104px;
  }

  .page-privacy .policy-toc {
    position: sticky;
    top: 96px;
    padding: 20px 16px;
    box-shadow: 6px 6px 0 var(--red-deep);
  }

  .page-privacy .policy-section {
    padding-top: 30px;
  }

  .page-privacy .policy-section + .policy-section {
    margin-top: 62px;
  }

  .page-privacy .policy-hero__figure img {
    max-height: 300px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-privacy .policy-toc__list a,
  .page-privacy .policy-more summary {
    transition: none;
  }
}


<main id="main-content" class="page-privacy">
  <section class="policy-hero" aria-labelledby="policy-title">
    <div class="shell">
      <nav class="breadcrumb" aria-label="面包屑">
        <ol class="breadcrumb__list">
          <li><a href="/">看台总览</a></li>
          <li><span aria-current="page">隐私政策</span></li>
        </ol>
      </nav>
      <p class="eyebrow">隐私与信息使用</p>
      <h1 id="policy-title">隐私政策：你在 CN看台留下的信息怎么被使用</h1>
      <p class="policy-hero__lede">给客服写信时附上版本号和报错编号，是解决问题最快的一条路。这页把这条路走完整讲一遍：哪些内容会被保存、拿来做什么、留多久、谁能看到，以及你随时可以查、可以改、可以删的方式。</p>
      <ul class="policy-hero__facts">
        <li>客服邮件与来信正文</li>
        <li>版本号与 HV 报错编号</li>
        <li>匿名访问统计</li>
      </ul>
    </div>
    <figure class="policy-hero__figure">
      <img src="{zhanqunpic:h:600w:1600}" width="1600" height="600" alt="深色背景上由点与线构成的数据流纹理，带少量荧光青绿节点，画面中无人物">
    </figure>
  </section>

  <div class="shell policy-body">
    <aside class="policy-toc" aria-label="条款目录">
      <p class="policy-toc__title">条款目录</p>
      <ol class="policy-toc__list">
        <li><a href="#collect"><span class="policy-toc__num">01</span>你会提供哪些信息</a></li>
        <li><a href="#purpose"><span class="policy-toc__num">02</span>这些信息怎么用</a></li>
        <li><a href="#retention"><span class="policy-toc__num">03</span>保存多久、怎么保管</a></li>
        <li><a href="#sharing"><span class="policy-toc__num">04</span>与谁共享</a></li>
        <li><a href="#rights"><span class="policy-toc__num">05</span>你可以主张什么</a></li>
        <li><a href="#updates"><span class="policy-toc__num">06</span>条款更新</a></li>
      </ol>
    </aside>

    <div class="policy-main">
      <article class="policy-section" id="collect" data-reveal>
        <header class="policy-section__head">
          <span class="policy-section__num">01</span>
          <h2>你会提供哪些信息</h2>
        </header>
        <div class="policy-section__body">
          <p>你主动写来的内容，加上页面访问时产生的少量技术记录，构成了我们手里的全部信息。没有注册环节时，看比分与集锦并不需要留下任何资料。</p>
          <dl class="policy-defs">
            <div>
              <dt>联系与来信内容</dt>
              <dd>你在来信中使用的邮箱地址、正文与你附上的截图，例如打不开的页面名称和发生的大致时间。</dd>
            </div>
            <div>
              <dt>版本与报错信息</dt>
              <dd>安卓客户端的版本号 <span class="m">v5.2.7</span>、构建号 <span class="m">5.2.7-1180</span>，以及回看异常时页面给出的 <span class="m">HV</span> 开头四位编号。</dd>
            </div>
            <div>
              <dt>设备与系统环境</dt>
              <dd>机型、系统版本与屏幕尺寸，用来判断你的设备是否落在 <span class="m">Android 8.0</span> 及以上的适配范围里，折叠屏机型的排版也按这一项处理。</dd>
            </div>
            <div>
              <dt>页面访问记录</dt>
              <dd>页面浏览、停留时长与入口点击的匿名汇总数据，不含姓名、电话与邮箱。</dd>
            </div>
          </dl>
        </div>
      </article>

      <article class="policy-section" id="purpose" data-reveal>
        <header class="policy-section__head">
          <span class="policy-section__num">02</span>
          <h2>这些信息怎么用</h2>
        </header>
        <div class="policy-section__body">
          <p>来信、版本号与设备信息只指向一个目的：帮你把页面打开、把收藏的赛事点进去、把回看集锦放出来。具体落在四件事上。</p>
          <dl class="policy-defs">
            <div>
              <dt>定位回看与收藏问题</dt>
              <dd>凭 <span class="m">HV</span> 编号与版本号找到出问题的那一环，回信给出可以直接照做的步骤，而不是让你反复描述现象。</dd>
            </div>
            <div>
              <dt>发布版本与兼容提示</dt>
              <dd>把集中出现的机型和系统版本归纳出来，写进升级说明，让后面遇到同样情况的人提前知道该怎么办。</dd>
            </div>
            <div>
              <dt>调整页面入口</dt>
              <dd>根据入口点击的汇总结果，把周末追比分与最近轮次回看的位置往前放，减少翻找。</dd>
            </div>
            <div>
              <dt>客服跟进</dt>
              <dd>在问题处理前后与你保持联系，确认入口是否已经恢复，必要时再补一轮操作建议。</dd>
            </div>
          </dl>
          <aside class="policy-callout">
            <p>浩瀚赛场只把来信内容用于问题处理与回复，不把它放进任何推送名单。</p>
          </aside>
        </div>
      </article>

      <article class="policy-section" id="retention" data-reveal>
        <header class="policy-section__head">
          <span class="policy-section__num">03</span>
          <h2>保存多久、怎么保管</h2>
        </header>
        <div class="policy-section__body">
          <p>工单类内容的保存时间跟着排查周期走，问题结束就不再占用你的信息。</p>
          <dl class="policy-defs">
            <div>
              <dt>工单与报错记录</dt>
              <dd>按排查所需的时长保存；问题处理结束后，从工作记录中移除。</dd>
            </div>
            <div>
              <dt>查看权限</dt>
              <dd>只有负责数据与客服的同事可以打开工单内容，其他岗位看不到来信正文与附件。</dd>
            </div>
            <div>
              <dt>传输与存放</dt>
              <dd>页面访问与邮件往来使用加密传输，工单存放在受控的内部系统中，访问动作留痕。</dd>
            </div>
            <div>
              <dt>账号资料</dt>
              <dd>注册看台用户留下的昵称与关注球队随账号保留，账号停用后按同一流程清除。</dd>
            </div>
          </dl>
        </div>
      </article>

      <article class="policy-section" id="sharing" data-reveal>
        <header class="policy-section__head">
          <span class="policy-section__num">04</span>
          <h2>与谁共享</h2>
        </header>
        <div class="policy-section__body">
          <p>为了让邮件收得到、统计跑得动，会用到两类服务方。它们只处理完成各自任务所必需的那部分内容。</p>
          <dl class="policy-defs">
            <div>
              <dt>邮件收发服务</dt>
              <dd>承载客服邮箱的接收与回复，处理来信地址与正文。</dd>
            </div>
            <div>
              <dt>访问统计服务</dt>
              <dd>汇总页面浏览与入口点击，输出不关联到具体个人的统计结果。</dd>
            </div>
            <div>
              <dt>赛事内容合作方</dt>
              <dd>比分与集锦来自 14 家赛事数据服务商与 6 家省级体育媒体的内容合作，这部分内容与你提交的个人信息各自独立。</dd>
            </div>
            <div>
              <dt>法定情形</dt>
              <dd>依据法律法规要求或司法机关的程序性要求，在必要范围内提供。</dd>
            </div>
          </dl>
          <aside class="policy-callout">
            <p>不向任何第三方出售个人信息，也不把邮箱地址交换成其他名单。</p>
          </aside>
        </div>
      </article>

      <article class="policy-section" id="rights" data-reveal>
        <header class="policy-section__head">
          <span class="policy-section__num">05</span>
          <h2>你可以主张什么</h2>
        </header>
        <div class="policy-section__body">
          <p>下面四项随时可以提出，写一封信就能启动，不需要额外条件。</p>
          <dl class="policy-defs">
            <div>
              <dt>查询</dt>
              <dd>想知道我们这里存了哪些与你有关的内容，来信说明即可，客服会回复对应记录。</dd>
            </div>
            <div>
              <dt>更正</dt>
              <dd>邮箱写错、机型填错，指出具体位置后由客服修改。</dd>
            </div>
            <div>
              <dt>删除</dt>
              <dd>问题已解决且不再需要跟进时，可以要求删掉来信与相关工单记录。</dd>
            </div>
            <div>
              <dt>撤回同意</dt>
              <dd>此前同意过的事项可以随时收回，收回之后不再继续处理相关内容。</dd>
            </div>
          </dl>

          <details class="policy-more">
            <summary>写信时附上这三项，处理会更快</summary>
            <div class="policy-more__body">
              <p>收件邮箱 <span class="m">info@arena-e-haohan.com.cn</span>。正文里写清来信使用的邮箱地址、安卓客户端的版本号（例如 <span class="m">v5.2.7</span>）、回看异常时页面给出的 <span class="m">HV</span> 开头四位编号。工作日 9:00–18:00 有客服值守，一般当日回复。</p>
              <p>版本号在哪里看、手上的机型是否在适配范围内，可以先到<a href="/offerings/">服务清单</a>对照一遍，省掉一轮来回。</p>
            </div>
          </details>

          <p class="policy-section__foot">需要人工说明，或想谈内容合作与媒体使用，走<a href="/contact-us/">联络与服务</a>页列出的渠道即可。</p>
        </div>
      </article>

      <article class="policy-section" id="updates" data-reveal>
        <header class="policy-section__head">
          <span class="policy-section__num">06</span>
          <h2>条款更新</h2>
        </header>
        <div class="policy-section__body">
          <p>条款有调整时，本页会更新顶部的版本标识与生效说明，正文同步改成最新表述。涉及收集范围扩大的调整，会在客户端更新说明里单独提示一次，方便你在升级前看到。</p>
          <p>关于比分更新时效、集锦来源与转载约定，另见<a href="/notice/">使用说明</a>页。</p>
          <div class="policy-meta">
            <p><span>服务地区</span>甘肃</p>
            <p><span>备案号</span>甘ICP备93596233号</p>
            <p><span>客服邮箱</span>info@arena-e-haohan.com.cn</p>
          </div>
        </div>
      </article>
    </div>
  </div>
</main>

.page-privacy {
  --pp-rule: rgba(124, 140, 153, .42);
  --pp-soft: #3C4A55;
  background: var(--sand-light);
  color: var(--ink);
}

.page-privacy .policy-hero {
  position: relative;
  background: var(--ink);
  color: var(--paper);
  padding: 22px 0 0;
  overflow: hidden;
}

.page-privacy .policy-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 auto;
  width: 42%;
  height: 3px;
  background: var(--mint);
}

.page-privacy .policy-hero .breadcrumb {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .06em;
  margin-bottom: 26px;
}

.page-privacy .policy-hero .breadcrumb a {
  color: var(--sand);
  text-decoration: none;
}

.page-privacy .policy-hero .breadcrumb a:hover,
.page-privacy .policy-hero .breadcrumb a:focus-visible {
  text-decoration: underline;
}

.page-privacy .policy-hero .breadcrumb__list {
  color: var(--grey);
}

.page-privacy .policy-hero .eyebrow {
  color: var(--sand);
  letter-spacing: .18em;
}

.page-privacy .policy-hero h1 {
  margin: 12px 0 0;
  font-size: clamp(30px, 6.4vw, 62px);
  font-weight: 900;
  line-height: 1.14;
  letter-spacing: -.02em;
  max-width: 20ch;
}

.page-privacy .policy-hero__lede {
  margin: 20px 0 0;
  max-width: 60ch;
  font-size: 16px;
  line-height: 1.85;
  color: var(--sand-light);
}

.page-privacy .policy-hero__facts {
  list-style: none;
  margin: 26px 0 30px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.page-privacy .policy-hero__facts li {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .03em;
  padding: 6px 11px;
  color: var(--sand);
  border: 1px solid rgba(227, 192, 138, .48);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%);
}

.page-privacy .policy-hero__figure {
  margin: 0;
  border-top: 2px solid var(--red);
}

.page-privacy .policy-hero__figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1600 / 600;
  min-height: 130px;
  object-fit: cover;
  filter: saturate(.85) contrast(1.06);
}

.page-privacy .policy-body {
  display: grid;
  gap: 30px;
  padding: 38px 0 72px;
}

.page-privacy .policy-toc {
  border: 2px solid var(--ink);
  background: var(--sand);
  padding: 16px 14px;
}

.page-privacy .policy-toc__title {
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(12, 18, 24, .28);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .16em;
  color: var(--red-deep);
}

.page-privacy .policy-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
}

.page-privacy .policy-toc__list a {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 9px 8px 9px 11px;
  border-left: 3px solid transparent;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  transition: border-color .18s ease, background-color .18s ease;
}

.page-privacy .policy-toc__list a:hover,
.page-privacy .policy-toc__list a:focus-visible {
  border-left-color: var(--red);
  background: rgba(251, 246, 238, .62);
}

.page-privacy .policy-toc__num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  color: var(--red-deep);
}

.page-privacy .policy-section {
  scroll-margin-top: 96px;
  border-top: 1px solid var(--pp-rule);
  padding-top: 24px;
}

.page-privacy .policy-section + .policy-section {
  margin-top: 46px;
}

.page-privacy .policy-section__head {
  display: flex;
  align-items: baseline;
  gap: 13px;
  margin-bottom: 16px;
}

.page-privacy .policy-section__num {
  flex: none;
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--paper);
  background: var(--red);
  padding: 4px 9px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%);
}

.page-privacy .policy-section h2 {
  margin: 0;
  font-size: clamp(21px, 3.6vw, 30px);
  font-weight: 900;
  letter-spacing: -.01em;
  line-height: 1.28;
}

.page-privacy .policy-section__body {
  font-size: 16px;
  line-height: 1.9;
  color: var(--ink);
  max-width: 68ch;
}

.page-privacy .policy-section__body > p {
  margin: 0 0 16px;
}

.page-privacy .policy-section__body a {
  color: var(--prose-link);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-privacy .policy-section__body a:hover,
.page-privacy .policy-section__body a:focus-visible {
  color: var(--red);
}

.page-privacy .policy-section__foot {
  margin: 22px 0 0;
  font-size: 15px;
  color: var(--pp-soft);
}

.page-privacy .policy-defs {
  margin: 0;
  display: grid;
}

.page-privacy .policy-defs > div {
  display: grid;
  gap: 4px;
  padding: 13px 0;
  border-bottom: 1px dashed var(--pp-rule);
}

.page-privacy .policy-defs > div:last-child {
  border-bottom: 0;
  padding-bottom: 4px;
}

.page-privacy .policy-defs dt {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .01em;
}

.page-privacy .policy-defs dt::before {
  content: "—";
  margin-right: 8px;
  color: var(--red);
  font-weight: 400;
}

.page-privacy .policy-defs dd {
  margin: 0;
  font-size: 15px;
  line-height: 1.85;
  color: var(--pp-soft);
}

.page-privacy .m {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: .93em;
  padding: 1px 6px;
  color: var(--red-deep);
  background: rgba(166, 58, 40, .09);
  border: 1px solid rgba(166, 58, 40, .26);
  white-space: nowrap;
}

.page-privacy .policy-callout {
  margin-top: 24px;
  padding: 15px 17px;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-left: 6px solid var(--red);
  box-shadow: 4px 4px 0 rgba(122, 36, 24, .55);
}

.page-privacy .policy-callout p {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  font-weight: 700;
}

.page-privacy .policy-more {
  margin-top: 24px;
  background: var(--paper);
  border: 1px solid var(--pp-rule);
}

.page-privacy .policy-more summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}

.page-privacy .policy-more summary::-webkit-details-marker {
  display: none;
}

.page-privacy .policy-more summary::after {
  content: "＋";
  flex: none;
  font-family: var(--font-mono);
  font-size: 16px;
  color: var(--red);
}

.page-privacy .policy-more[open] summary::after {
  content: "－";
}

.page-privacy .policy-more summary:hover,
.page-privacy .policy-more summary:focus-visible {
  background: rgba(227, 192, 138, .38);
}

.page-privacy .policy-more__body {
  padding: 14px 16px 16px;
  border-top: 1px dashed var(--pp-rule);
  font-size: 15px;
  line-height: 1.85;
  color: var(--pp-soft);
}

.page-privacy .policy-more__body p {
  margin: 0 0 10px;
}

.page-privacy .policy-more__body p:last-child {
  margin-bottom: 0;
}

.page-privacy .policy-more__body a {
  color: var(--prose-link);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-privacy .policy-meta {
  margin-top: 32px;
  padding-top: 16px;
  border-top: 2px solid var(--ink);
  display: grid;
  gap: 9px;
  font-size: 14px;
}

.page-privacy .policy-meta p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
}

.page-privacy .policy-meta span {
  flex: 0 0 76px;
  color: var(--grey);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .08em;
  padding-top: 2px;
}

@media (min-width: 720px) {
  .page-privacy .policy-defs > div {
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 26px;
    align-items: baseline;
  }

  .page-privacy .policy-hero__lede {
    font-size: 17px;
  }
}

@media (min-width: 920px) {
  .page-privacy .policy-hero {
    padding-top: 28px;
  }

  .page-privacy .policy-body {
    grid-template-columns: 244px minmax(0, 1fr);
    gap: 68px;
    align-items: start;
    padding: 60px 0 104px;
  }

  .page-privacy .policy-toc {
    position: sticky;
    top: 96px;
    padding: 20px 16px;
    box-shadow: 6px 6px 0 var(--red-deep);
  }

  .page-privacy .policy-section {
    padding-top: 30px;
  }

  .page-privacy .policy-section + .policy-section {
    margin-top: 62px;
  }

  .page-privacy .policy-hero__figure img {
    max-height: 300px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-privacy .policy-toc__list a,
  .page-privacy .policy-more summary {
    transition: none;
  }
}
