:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #2f2430;
  background: #fff8fb;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-width: 280px;
  line-height: 1.65;
}

a { color: #9c315f; }
a:focus-visible, select:focus-visible { outline: 3px solid #f2a7c2; outline-offset: 3px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px max(18px, env(safe-area-inset-left));
  border-bottom: 1px solid #ead9e1;
  background: rgba(255, 248, 251, 0.96);
}

.brand { font-size: 1.05rem; font-weight: 750; letter-spacing: 0.02em; }
.language { display: flex; align-items: center; gap: 8px; font-size: 0.78rem; color: #6e5b65; }
.language select { max-width: 150px; padding: 7px 9px; border: 1px solid #ceb9c3; border-radius: 9px; background: #fff; color: inherit; }

.policy-shell { width: min(760px, 100%); margin: 0 auto; padding: 34px 18px 48px; }
.policy-card { padding: clamp(22px, 5vw, 48px); border: 1px solid #ead9e1; border-radius: 22px; background: #fff; box-shadow: 0 16px 48px rgba(74, 38, 57, 0.08); }
.policy-card h1 { margin: 0; font-size: clamp(1.8rem, 5vw, 2.5rem); line-height: 1.2; }
.policy-card h2 { margin: 2rem 0 0.45rem; font-size: 1.12rem; line-height: 1.4; }
.policy-card p { margin: 0.45rem 0; }
.updated { margin-top: 0.65rem !important; color: #7b6872; font-size: 0.88rem; }
.intro { margin-top: 1.4rem !important; font-size: 1.02rem; }
.credits { padding-left: 1.25rem; }
.credits li + li { margin-top: 0.55rem; }

footer { padding: 0 18px 32px; text-align: center; color: #7b6872; font-size: 0.84rem; }

@media (max-width: 480px) {
  .site-header { align-items: flex-start; }
  .language { align-items: flex-start; flex-direction: column; gap: 2px; }
  .policy-shell { padding: 18px 10px 36px; }
  .policy-card { border-radius: 16px; }
}
