.privacy-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 82% 12%, rgba(51, 217, 240, .1), transparent 22%),
    radial-gradient(circle at 15% 28%, rgba(118, 87, 255, .13), transparent 28%),
    #03040a;
}

.privacy-header {
  position: relative;
  height: 88px;
  border-bottom: 1px solid rgba(174, 184, 208, .12);
  background: rgba(3, 4, 10, .8);
  backdrop-filter: blur(16px);
}

.back-link {
  color: #b8c3da;
  font-size: 13px;
  transition: color .2s ease;
}

.back-link:hover,
.back-link:focus-visible { color: var(--cyan); }
.privacy-language { margin-left: auto; margin-right: 24px; }

.privacy-main {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  padding: 105px clamp(22px, 6vw, 78px) 130px;
}

.privacy-main::before {
  content: "";
  position: absolute;
  top: 36px;
  right: 4%;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(51, 217, 240, .1);
  border-radius: 50%;
  box-shadow: inset 0 0 70px rgba(118, 87, 255, .08);
  pointer-events: none;
}

.privacy-hero { position: relative; z-index: 1; margin-bottom: 72px; }
.privacy-hero h1 {
  max-width: 850px;
  margin: 18px 0 25px;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: clamp(48px, 7vw, 86px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .96;
}
.privacy-hero .intro {
  max-width: 710px;
  color: var(--mist);
  font-size: 18px;
  line-height: 1.7;
}
.update-date {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 15px;
  color: #8695b2;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.update-date::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 12px rgba(51, 217, 240, .8);
}

.privacy-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: clamp(45px, 7vw, 90px);
}
.privacy-index {
  position: sticky;
  top: 30px;
  align-self: start;
  padding: 22px 0;
  border-block: 1px solid var(--line);
}
.privacy-index small {
  display: block;
  margin-bottom: 16px;
  color: var(--cyan);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.privacy-index a {
  display: block;
  padding: 7px 0;
  color: #8794ad;
  font-size: 12px;
  line-height: 1.35;
}
.privacy-index a:hover,
.privacy-index a:focus-visible { color: var(--ink); }

.privacy-content section {
  scroll-margin-top: 35px;
  padding: 0 0 42px;
  margin-bottom: 42px;
  border-bottom: 1px solid var(--line);
}
.privacy-content h2 {
  margin-bottom: 18px;
  color: #f0ecE4;
  font-family: Georgia, serif;
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 400;
}
.privacy-content p,
.privacy-content li {
  color: #aeb8d0;
  font-size: 15px;
  line-height: 1.8;
}
.privacy-content ul,
.privacy-content ol { padding-left: 21px; }
.privacy-content li { margin-bottom: 9px; }
.privacy-content strong { color: #e8e9ef; }
.privacy-content a { color: var(--cyan); }
.privacy-content .notice-box {
  padding: 25px;
  border: 1px solid rgba(51, 217, 240, .22);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(118, 87, 255, .09), rgba(51, 217, 240, .04));
}
.privacy-footer { grid-template-columns: 1fr auto; }

@media (max-width: 760px) {
  .privacy-header { height: 78px; }
  .privacy-main { padding-top: 75px; }
  .privacy-layout { grid-template-columns: 1fr; gap: 35px; }
  .privacy-index { position: static; }
  .privacy-index nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
  .privacy-footer { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .privacy-header .wordmark span { font-size: 16px; }
  .back-link { font-size: 11px; }
  .privacy-language { margin-right: 10px; }
  .privacy-index nav { grid-template-columns: 1fr; }
}
