.privacy-page { background: #fff; color: #1a2029; }
.privacy-page main { overflow: clip; }
.privacy-page h1,
.privacy-page h2,
.privacy-page h3 { font-family: var(--display); }

.privacy-hero {
  padding: 108px var(--home-content-gutter) 98px;
  border-bottom: 1px solid #d5e0eb;
  background:
    radial-gradient(circle at 82% -18%, rgba(207, 224, 244, .62) 0 27%, transparent 27.15%),
    linear-gradient(120deg, #fff 0%, #f4f8fc 100%);
}
.privacy-hero h1 { margin: 0; font-size: clamp(58px, 6.1vw, 92px); font-weight: 600; line-height: .98; letter-spacing: -.065em; }
.privacy-updated { margin: 27px 0 0; color: #7186a5; font: 10px var(--mono); letter-spacing: .08em; }
.privacy-intro { max-width: 900px; margin: 32px 0 0; color: #5f6a77; font-size: 15px; line-height: 1.85; }

.privacy-layout { display: grid; grid-template-columns: 280px minmax(0, 860px); justify-content: space-between; gap: clamp(70px, 10vw, 170px); padding: 96px var(--home-content-gutter) 126px; }
.privacy-index { align-self: start; position: sticky; top: 110px; }
.privacy-index > p { margin: 0 0 20px; color: #7186a5; font: 9px var(--mono); letter-spacing: .12em; }
.privacy-index nav { border-top: 1px solid #cad6e3; }
.privacy-index a { display: block; padding: 12px 0; color: #65717e; border-bottom: 1px solid #e1e7ee; font-size: 10px; line-height: 1.45; text-decoration: none; transition: color .2s ease, padding .2s ease; }
.privacy-index a:hover { padding-left: 5px; color: #4f75b0; }

.privacy-document { min-width: 0; }
.privacy-document section { scroll-margin-top: 108px; padding: 0 0 62px; }
.privacy-document section + section { padding-top: 62px; border-top: 1px solid #d7e0e9; }
.privacy-document section > span { display: block; margin-bottom: 14px; color: #6f89b1; font: 9px var(--mono); letter-spacing: .1em; }
.privacy-document h2 { margin: 0 0 29px; font-size: clamp(29px, 3vw, 42px); font-weight: 600; line-height: 1.08; letter-spacing: -.045em; }
.privacy-document h3 { margin: 32px 0 14px; font-size: 16px; font-weight: 600; letter-spacing: -.02em; }
.privacy-document p,
.privacy-document li { color: #596573; font-size: 13px; line-height: 1.85; }
.privacy-document p { margin: 0 0 18px; }
.privacy-document ul { display: grid; gap: 12px; margin: 0; padding-left: 19px; }
.privacy-document strong { color: #26313d; font-weight: 600; }
.privacy-document a { color: #4f75b0; text-underline-offset: 3px; }
.privacy-document address { padding: 24px 26px; color: #596573; border: 1px solid #cedae6; border-radius: 12px; background: #f5f8fc; font-size: 13px; font-style: normal; line-height: 1.85; }

@media (max-width: 900px) {
  .privacy-hero { padding-top: 82px; padding-bottom: 76px; }
  .privacy-layout { grid-template-columns: 1fr; gap: 58px; padding-top: 72px; }
  .privacy-index { position: static; }
  .privacy-index nav { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
}

@media (max-width: 540px) {
  .privacy-hero { padding: 66px 20px 62px; }
  .privacy-hero h1 { font-size: 50px; }
  .privacy-intro { margin-top: 25px; font-size: 13px; line-height: 1.78; }
  .privacy-layout { gap: 48px; padding: 58px 20px 82px; }
  .privacy-index nav { grid-template-columns: 1fr; }
  .privacy-document section { padding-bottom: 46px; }
  .privacy-document section + section { padding-top: 46px; }
  .privacy-document h2 { margin-bottom: 23px; font-size: 30px; }
  .privacy-document p,
  .privacy-document li { font-size: 12px; line-height: 1.82; }
}
