/* Policy pages design — scoped under .policy-page, matches home / managed IT support style */
.policy-page {
  --brand: #68139f;
  --brand-2: #9036cf;
  --ink: #16131d;
  --muted: #686270;
  --paper: #fff;
  --soft: #f7f3fa;
  --line: #e9e1ee;
  --radius: 18px;
  --shadow: 0 20px 60px rgba(41,10,61,.13);

  margin: 0;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
}

/* Resets against the global theme stylesheet */
.policy-page *, .policy-page *::before, .policy-page *::after { box-sizing: border-box; }
.policy-page h1, .policy-page h2, .policy-page h3, .policy-page h4 { font-family: inherit; color: inherit; font-size: inherit; }
.policy-page p { font-size: inherit; line-height: inherit; color: inherit; }
.policy-page a { color: inherit; text-decoration: none; }
.policy-page img { max-width: 100%; display: block; }

.policy-page .container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.policy-page .eyebrow { text-transform: uppercase; letter-spacing: .1em; font-size: 11.5px; font-weight: 800; color: #d49af5; margin: 0 0 12px; }

/* Hero */
.policy-page .policy-hero { position: relative; overflow: hidden; background: radial-gradient(circle at 72% 40%, #321049 0, #14091e 38%, #08070e 75%); color: #fff; padding: 70px 0; }
.policy-page .hero-glow { position: absolute; border-radius: 50%; filter: blur(55px); opacity: .35; }
.policy-page .hero-glow-one { width: 380px; height: 380px; background: var(--brand-2); right: 8%; top: 5%; }
.policy-page .hero-glow-two { width: 180px; height: 180px; background: #bc5bf8; left: 9%; bottom: 5%; }
.policy-page .policy-hero .container { position: relative; z-index: 2; }
.policy-page .policy-hero h1 { font-size: clamp(38px, 4.5vw, 62px); line-height: 1; letter-spacing: -.05em; margin: 0 0 14px; color: #fff; }
.policy-page .policy-hero h1 span { color: #9b35df; }
.policy-page .policy-hero .updated { color: #cdbcd7; font-size: 14px; margin: 0; }

/* Body layout */
.policy-page .policy-body { padding: 70px 0 90px; background: var(--soft); }
.policy-page .policy-grid { display: grid; grid-template-columns: 280px 1fr; gap: 36px; align-items: start; }

/* Sidebar policy navigation */
.policy-page .policy-nav { position: sticky; top: 100px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px; box-shadow: var(--shadow); }
.policy-page .policy-nav h2 { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin: 0 0 14px; }
.policy-page .policy-nav ul { list-style: none; margin: 0; padding: 0; }
.policy-page .policy-nav li { margin: 0; }
.policy-page .policy-nav a { display: block; padding: 11px 14px; margin: 4px 0; border-radius: 9px; font-size: 14.4px; font-weight: 650; color: var(--ink); transition: .15s; }
.policy-page .policy-nav a:hover { background: var(--soft); color: var(--brand); }
.policy-page .policy-nav a.active { background: linear-gradient(135deg, var(--brand), var(--brand-2)); color: #fff; box-shadow: 0 8px 22px rgba(104,19,159,.28); }

/* Content card */
.policy-page .policy-content { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 44px; box-shadow: var(--shadow); }
.policy-page .policy-content h4, .policy-page .policy-content h3, .policy-page .policy-content h2:not(.policy-nav h2) { font-size: 22px; font-weight: 800; letter-spacing: -.02em; margin: 34px 0 14px; color: var(--ink); }
.policy-page .policy-content h4:first-child { margin-top: 0; }
.policy-page .policy-content p { margin: 0 0 16px; color: #3d3745; }
.policy-page .policy-content strong { color: var(--ink); }
.policy-page .policy-content a { color: var(--brand); font-weight: 650; }
.policy-page .policy-content a:hover { text-decoration: underline; color: var(--brand); }
.policy-page .policy-content ol, .policy-page .policy-content ul { margin: 0 0 18px; padding-left: 24px; color: #3d3745; }
.policy-page .policy-content ol { list-style: decimal; }
.policy-page .policy-content ul { list-style: disc; }
.policy-page .policy-content li { margin: 8px 0; font-size: inherit; color: inherit; }
.policy-page .policy-content ol ol { list-style: lower-alpha; margin: 8px 0; }
.policy-page .policy-content table { width: 100%; border-collapse: collapse; margin: 0 0 22px; font-size: 14.6px; }
.policy-page .policy-content table td, .policy-page .policy-content table th { padding: 12px 14px; border: 1px solid var(--line); vertical-align: top; color: #3d3745; }
.policy-page .policy-content table tr:nth-child(odd) td { background: var(--soft); }

@media (max-width: 1050px) {
  .policy-page .policy-grid { grid-template-columns: 1fr; }
  .policy-page .policy-nav { position: static; }
  .policy-page .policy-nav ul { display: flex; flex-wrap: wrap; gap: 6px; }
  .policy-page .policy-nav a { margin: 0; }
}

@media (max-width: 760px) {
  .policy-page .container { width: min(100% - 28px, 680px); }
  .policy-page .policy-hero { padding: 52px 0; }
  .policy-page .policy-body { padding: 48px 0 64px; }
  .policy-page .policy-content { padding: 26px 20px; }
}
