/* =====================================================================
   Tapp - Policy pages (Privacy #800, Cookie #1557)
   Replicates the Terms page template. Scoped to body.tapp-refine.
   ===================================================================== */
.tapp-refine{
  --tp-bg:#EEF0F0; --tp-surface:#FFFFFF; --tp-ink:#10141C; --tp-ink2:#2a3040;
  --tp-muted:#5B6472; --tp-accent:#4F3CFF; --tp-accent-tint:rgba(79,60,255,.08); --tp-support:#FF6B3D;
  --tp-line:#D8DBE0; --tp-line-soft:#E7E9ED;
  --tp-head:"Space Grotesk",system-ui,sans-serif; --tp-body:"Inter",system-ui,sans-serif;
  --tp-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --tp-maxw:1052px;
}
@media (prefers-reduced-motion:no-preference){ html.tp-smooth{ scroll-behavior:smooth; } }

.tapp-refine .site-main{ background:var(--tp-surface); padding:0; }

/* ---------- Hero band (paper) ---------- */
.tapp-refine .site-main > .page-header{ background:var(--tp-bg); margin:0; padding:clamp(30px,5vw,60px) 20px clamp(26px,4vw,44px); border:0; text-align:left; }
.tapp-refine .tapp-hero-inner{ max-width:var(--tp-maxw); margin:0 auto; }
.tapp-refine .tapp-hero__crumb{ font-family:var(--tp-mono); font-size:12.5px; color:var(--tp-muted); display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:0 0 16px; }
.tapp-refine .tapp-hero__crumb a{ color:var(--tp-muted); text-decoration:none; }
.tapp-refine .tapp-hero__crumb a:hover{ color:var(--tp-ink); }
.tapp-refine .tapp-hero__crumb .sep{ opacity:.5; }
.tapp-refine .tapp-hero__eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--tp-mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--tp-accent); font-weight:600; background:var(--tp-accent-tint); padding:6px 12px; border-radius:20px; margin:0 0 18px; }
.tapp-refine .tapp-hero__dot{ width:7px; height:7px; border-radius:50%; background:var(--tp-support); display:inline-block; flex:0 0 auto; }
.tapp-refine .site-main > .page-header .entry-title{ font-family:var(--tp-head); font-weight:600; color:var(--tp-ink); font-size:clamp(30px,4.6vw,42px); line-height:1.1; letter-spacing:-.01em; margin:0; }
.tapp-refine .tapp-hero__meta{ font-family:var(--tp-mono); font-size:12.5px; color:var(--tp-muted); margin:14px 0 0; }
.tapp-refine .tapp-hero__meta .sep{ opacity:.5; margin:0 6px; }

/* ---------- Content area (white) + two-column grid ---------- */
.tapp-refine .tapp-doc{ max-width:var(--tp-maxw); margin:0 auto; padding:clamp(30px,5vw,56px) 20px clamp(48px,7vw,88px); display:grid; grid-template-columns:1fr; gap:clamp(24px,4vw,48px); align-items:start; }
@media (min-width:1000px){ .tapp-refine .tapp-doc{ grid-template-columns:252px minmax(0,1fr); } }

/* TOC */
.tapp-refine .tapp-toc{ font-family:var(--tp-body); }
@media (min-width:1000px){ .tapp-refine .tapp-toc{ position:sticky; top:96px; max-height:calc(100vh - 120px); overflow:auto; } }
.tapp-refine .tapp-toc__d{ border:1px solid var(--tp-line); border-radius:12px; overflow:hidden; }
@media (min-width:1000px){ .tapp-refine .tapp-toc__d{ border:0; border-radius:0; overflow:visible; } }
.tapp-refine .tapp-toc__d > summary{ list-style:none; cursor:pointer; padding:14px 16px; font-family:var(--tp-mono); font-size:12px; font-weight:400; letter-spacing:.06em; text-transform:uppercase; color:var(--tp-muted); display:flex; justify-content:space-between; align-items:center; gap:10px; }
.tapp-refine .tapp-toc__d > summary::-webkit-details-marker{ display:none; }
.tapp-refine .tapp-toc__d > summary::after{ content:""; width:8px; height:8px; border-right:1.5px solid var(--tp-muted); border-bottom:1.5px solid var(--tp-muted); transform:rotate(45deg); transition:transform .2s ease; margin-top:-3px; }
.tapp-refine .tapp-toc__d[open] > summary::after{ transform:rotate(-135deg); margin-top:2px; }
@media (min-width:1000px){
  .tapp-refine .tapp-toc__d > summary{ padding:0 10px 10px; cursor:default; }
  .tapp-refine .tapp-toc__d > summary::after{ display:none; }
}
.tapp-refine .tapp-toc nav{ padding:8px 10px 14px; }
@media (min-width:1000px){ .tapp-refine .tapp-toc nav{ padding:0; } }
.tapp-refine .tapp-toc ol{ list-style:none; margin:0; padding:0; }
.tapp-refine .tapp-toc li{ margin:0; }
.tapp-refine .tapp-toc a{ display:block; padding:6px 10px; border-radius:7px; color:var(--tp-ink2); text-decoration:none; font-size:13px; line-height:1.35; transition:background .15s ease,color .15s ease; }
.tapp-refine .tapp-toc a.is-sub{ padding-left:22px; font-size:12.5px; color:var(--tp-muted); }
.tapp-refine .tapp-toc a:hover{ background:rgba(79,60,255,.05); color:var(--tp-ink); }
.tapp-refine .tapp-toc a.is-active{ background:var(--tp-accent-tint); color:var(--tp-accent); font-weight:600; }

/* Content body */
.tapp-refine .tapp-doc__body{ min-width:0; }
.tapp-refine .page-content{ color:var(--tp-ink2); font-family:var(--tp-body); font-size:15.5px; line-height:1.7; max-width:760px; }
.tapp-refine .page-content > h1:first-child{ display:none; }
.tapp-refine .page-content p{ margin:0 0 14px; }
.tapp-refine .page-content strong{ color:var(--tp-ink); font-weight:600; }
.tapp-refine .page-content a{ color:var(--tp-accent); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; word-break:break-word; }
.tapp-refine .page-content a:hover{ text-decoration-thickness:2px; }
.tapp-refine .page-content ul,
.tapp-refine .page-content ol{ margin:0 0 14px; padding-left:1.2em; }
.tapp-refine .page-content li{ margin:0 0 6px; }
.tapp-refine .page-content ul li::marker{ color:var(--tp-accent); }
.tapp-refine .page-content h1{ font-family:var(--tp-head); font-weight:600; color:var(--tp-ink); font-size:clamp(25px,3.2vw,30px); line-height:1.14; letter-spacing:-.01em; margin:48px 0 16px; padding-top:30px; border-top:1px solid var(--tp-line); scroll-margin-top:96px; }
.tapp-refine .page-content h2{ font-family:var(--tp-head); font-weight:600; color:var(--tp-ink); font-size:22px; line-height:1.18; letter-spacing:-.01em; margin:40px 0 12px; scroll-margin-top:96px; }
.tapp-refine .page-content h3{ font-family:var(--tp-head); font-weight:600; color:var(--tp-ink); font-size:17px; line-height:1.25; margin:26px 0 8px; scroll-margin-top:96px; }
.tapp-refine .page-content h4{ font-family:var(--tp-body); font-weight:700; color:var(--tp-ink); font-size:15px; margin:20px 0 6px; scroll-margin-top:96px; }
.tapp-refine .page-content hr{ border:0; height:1px; background:var(--tp-line); margin:34px 0; }

/* Tables (Cookie) */
.tapp-refine .page-content table{ width:100%; border-collapse:collapse; margin:16px 0 20px; font-size:14px; border:1px solid var(--tp-line); border-radius:12px; overflow:hidden; }
.tapp-refine .page-content thead th{ background:var(--tp-bg); font-family:var(--tp-head); font-weight:600; text-align:left; color:var(--tp-ink); font-size:12.5px; letter-spacing:.02em; padding:11px 14px; border-bottom:1px solid var(--tp-line); }
.tapp-refine .page-content tbody td{ padding:11px 14px; border-bottom:1px solid var(--tp-line-soft); vertical-align:top; color:var(--tp-ink2); }
.tapp-refine .page-content tbody tr:last-child td{ border-bottom:0; }
.tapp-refine .page-content tbody td:first-child{ font-family:var(--tp-mono); font-size:12.5px; color:var(--tp-ink); }