.policy-heading {
  padding:48px max(24px, calc((100% - 1280px) / 2)) 64px;
  background:var(--paper);
}
.back-link {
  display:inline-block;
  color:var(--navy);
  margin-bottom:48px;
  font-size:14px;
}
.back-link:hover { text-decoration:underline; }
.policy-heading h1 { max-width:850px; color:var(--navy); }
.policy-heading .eyebrow { color:var(--cyan); }
.policy-meta {
  display:flex;
  flex-wrap:wrap;
  gap:12px 32px;
  margin-top:28px;
  color:#506373;
  font-size:14px;
}
.policy-layout {
  display:grid;
  grid-template-columns:280px minmax(0, 1fr);
  gap:72px;
  max-width:1328px;
  padding:64px 24px 96px;
  margin:auto;
  align-items:start;
}
.policy-sidebar {
  position:sticky;
  top:24px;
  max-height:calc(100dvh - 48px);
  overflow-y:auto;
  border:1px solid #deeaed;
  border-radius:20px;
  padding:24px;
  background:#f7fafb;
}
.policy-sidebar h2 { font-size:20px; margin-bottom:20px; }
.policy-sidebar a {
  display:block;
  padding:7px 0;
  font-size:14px;
  line-height:1.45;
  color:var(--navy);
}
.policy-sidebar a:hover { color:var(--cyan); text-decoration:underline; }
.policy-content { min-width:0; overflow-wrap:anywhere; }
.policy-section+ .policy-section {
  margin-top:48px;
  padding-top:40px;
  border-top:1px solid #deeaed;
}
.policy-section h2 {
  font-size:28px;
  line-height:1.3;
  color:var(--navy);
  margin-bottom:24px;
}
.policy-section h3 {
  font-size:20px;
  line-height:1.4;
  margin:32px 0 16px;
  color:var(--navy);
}
.policy-section p,.policy-section li {
  font-size:16px;
  line-height:1.75;
}
.policy-section p+p { margin-top:16px; }
.policy-section ul { padding-left:24px; margin:16px 0 24px; }
.policy-section li { margin-bottom:6px; padding-left:4px; }
.policy-section li::marker { color:var(--cyan); }
@media(max-width:1000px) {
  .policy-layout { grid-template-columns:230px minmax(0,1fr); gap:32px; }
}
@media(max-width:800px) {
  .policy-heading { padding:32px 24px 40px; }
  .policy-heading h1 { font-size:34px; }
  .back-link { margin-bottom:32px; }
  .policy-layout { grid-template-columns:1fr; gap:40px; padding-top:32px; padding-bottom:56px; }
  .policy-sidebar { position:static; max-height:none; }
  .policy-section h2 { font-size:25px; }
  .policy-section h3 { font-size:19px; }
}
@media print {
  .privacy-page .site-header,.privacy-page .site-footer,.policy-sidebar,.back-link,.skip-link { display:none; }
  .policy-heading { background:white; padding:0 0 24px; }
  .policy-heading h1 { font-size:28px; }
  .policy-layout { display:block; padding:0; }
  .policy-section h2,.policy-section h3 { break-after:avoid; }
  .policy-section p,.policy-section li { font-size:11pt; }
}

.deletion-form { display:grid; gap:18px; margin:28px 0; padding:28px; border-radius:20px; background:var(--blue); }
.deletion-form input[type=email] { width:100%; min-width:0; padding:14px; border:1px solid #8b9eac; border-radius:10px; background:white; font:inherit; }
.deletion-confirm { display:flex; align-items:flex-start; gap:12px; font-size:15px; line-height:1.5; }
.deletion-confirm input { flex:none; margin-top:5px; width:18px; height:18px; accent-color:var(--cyan); }
.deletion-form button { justify-self:start; white-space:normal; }
.deletion-form button:disabled { cursor:wait; opacity:.65; }
#deletion-status:empty { display:none; }
#deletion-status[data-state=error] { color:#8a2525; }
#deletion-status[data-state=success] { color:#14583b; }
.deletion-form input:focus-visible { outline:3px solid var(--cyan); outline-offset:3px; }

.deletion-main { max-width:688px; margin:auto; padding:40px 24px 64px; }
.deletion-main .back-link { margin-bottom:28px; }
.deletion-main h1 { font-size:36px; color:var(--navy); }
.deletion-intro { margin-top:16px; line-height:1.5; }
.deletion-note { font-size:14px; line-height:1.6; color:#506373; }
.deletion-note a { text-decoration:underline; color:var(--navy); }
@media(max-width:480px) {
  .deletion-main h1 { font-size:30px; }
  .deletion-main .deletion-form { padding:20px; }
}
