.s-privacy-policy-page{
  position:relative;
  overflow-x:clip;
  background:var(--c-bg);
  color:var(--c-text);
  font-family:var(--font-body);
  padding-block-start:calc(var(--header-h,72px) + clamp(28px,4vw,56px));
  padding-block-end:clamp(56px,7vw,96px);
}
.s-privacy-policy-page::before{
  content:"";
  position:absolute;
  inset-block-start:0;
  inset-inline:0;
  block-size:420px;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(55% 90% at 12% 0%, color-mix(in srgb, var(--c-primary) 16%, transparent), transparent 70%),
    radial-gradient(45% 80% at 88% 0%, color-mix(in srgb, var(--c-accent) 15%, transparent), transparent 72%);
}
.s-privacy-policy-page .container{position:relative; z-index:1}
.s-privacy-policy-page a:focus-visible{
  outline:2px solid var(--c-primary);
  outline-offset:3px;
  border-radius:4px;
}

/* Breadcrumb */
.s-privacy-policy-page .pp-crumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  font-size:.8125rem;
  letter-spacing:.02em;
  color:var(--c-muted);
  margin-block-end:clamp(20px,3vw,32px);
}
.s-privacy-policy-page .pp-crumbs a{
  color:var(--c-muted);
  text-decoration:none;
  padding-block:10px;
  padding-inline-end:4px;
  transition:color .2s ease;
}
.s-privacy-policy-page .pp-crumbs a:hover{color:var(--c-primary)}
.s-privacy-policy-page .pp-sep{opacity:.5}
.s-privacy-policy-page .pp-crumbs [aria-current]{
  color:var(--c-text);
  font-weight:600;
}

/* Page heading */
.s-privacy-policy-page .pp-head{
  max-width:820px;
  margin-block-end:clamp(28px,4vw,48px);
}
.s-privacy-policy-page .pp-head h1{
  font-family:var(--font-head);
  font-size:clamp(2rem,1.4rem + 2.6vw,3.25rem);
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--c-secondary);
  margin-block:12px 16px;
}
.s-privacy-policy-page .pp-lede{
  font-size:clamp(1rem,.96rem + .3vw,1.125rem);
  line-height:1.85;
  color:var(--c-muted);
  max-width:62ch;
  margin:0;
}

/* Layout */
.s-privacy-policy-page .pp-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:clamp(20px,3vw,40px);
  align-items:start;
}
.s-privacy-policy-page .pp-main{display:grid; gap:clamp(16px,2vw,24px); min-width:0}
.s-privacy-policy-page .pp-aside{
  display:grid;
  gap:16px;
  min-width:0;
  position:sticky;
  inset-block-start:calc(var(--header-h,72px) + 24px);
}
.s-privacy-policy-page .pp-card{
  background:var(--c-surface);
  border:1px solid var(--c-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
}

/* Document card */
.s-privacy-policy-page .pp-doc{padding:clamp(20px,3.2vw,40px)}
.s-privacy-policy-page .pp-doc-head{
  display:flex;
  align-items:flex-start;
  gap:16px;
}
.s-privacy-policy-page .pp-doc-head .icon-circle{flex:0 0 auto}
.s-privacy-policy-page .pp-doc-head h2{
  font-family:var(--font-head);
  font-size:clamp(1.125rem,1rem + .6vw,1.4rem);
  line-height:1.4;
  color:var(--c-secondary);
  margin:0 0 8px;
}
.s-privacy-policy-page .pp-doc-head p{
  margin:0;
  color:var(--c-muted);
  line-height:1.8;
}
.s-privacy-policy-page .pp-placeholder{
  margin:clamp(20px,2.6vw,28px) 0 0;
  padding:clamp(18px,2.4vw,26px);
  border-inline-start:4px solid var(--c-accent);
  border-radius:var(--radius);
  background:color-mix(in srgb, var(--c-accent) 12%, var(--c-surface));
  font-family:var(--font-head);
  font-size:clamp(1rem,.95rem + .4vw,1.1875rem);
  line-height:1.75;
  color:var(--c-secondary);
}
.s-privacy-policy-page .pp-note{
  margin-block:20px 0;
  padding-block-start:20px;
  border-block-start:1px solid var(--c-border);
  color:var(--c-muted);
  font-size:.9375rem;
  line-height:1.85;
}
.s-privacy-policy-page .pp-note a{
  color:var(--c-primary);
  text-decoration:none;
  border-block-end:1px solid color-mix(in srgb, var(--c-primary) 40%, transparent);
  word-break:break-word;
}
.s-privacy-policy-page .pp-note a:hover{
  color:var(--c-secondary);
  border-block-end-color:var(--c-secondary);
}
.s-privacy-policy-page .pp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-block-start:24px;
}
.s-privacy-policy-page .pp-actions .btn{min-height:48px}

/* Aside cards */
.s-privacy-policy-page .pp-meta,
.s-privacy-policy-page .pp-links{padding:clamp(18px,2.2vw,24px)}
.s-privacy-policy-page .pp-aside-title{
  font-family:var(--font-head);
  font-size:.8125rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--c-muted);
  margin:0 0 16px;
}
.s-privacy-policy-page .pp-facts{
  display:grid;
  gap:14px;
  margin:0;
}
.s-privacy-policy-page .pp-fact{
  display:grid;
  gap:4px;
  padding-block-end:14px;
  border-block-end:1px solid var(--c-border);
}
.s-privacy-policy-page .pp-fact:last-child{
  border-block-end:0;
  padding-block-end:0;
}
.s-privacy-policy-page .pp-fact dt{
  font-size:.75rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--c-muted);
}
.s-privacy-policy-page .pp-fact dd{
  margin:0;
  font-size:.9375rem;
  line-height:1.7;
  color:var(--c-text);
  word-break:break-word;
}
.s-privacy-policy-page .pp-fact a{
  color:var(--c-primary);
  text-decoration:none;
}
.s-privacy-policy-page .pp-fact a:hover{text-decoration:underline}

.s-privacy-policy-page .pp-links ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:2px;
}
.s-privacy-policy-page .pp-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  padding-inline:12px;
  margin-inline:-12px;
  border-radius:var(--radius);
  color:var(--c-text);
  text-decoration:none;
  font-size:.9375rem;
  transition:background .2s ease, color .2s ease;
}
.s-privacy-policy-page .pp-links a:hover{
  background:color-mix(in srgb, var(--c-primary) 8%, transparent);
  color:var(--c-primary);
}
.s-privacy-policy-page .pp-links a[aria-current]{
  color:var(--c-secondary);
  font-weight:600;
}
.s-privacy-policy-page .pp-links svg{
  inline-size:16px;
  block-size:16px;
  flex:0 0 auto;
  color:currentColor;
  opacity:.6;
}

/* Responsive */
@media (max-width:900px){
  .s-privacy-policy-page .pp-layout{grid-template-columns:1fr}
  .s-privacy-policy-page .pp-aside{
    position:static;
    inset-block-start:auto;
  }
}
@media (max-width:600px){
  .s-privacy-policy-page::before{block-size:300px}
  .s-privacy-policy-page .pp-doc-head{gap:12px}
  .s-privacy-policy-page .pp-actions .btn{flex:1 1 100%}
  .s-privacy-policy-page .pp-crumbs{font-size:.75rem}
}
