/* Privacy uses the existing FastVPS palette, panels and motion vocabulary. */
body.fastvps-privacy-page { background: #071225; color: var(--ink); overflow-x: clip; }
.fastvps-privacy-page #main { position: relative; isolation: isolate; }
.fastvps-privacy-page #main::before {
  content: ""; position: absolute; z-index: -1; inset: 0 0 auto; height: 800px; pointer-events: none;
  background:
    radial-gradient(ellipse at 85% 12%, rgba(11,118,255,.17), transparent 56%),
    radial-gradient(ellipse at 12% 35%, rgba(30,232,240,.055), transparent 48%),
    linear-gradient(180deg, rgba(4,12,31,.55), rgba(4,12,31,.86)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 92px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 92px);
  mask-image: linear-gradient(#000 65%, transparent);
}
.fastvps-privacy-page .legal-hero { padding: 72px 0 52px; border-bottom: 0; }
.fastvps-privacy-page .breadcrumbs { margin-bottom: 30px; color: var(--muted); }
.fastvps-privacy-page .eyebrow {
  display: flex; align-items: center; gap: 10px; margin-bottom: 22px;
  color: #9beef1; font: 700 14px/1.5 Inter, ui-sans-serif, system-ui, sans-serif; letter-spacing: 0;
}
.fastvps-privacy-page .eyebrow::before {
  width: 42px; height: 2px; flex: 0 0 42px; margin: 0; border-radius: 0; background: var(--cyan); box-shadow: none;
}
.fastvps-privacy-page .legal-hero h1 {
  max-width: 1040px; font-size: clamp(44px, 6.4vw, 88px); line-height: 1.04; letter-spacing: -.025em;
}
.fastvps-privacy-page .legal-hero > .shell > p:not(.eyebrow) { max-width: 760px; color: #c5d4e8; }
.fastvps-privacy-page .legal-meta { gap: 16px 22px; color: var(--muted); }
.fastvps-privacy-page .legal-meta a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 12px 18px;
  border: 1px solid transparent; border-radius: 6px; background: linear-gradient(90deg,#31f3ee,#4aa0ff);
  color: #031224; font-size: 11px; font-weight: 800;
  transition: translate .22s ease, box-shadow .22s ease, filter .22s ease;
}
.fastvps-privacy-page .legal-layout { grid-template-columns: minmax(220px,280px) minmax(0,1fr); gap: 36px; padding-top: 8px; }
.fastvps-privacy-page .legal-toc {
  top: 112px; gap: 4px; max-height: calc(100dvh - 140px); overflow-y: auto; padding: 22px 16px;
  border-color: var(--line); border-radius: 10px; background: rgba(5,18,42,.84);
  scrollbar-width: thin; scrollbar-color: rgba(30,232,240,.4) transparent;
}
.fastvps-privacy-page .legal-toc strong { padding: 0 12px; margin-bottom: 14px; color: #c5d4e8; }
.fastvps-privacy-page .legal-toc a {
  padding: 9px 12px; border-left: 2px solid transparent; border-radius: 0 5px 5px 0;
  color: var(--muted); font-size: 12px;
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, translate .22s ease;
}
.fastvps-privacy-page .legal-toc a:is(.is-active,:focus-visible) {
  color: var(--cyan); border-left-color: var(--cyan); background: rgba(30,232,240,.055); transform: none;
}
.fastvps-privacy-page .legal-content > section {
  position: relative; isolation: isolate; overflow: hidden; padding: clamp(24px,3vw,36px); margin-bottom: 24px;
  border: 1px solid var(--line); border-radius: 10px;
  background: linear-gradient(135deg,rgba(11,118,255,.10),rgba(30,232,240,.025)), var(--panel);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  transition: border-color .28s ease, box-shadow .28s ease;
}
.fastvps-privacy-page .legal-content > section::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0;
  background: radial-gradient(400px circle at var(--privacy-pointer-x,50%) var(--privacy-pointer-y,25%),rgba(30,232,240,.10),transparent 72%);
  transition: opacity .3s ease;
}
.fastvps-privacy-page .legal-content > section::after {
  content: ""; position: absolute; inset: 0 0 auto; height: 2px; pointer-events: none;
  background: linear-gradient(90deg,var(--blue),var(--cyan)); transform: scaleX(0); transform-origin: left;
  transition: transform .35s ease;
}
.fastvps-privacy-page .legal-content h2 { font-size: clamp(25px,2.65vw,36px); line-height: 1.2; letter-spacing: -.018em; }
.fastvps-privacy-page .legal-content p { color: #b7c8dc; font-size: 15px; line-height: 1.85; }
.fastvps-privacy-page .legal-content > section > :last-child { margin-bottom: 0; }
.fastvps-privacy-page .legal-list { margin-block: 22px; gap: 12px; }
.fastvps-privacy-page .legal-list li {
  background: rgba(3,14,34,.50); color: #b7c8dc;
  transition: translate .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease, background-color .28s ease;
}
.fastvps-privacy-page .legal-profile { background: linear-gradient(135deg,rgba(11,118,255,.16),rgba(30,232,240,.035)); }
.fastvps-privacy-page .legal-profile dt { color: var(--muted); }
.fastvps-privacy-page .legal-profile dd { font-size: 14px; overflow-wrap: anywhere; }
.fastvps-privacy-page .legal-content a { transition: color .22s ease, text-decoration-color .22s ease; }
.fastvps-privacy-page #main :is(a,button):focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.fastvps-privacy-page .legal-content > section:focus-within { border-color: var(--cyan); box-shadow: 0 12px 32px rgba(0,0,0,.22); }
.fastvps-privacy-page .legal-content > section:focus-within::before { opacity: 1; }
.fastvps-privacy-page .legal-content > section:focus-within::after { transform: scaleX(1); }
html.fastvps-motion-ready .fastvps-privacy-page [data-privacy-reveal][data-fastvps-reveal] {
  transition: opacity var(--fastvps-reveal-duration) cubic-bezier(.2,.8,.2,1), filter var(--fastvps-reveal-duration) cubic-bezier(.2,.8,.2,1), transform var(--fastvps-reveal-duration) cubic-bezier(.2,.8,.2,1), border-color .28s ease, box-shadow .28s ease;
  transition-delay: var(--fastvps-reveal-delay,0ms),var(--fastvps-reveal-delay,0ms),var(--fastvps-reveal-delay,0ms),0ms,0ms;
}
@media (hover:hover) and (pointer:fine) {
  .fastvps-privacy-page .legal-content > section:hover { border-color: rgba(30,232,240,.65); box-shadow: 0 12px 32px rgba(0,0,0,.22),0 0 24px rgba(30,232,240,.045); }
  .fastvps-privacy-page .legal-content > section:hover::before { opacity: 1; }
  .fastvps-privacy-page .legal-content > section:hover::after { transform: scaleX(1); }
  .fastvps-privacy-page .legal-list li:hover { translate: 0 -3px; border-color: var(--cyan); background: rgba(11,118,255,.09); }
  .fastvps-privacy-page .legal-toc a:hover { color: var(--cyan); border-left-color: var(--cyan); background: rgba(30,232,240,.055); transform: none; translate: 3px 0; }
  .fastvps-privacy-page .legal-meta a:hover { translate: 0 -2px; box-shadow: 0 8px 24px rgba(11,118,255,.2); filter: brightness(1.08); }
  .fastvps-privacy-page .legal-content a:hover { color: #a7faff; text-decoration-color: currentColor; }
}
@media (max-width:900px) {
  .fastvps-privacy-page .legal-layout { grid-template-columns: 1fr; gap: 28px; }
  .fastvps-privacy-page .legal-toc { position: static; max-height: none; }
}
@media (max-width:600px) {
  .fastvps-privacy-page .legal-hero { padding: 40px 0 34px; }
  .fastvps-privacy-page .legal-hero h1 { font-size: clamp(36px,10.8vw,54px); }
  .fastvps-privacy-page .legal-content > section { padding: 22px 18px; }
  .fastvps-privacy-page .legal-profile { padding: 18px; }
  .fastvps-privacy-page .legal-content h2 { overflow-wrap: anywhere; }
  .fastvps-privacy-page .legal-toc { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .fastvps-privacy-page #main { scroll-behavior: auto; }
  .fastvps-privacy-page #main *, .fastvps-privacy-page #main *::before, .fastvps-privacy-page #main *::after { transition: none !important; animation: none !important; }
  .fastvps-privacy-page .legal-list li:hover, .fastvps-privacy-page .legal-toc a:hover, .fastvps-privacy-page .legal-meta a:hover { translate: none; }
  html.fastvps-motion-ready .fastvps-privacy-page [data-privacy-reveal][data-fastvps-reveal] { opacity: 1; filter: none; transform: none; }
}
@media print {
  .fastvps-privacy-page .legal-content > section { overflow: visible; break-inside: auto; box-shadow: none; }
  html.fastvps-motion-ready .fastvps-privacy-page [data-privacy-reveal][data-fastvps-reveal] { opacity: 1; filter: none; transform: none; }
}
