/* The policy is a reading surface; wide tables scroll inside their own region. */
main.privacy-policy {
  width:min(1040px,calc(100% - 64px));
  padding-top:184px;
  padding-bottom:96px;
}
.privacy-policy-header,.privacy-contents,.privacy-policy-content {
  width:100%;max-width:920px;min-width:0;margin-inline:auto;
}
.privacy-policy .privacy-policy-header h1 {
  max-width:850px;margin:0 0 22px;
  font:400 56px/1.08 var(--serif);letter-spacing:-.035em;
}
.privacy-updated {
  margin:0 0 34px;color:var(--muted);
  font:400 12px/20px var(--mono);letter-spacing:.02em;text-transform:uppercase;
}
.privacy-introduction { max-width:760px; }
.privacy-introduction p { margin:0 0 18px;color:var(--body);font:400 17px/28px var(--sans); }
.privacy-introduction p:last-child { margin-bottom:0; }
.privacy-contents { margin-top:36px;margin-bottom:56px;border-block:1px solid var(--line); }
.privacy-contents summary {
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:58px;padding:16px 0;list-style:none;cursor:pointer;
  color:var(--accent);font:400 12px/18px var(--mono);letter-spacing:.025em;
}
.privacy-contents summary::-webkit-details-marker { display:none; }
.privacy-contents-mark { position:relative;display:block;width:16px;height:16px;flex:none; }
.privacy-contents-mark::before,.privacy-contents-mark::after {
  content:'';position:absolute;top:7.5px;left:2px;width:12px;height:1px;background:currentColor;
}
.privacy-contents-mark::after { transform:rotate(90deg); }
.privacy-contents[open] .privacy-contents-mark::after { transform:none; }
.privacy-contents ol { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 32px;margin:0;padding:0 0 22px;list-style:none; }
.privacy-contents a {
  display:grid;grid-template-columns:32px minmax(0,1fr);align-items:baseline;gap:10px;
  padding:9px 0;color:var(--body);font:400 12px/19px var(--mono);text-transform:uppercase;
}
.privacy-contents a > span:first-child { color:var(--muted);font:400 16px/27px var(--mono); }
.privacy-contents a:hover { color:var(--accent); }
.privacy-section { min-width:0;padding:0 0 45px;margin:0 0 42px;border-bottom:1px solid var(--line); }
.privacy-section:last-child { padding-bottom:0;margin-bottom:0;border-bottom:0; }
.privacy-policy .privacy-section h2 {
  display:flex;align-items:baseline;gap:12px;max-width:760px;
  margin:0 0 24px;font:400 32px/1.18 var(--serif);letter-spacing:-.02em;
}
.privacy-section-number { flex:none;color:var(--muted);font:400 16px/27px var(--mono);letter-spacing:0; }
.privacy-section h3 { max-width:760px;margin:28px 0 15px;font:400 24px/1.25 var(--serif);letter-spacing:-.015em; }
.privacy-section > p,.privacy-section > ul { max-width:760px;color:var(--body);font:400 16px/27px var(--sans); }
.privacy-section > p { margin:0 0 18px; }
.privacy-section > ul { margin:0 0 22px;padding-left:21px; }
.privacy-section li { padding-left:4px;margin-bottom:8px; }
.privacy-section li:last-child { margin-bottom:0; }
.privacy-section > :last-child { margin-bottom:0; }
.privacy-policy strong { color:var(--ink);font-weight:600; }
.privacy-policy-content a,.privacy-introduction a {
  color:var(--accent);text-decoration:underline;text-decoration-color:rgb(var(--brand-burgundy-rgb) / 0.2510);text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.privacy-policy-content a:hover,.privacy-introduction a:hover { text-decoration-color:currentColor; }
.privacy-policy :focus-visible { outline:2px solid var(--accent);outline-offset:4px; }
.privacy-table-scroll {
  width:100%;max-width:100%;min-width:0;margin:26px 0;
  overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  border:1px solid var(--line);border-radius:6px;
  scrollbar-width:thin;scrollbar-color:#a79a91 transparent;
}
.privacy-table-scroll table { width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;text-align:left; }
.privacy-table-scroll th,.privacy-table-scroll td {
  padding:17px 18px;vertical-align:top;border-bottom:1px solid var(--line);
  overflow-wrap:break-word;color:var(--body);font:400 14px/22px var(--sans);
}
.privacy-table-scroll tbody tr:last-child > th,.privacy-table-scroll tbody tr:last-child > td { border-bottom:0; }
.privacy-table-scroll thead th {
  background:rgb(var(--brand-burgundy-rgb) / 0.0235);border-bottom:1px solid var(--line);color:var(--accent);
  font:400 12px/18px var(--mono);letter-spacing:.015em;text-transform:uppercase;
}
.privacy-table-scroll tbody th { color:var(--ink);font-weight:500; }
.privacy-table-scroll tbody tr:nth-child(even) { background:#ffffff3d; }
.privacy-table-uses th:nth-child(1) { width:23%; }
.privacy-table-uses th:nth-child(2) { width:22%; }
.privacy-table-uses th:nth-child(3) { width:31%; }
.privacy-table-uses th:nth-child(4) { width:24%; }
.privacy-table-providers table { min-width:680px; }
.privacy-table-providers th:nth-child(1) { width:29%; }
.privacy-table-providers th:nth-child(2) { width:41%; }
.privacy-table-providers th:nth-child(3) { width:30%; }
@media(max-width:879px) {
  body main.privacy-policy { padding-top:188px; }
  .privacy-policy .privacy-policy-header h1 { font-size:46px; }
}
@media(max-width:600px) {
  main.privacy-policy { width:calc(100% - 36px);padding-bottom:64px; }
  .privacy-policy .privacy-policy-header h1 { font-size:40px;line-height:1.1;letter-spacing:-.03em; }
  .privacy-updated { margin-bottom:27px; }
  .privacy-introduction p { font-size:16px;line-height:26px; }
  .privacy-contents { margin-top:29px;margin-bottom:39px; }
  .privacy-contents ol { grid-template-columns:1fr;gap:1px; }
  .privacy-section { padding-bottom:33px;margin-bottom:32px; }
  .privacy-policy .privacy-section h2 { gap:9px;font-size:28px;line-height:1.2;margin-bottom:20px; }
  .privacy-section h3 { font-size:23px; }
  .privacy-section > p,.privacy-section > ul { font-size:16px;line-height:26px; }
  .privacy-table-scroll { margin-block:23px; }
  .privacy-table-scroll th,.privacy-table-scroll td { padding:15px 16px; }
}

.privacy-policy .privacy-section h3 {
  display:flex;align-items:baseline;gap:12px;
}
