.privacy-page {
  --privacy-ink: #080f0d;
  --privacy-green: #075638;
  --privacy-blue: #1763ff;
  --privacy-muted: #465954;
  --privacy-line: #d8ded9;
  --privacy-soft: #f3faf7;
  padding: 0;
  background: #fff;
  color: var(--privacy-ink);
}

.privacy-page img { display: block; flex: none; }
.privacy-page a { text-underline-offset: 3px; }

.privacy-hero { padding: 54px 0 42px; background: #fff; }
.privacy-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 700px; gap: 54px; align-items: end; }
.privacy-hero__copy h1 { margin: 0; font-size: var(--own-site-hero-title-font-size); line-height: var(--own-site-hero-title-line-height); letter-spacing: var(--own-site-hero-title-letter-spacing);font-weight:var(--own-site-hero-title-font-weight); }
.privacy-hero__copy > p:last-child { max-width: 540px; margin: 20px 0 0; color: var(--privacy-muted); font-size: 17px; line-height: 1.52; }

.privacy-meta { display: grid; grid-template-columns: minmax(0, 1fr) 245px; min-height: 116px; border: 1px solid var(--privacy-line); border-radius: 8px; background: #fff; }
.privacy-meta dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.privacy-meta dl > div { min-width: 0; padding: 25px 22px; border-right: 1px solid var(--privacy-line); }
.privacy-meta dt { color: #27362f; font-size: 14px; line-height: 1.3; }
.privacy-meta dd { margin: 14px 0 0; color: #26372f; font-size: 17px; line-height: 1; }
.privacy-meta__actions { display: grid; align-content: center; gap: 15px; padding: 20px 22px; }
.privacy-meta__actions a { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 11px; color: var(--privacy-blue); font-size: 14px; line-height: 1.3; text-decoration: none; }
.privacy-meta__actions a:hover,
.privacy-meta__actions a:focus-visible { text-decoration: underline; }
.privacy-meta__actions a[aria-disabled="true"] { cursor: not-allowed; }

.privacy-overview { padding: 0 0 42px; }
.privacy-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.privacy-summary-card { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 20px; min-height: 142px; padding: 26px 24px; border: 1px solid var(--privacy-line); border-radius: 8px; background: #fff; }
.privacy-summary-card h2 { margin: 0 0 8px; font-size: var(--own-site-card-title-font-size); line-height: var(--own-site-card-title-line-height); font-weight: var(--own-site-card-title-font-weight); letter-spacing: var(--own-site-card-title-letter-spacing); }
.privacy-summary-card p { margin: 0; color: var(--privacy-muted); font-size: 14px; line-height: 1.48; }

.privacy-document { padding: 42px 0 38px; border-top: 1px solid var(--privacy-line); }
.privacy-reading-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 64px; align-items: start; }
.privacy-contents { position: sticky; top: 104px; border: 1px solid var(--privacy-line); background: #fff; }
.privacy-contents h2 { margin: 0; padding: 20px; border-bottom: 1px solid var(--privacy-line); font-size: var(--own-site-compact-title-font-size); line-height: var(--own-site-compact-title-line-height); font-weight: var(--own-site-compact-title-font-weight); letter-spacing: var(--own-site-compact-title-letter-spacing); }
.privacy-contents ol { display: grid; gap: 2px; margin: 0; padding: 15px 18px 18px 40px; }
.privacy-contents li { padding-left: 3px; color: var(--privacy-blue); font-size: 13px; line-height: 1.3; }
.privacy-contents a { display: block; padding: 5px 0; color: #26372f; text-decoration: none; }
.privacy-contents a:hover,
.privacy-contents a:focus-visible { color: var(--privacy-green); text-decoration: underline; }
.privacy-contents a.is-active,
.privacy-contents a[aria-current="location"] { color: var(--privacy-green); font-weight: 700; text-decoration: none; }
.privacy-version-note { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 11px; margin: 0; padding: 21px 18px; border-top: 1px solid var(--privacy-line); color: var(--privacy-muted); font-size: 12px; line-height: 1.5; }
.privacy-reading-column { min-width: 0; }

.privacy-role-card { margin: 0 0 18px; border: 1px solid #9da49f; border-radius: 8px; background: #fff; }
.privacy-role-card > h2 { margin: 0; padding: 20px 22px; border-bottom: 1px solid var(--privacy-line); font-size: var(--own-site-card-title-font-size); line-height: var(--own-site-card-title-line-height); font-weight: var(--own-site-card-title-font-weight); letter-spacing: var(--own-site-card-title-letter-spacing); }
.privacy-role-grid { display: grid; grid-template-columns: minmax(210px, 1fr) 360px minmax(190px, .9fr); align-items: center; gap: 25px; min-height: 214px; padding: 28px 22px; }
.privacy-role-title { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 14px; margin-bottom: 10px; }
.privacy-role-grid h3 { margin: 0 0 10px; font-size: var(--own-site-compact-title-font-size); line-height: var(--own-site-compact-title-line-height); font-weight: var(--own-site-compact-title-font-weight); letter-spacing: var(--own-site-compact-title-letter-spacing); }
.privacy-role-title h3 { margin: 0; }
.privacy-role-grid p { margin: 0 0 10px; color: var(--privacy-muted); font-size: 14px; line-height: 1.5; }
.privacy-role-grid p:last-child { margin-bottom: 0; }
.privacy-role-visual,
.privacy-role-visual img { width: 360px; height: 96px; }

.privacy-policy-section { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 24px; padding: 26px 0; border-top: 1px solid var(--privacy-line); scroll-margin-top: 104px; }
.privacy-policy-section + .privacy-policy-section { margin-top: 0; }
.privacy-policy-section h2 { margin: 0 0 10px; font-size: var(--own-site-section-title-font-size); line-height: var(--own-site-section-title-line-height); font-weight: var(--own-site-section-title-font-weight); letter-spacing: var(--own-site-section-title-letter-spacing); }
.privacy-policy-section p,
.privacy-policy-section li,
.privacy-details dt,
.privacy-details dd,
.privacy-policy-section th,
.privacy-policy-section td { color: #34443c; font-size: 16px; line-height: 1.58; }
.privacy-policy-section p { margin: 0 0 12px; white-space: pre-wrap; }
.privacy-policy-section p:last-child { margin-bottom: 0; }
.privacy-policy-section ul { margin: 0 0 14px; padding-left: 22px; }
.privacy-policy-section li + li { margin-top: 6px; }
.privacy-policy-section a,
.privacy-details a { color: var(--privacy-blue); }

.privacy-details { display: grid; margin: 0 0 14px; overflow: hidden; border: 1px solid var(--privacy-line); border-radius: 6px; }
.privacy-details > div { display: grid; grid-template-columns: minmax(170px, .34fr) minmax(0, 1fr); }
.privacy-details > div + div { border-top: 1px solid var(--privacy-line); }
.privacy-details dt,
.privacy-details dd { margin: 0; padding: 12px 14px; }
.privacy-details dt { color: #18261f; font-weight: 700; }
.privacy-details dd { border-left: 1px solid var(--privacy-line); }

.privacy-table-wrap { margin: 18px 0; overflow: hidden; border: 1px solid var(--privacy-line); border-radius: 7px; }
.privacy-table-wrap table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.privacy-table-wrap th,
.privacy-table-wrap td { padding: 13px 14px; border-right: 1px solid var(--privacy-line); border-bottom: 1px solid var(--privacy-line); text-align: left; vertical-align: top; }
.privacy-table-wrap th { color: #14241c; font-weight: 700; background: var(--privacy-soft); }
.privacy-table-wrap th:last-child,
.privacy-table-wrap td:last-child { border-right: 0; }
.privacy-table-wrap tbody tr:last-child td { border-bottom: 0; }

.privacy-support { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 24px; margin-top: 22px; padding: 24px 28px; border: 1px solid var(--privacy-line); border-radius: 8px; background: #fff; }
.privacy-support h2 { margin: 0 0 6px; font-size: var(--own-site-card-title-font-size); line-height: var(--own-site-card-title-line-height); font-weight: var(--own-site-card-title-font-weight); letter-spacing: var(--own-site-card-title-letter-spacing); }
.privacy-support p { margin: 0; color: var(--privacy-muted); font-size: 14px; line-height: 1.5; }

.privacy-page .policy-shared-navigation { border-top: 1px solid var(--privacy-line); background: #fff; }
.privacy-page .policy-related { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(4, minmax(0, 1fr)); align-items: center; gap: 0; padding-top: 28px; padding-bottom: 28px; }
.privacy-page .policy-related strong { font-size: 18px; line-height: 1.25; }
.privacy-page .policy-related a { padding: 2px 20px; border-left: 1px solid var(--privacy-line); color: var(--privacy-blue); font-size: 14px; line-height: 1.35; text-decoration: none; }
.privacy-page .policy-related a:hover,
.privacy-page .policy-related a:focus-visible { text-decoration: underline; }
