/* ── Privacy page — premium legal document UI ── */
.privacy-page {
    --pv-accent: #2563eb;
    --pv-accent-dark: #1d4ed8;
    --pv-accent-soft: #eff6ff;
    --pv-accent-border: #bfdbfe;
    --pv-text: #0f172a;
    --pv-muted: #475569;
    --pv-soft: #64748b;
    --pv-surface: #ffffff;
    --pv-surface-alt: #f8fafc;
    --pv-border: #e2e8f0;
    --pv-shadow: 0 14px 40px rgba(15, 23, 42, 0.07);
    --pv-radius: 1rem;
    color: var(--pv-text);
}
.privacy-page .container { width: min(1140px, 92%); margin: 0 auto; }

/* Hero */
.privacy-hero {
    position: relative;
    padding: 3.25rem 0 2.75rem;
    overflow: hidden;
}
.privacy-hero__bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 10% 0%, rgba(37, 99, 235, 0.14), transparent 55%),
        radial-gradient(ellipse 60% 50% at 90% 20%, rgba(99, 102, 241, 0.1), transparent 50%),
        linear-gradient(180deg, #f8fbff 0%, #fff 72%);
    pointer-events: none;
}
.privacy-hero__inner {
    position: relative;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 2rem;
    align-items: start;
}
.privacy-hero__badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
}
.privacy-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.28rem 0.72rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--pv-accent-dark);
    background: var(--pv-accent-soft);
    border: 1px solid var(--pv-accent-border);
}
.privacy-hero__badge svg { width: 0.95rem; height: 0.95rem; }
.privacy-hero__badge--muted {
    color: #4338ca;
    background: #eef2ff;
    border-color: #c7d2fe;
}
.privacy-hero h1 {
    margin: 0 0 0.75rem;
    font-size: clamp(1.85rem, 4.2vw, 2.65rem);
    line-height: 1.12;
    letter-spacing: -0.02em;
}
.privacy-hero__lead {
    margin: 0;
    max-width: 54ch;
    color: var(--pv-muted);
    line-height: 1.68;
    font-size: 1.02rem;
}
.privacy-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 1.35rem 0 1.15rem;
}
.privacy-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.38rem 0.72rem;
    border-radius: 0.65rem;
    font-size: 0.82rem;
    color: #334155;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid var(--pv-border);
    backdrop-filter: blur(4px);
}
.privacy-chip strong {
    font-weight: 800;
    color: var(--pv-text);
}
.privacy-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}
.privacy-hero__actions .btn svg {
    width: 1rem;
    height: 1rem;
    margin-right: 0.35rem;
}

.privacy-hero__panel {
    padding: 1.35rem 1.45rem;
    border-radius: calc(var(--pv-radius) + 0.15rem);
    background: var(--pv-surface);
    border: 1px solid var(--pv-accent-border);
    box-shadow: var(--pv-shadow);
}
.privacy-hero__panel h2 {
    margin: 0 0 0.85rem;
    font-size: 1.05rem;
}
.privacy-hero__summary {
    margin: 0;
    padding: 0;
    list-style: none;
}
.privacy-hero__summary li {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
    color: #334155;
    line-height: 1.6;
    font-size: 0.92rem;
}
.privacy-hero__summary li + li { margin-top: 0.65rem; }
.privacy-hero__check {
    flex-shrink: 0;
    width: 1.35rem;
    height: 1.35rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #dbeafe;
    color: var(--pv-accent-dark);
}
.privacy-hero__check svg { width: 0.75rem; height: 0.75rem; }
.privacy-hero__legal {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    margin: 1rem 0 0;
    padding-top: 0.95rem;
    border-top: 1px solid #e0e7ff;
    font-size: 0.8rem;
    color: var(--pv-soft);
    line-height: 1.55;
}
.privacy-hero__legal svg {
    flex-shrink: 0;
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.1rem;
    color: #6366f1;
}

/* Trust bar */
.privacy-trust {
    border-top: 1px solid var(--pv-border);
    border-bottom: 1px solid var(--pv-border);
    background: var(--pv-surface);
}
.privacy-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}
.privacy-trust__item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    border-right: 1px solid var(--pv-border);
}
.privacy-trust__item:last-child { border-right: none; }
.privacy-trust__item strong {
    display: block;
    font-size: 0.88rem;
    color: var(--pv-text);
}
.privacy-trust__item span {
    display: block;
    font-size: 0.78rem;
    color: var(--pv-soft);
    margin-top: 0.1rem;
}
.privacy-trust__icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    background: var(--pv-accent-soft) center/1.25rem no-repeat;
    flex-shrink: 0;
}
.privacy-trust__icon--shield { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M12 3l7 3v6c0 5-3.5 8.5-7 10-3.5-1.5-7-5-7-10V6l7-3z'/%3E%3C/svg%3E"); }
.privacy-trust__icon--lock { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Crect x='5' y='11' width='14' height='10' rx='2' stroke='%231d4ed8' stroke-width='2'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M8 11V8a4 4 0 118 0v3'/%3E%3C/svg%3E"); }
.privacy-trust__icon--audit { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M9 5H5v14h14V5h-4M9 5l3-2 3 2M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.privacy-trust__icon--school { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M3 9l9-5 9 5-9 5-9-5z'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M7 11.5V16l5 3 5-3v-4.5'/%3E%3C/svg%3E"); }

/* Layout shell */
.privacy-shell {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 2.25rem;
    padding: 2.5rem 0 2rem;
    align-items: start;
}

/* Sidebar TOC */
.privacy-sidebar__sticky {
    position: sticky;
    top: 5.75rem;
    padding: 1.1rem 1.15rem;
    border: 1px solid var(--pv-border);
    border-radius: var(--pv-radius);
    background: var(--pv-surface);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
    max-height: calc(100vh - 7rem);
    overflow: auto;
}
.privacy-sidebar__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}
.privacy-sidebar__head h2 {
    margin: 0;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--pv-soft);
}
.privacy-sidebar__progress-label {
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--pv-accent-dark);
}
.privacy-sidebar__progress {
    height: 4px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
    margin-bottom: 1rem;
}
.privacy-sidebar__progress-bar {
    display: block;
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--pv-accent), #6366f1);
    transition: width 0.15s ease;
}
.privacy-sidebar__group + .privacy-sidebar__group { margin-top: 0.85rem; }
.privacy-sidebar__group h3 {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
}
.privacy-sidebar__group ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.privacy-sidebar__group li + li { margin-top: 0.15rem; }
.privacy-sidebar__group a {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.38rem 0.45rem;
    border-radius: 0.55rem;
    text-decoration: none;
    color: #334155;
    font-size: 0.82rem;
    line-height: 1.35;
    transition: background 0.15s ease, color 0.15s ease;
}
.privacy-sidebar__group a:hover {
    background: var(--pv-accent-soft);
    color: var(--pv-accent-dark);
}
.privacy-sidebar__group a.is-active {
    background: var(--pv-accent-soft);
    color: var(--pv-accent-dark);
    font-weight: 700;
}
.privacy-sidebar__num {
    flex-shrink: 0;
    width: 1.35rem;
    height: 1.35rem;
    display: grid;
    place-items: center;
    border-radius: 0.4rem;
    font-size: 0.68rem;
    font-weight: 800;
    color: var(--pv-accent-dark);
    background: #dbeafe;
}
.privacy-sidebar__contact {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    padding: 0.65rem 0.75rem;
    border-radius: 0.65rem;
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--pv-accent), var(--pv-accent-dark));
}
.privacy-sidebar__contact svg { width: 1rem; height: 1rem; }

/* Document blocks */
.privacy-doc { min-width: 0; }
.privacy-block {
    scroll-margin-top: 5.75rem;
    margin-bottom: 1.35rem;
    border: 1px solid var(--pv-border);
    border-radius: calc(var(--pv-radius) + 0.1rem);
    background: var(--pv-surface);
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.03);
    overflow: hidden;
}
.privacy-block__head {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid var(--pv-border);
    background: linear-gradient(180deg, var(--pv-surface-alt) 0%, var(--pv-surface) 100%);
}
.privacy-block__icon {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 0.8rem;
    background: var(--pv-accent-soft) center/1.35rem no-repeat;
    flex-shrink: 0;
    border: 1px solid var(--pv-accent-border);
}
.privacy-block__icon--doc { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M7 4h7l3 3v13H7z'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M14 4v4h4M9 12h6M9 16h4'/%3E%3C/svg%3E"); }
.privacy-block__icon--book { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M5 6h14v14H5zM5 10h14M9 6V4'/%3E%3C/svg%3E"); }
.privacy-block__icon--users { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='8' r='3' stroke='%231d4ed8' stroke-width='2'/%3E%3Ccircle cx='17' cy='9' r='2.5' stroke='%231d4ed8' stroke-width='2'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M4 19c0-3 2.5-5 5-5s5 2 5 5M14 19c0-2.2 1.8-4 4-4'/%3E%3C/svg%3E"); }
.privacy-block__icon--database { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='6' rx='7' ry='3' stroke='%231d4ed8' stroke-width='2'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M5 6v6c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12v6c0 1.7 3.1 3 7 3s7-1.3 7-3v-6'/%3E%3C/svg%3E"); }
.privacy-block__icon--target { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' stroke='%231d4ed8' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='3' stroke='%231d4ed8' stroke-width='2'/%3E%3C/svg%3E"); }
.privacy-block__icon--scale { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M12 3v18M5 10h14M8 6h8'/%3E%3C/svg%3E"); }
.privacy-block__icon--share { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='18' cy='5' r='2.5' stroke='%231d4ed8' stroke-width='2'/%3E%3Ccircle cx='6' cy='12' r='2.5' stroke='%231d4ed8' stroke-width='2'/%3E%3Ccircle cx='18' cy='19' r='2.5' stroke='%231d4ed8' stroke-width='2'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M8.5 11l7-4M8.5 13l7 4'/%3E%3C/svg%3E"); }
.privacy-block__icon--globe { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%231d4ed8' stroke-width='2'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M3 12h18M12 3c2.5 2.8 4 6.2 4 9s-1.5 6.2-4 9c-2.5-2.8-4-6.2-4-9s1.5-6.2 4-9z'/%3E%3C/svg%3E"); }
.privacy-block__icon--clock { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%231d4ed8' stroke-width='2'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.privacy-block__icon--shield { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M12 3l7 3v6c0 5-3.5 8.5-7 10-3.5-1.5-7-5-7-10V6l7-3z'/%3E%3C/svg%3E"); }
.privacy-block__icon--child { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='3' stroke='%231d4ed8' stroke-width='2'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M6 20c0-3.3 2.7-6 6-6s6 2.7 6 6'/%3E%3C/svg%3E"); }
.privacy-block__icon--hand { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M8 11V7a2 2 0 114 0v1M12 11V6a2 2 0 114 0v7M16 13V9a2 2 0 114 0v6c0 4-3 7-7 7s-7-3-7-7v-2'/%3E%3C/svg%3E"); }
.privacy-block__icon--cookie { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' stroke='%231d4ed8' stroke-width='2'/%3E%3Ccircle cx='9' cy='10' r='1' fill='%231d4ed8'/%3E%3Ccircle cx='14' cy='9' r='1' fill='%231d4ed8'/%3E%3Ccircle cx='13' cy='14' r='1' fill='%231d4ed8'/%3E%3C/svg%3E"); }
.privacy-block__icon--phone { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Crect x='7' y='3' width='10' height='18' rx='2' stroke='%231d4ed8' stroke-width='2'/%3E%3Ccircle cx='12' cy='17' r='1' fill='%231d4ed8'/%3E%3C/svg%3E"); }
.privacy-block__icon--refresh { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M4 12a8 8 0 0113.7-5.7M20 12a8 8 0 01-13.7 5.7'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M16 4h4v4M8 20H4v-4'/%3E%3C/svg%3E"); }
.privacy-block__icon--mail { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M4 6h16v12H4z'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M4 7l8 6 8-6'/%3E%3C/svg%3E"); }
.privacy-block__num {
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pv-soft);
    margin-bottom: 0.15rem;
}
.privacy-block__head h2 {
    margin: 0;
    font-size: 1.22rem;
    line-height: 1.25;
}
.privacy-block__body {
    padding: 1.15rem 1.25rem 1.25rem;
}
.privacy-block__body p {
    margin: 0 0 0.85rem;
    color: #334155;
    line-height: 1.72;
}
.privacy-block__body p:last-child { margin-bottom: 0; }

/* Lists */
.privacy-list {
    margin: 0 0 0.85rem;
    padding-left: 1.2rem;
    color: #334155;
    line-height: 1.65;
}
.privacy-list--check {
    list-style: none;
    padding-left: 0;
}
.privacy-list--check li {
    position: relative;
    padding-left: 1.55rem;
    margin-bottom: 0.45rem;
}
.privacy-list--check li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.45rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: var(--pv-accent);
    box-shadow: 0 0 0 3px #dbeafe;
}

/* Data grid cards */
.privacy-data-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin: 0.5rem 0 0.85rem;
}
.privacy-data-card {
    padding: 1rem 1.05rem;
    border: 1px solid var(--pv-border);
    border-radius: 0.85rem;
    background: var(--pv-surface-alt);
}
.privacy-data-card h3 {
    margin: 0 0 0.5rem;
    font-size: 0.95rem;
    color: var(--pv-text);
}
.privacy-data-card ul {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.88rem;
    color: #475569;
    line-height: 1.55;
}
.privacy-data-card li + li { margin-top: 0.3rem; }

/* Subsections */
.privacy-subsections {
    display: grid;
    gap: 0.75rem;
    margin: 0.5rem 0 0.85rem;
}
.privacy-subsection {
    padding: 0.95rem 1rem;
    border-left: 3px solid var(--pv-accent);
    border-radius: 0 0.65rem 0.65rem 0;
    background: var(--pv-accent-soft);
}
.privacy-subsection h3 {
    margin: 0 0 0.4rem;
    font-size: 0.98rem;
}
.privacy-subsection p {
    margin: 0;
    font-size: 0.9rem;
}

/* Tables */
.privacy-table-wrap {
    margin: 0.65rem 0 0.85rem;
    border: 1px solid var(--pv-border);
    border-radius: 0.85rem;
    overflow: hidden;
}
.privacy-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}
.privacy-table th,
.privacy-table td {
    padding: 0.72rem 0.9rem;
    text-align: left;
    border-bottom: 1px solid var(--pv-border);
    vertical-align: top;
}
.privacy-table th {
    background: #f1f5f9;
    font-weight: 800;
    color: var(--pv-text);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.privacy-table tbody tr:nth-child(even) td { background: #fafbfc; }
.privacy-table tr:last-child td { border-bottom: none; }

/* Rights cards */
.privacy-rights-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0.75rem 0 0.85rem;
}
.privacy-rights-card {
    padding: 1rem;
    border: 1px solid var(--pv-accent-border);
    border-radius: 0.85rem;
    background: linear-gradient(180deg, #fff 0%, var(--pv-accent-soft) 100%);
}
.privacy-rights-card__icon {
    display: block;
    width: 2rem;
    height: 2rem;
    margin-bottom: 0.55rem;
    border-radius: 0.55rem;
    background: #dbeafe center/1.1rem no-repeat;
}
.privacy-rights-card__icon--access { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3' stroke='%231d4ed8' stroke-width='2'/%3E%3C/svg%3E"); }
.privacy-rights-card__icon--edit { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M12 20h9M16.5 3.5a2.1 2.1 0 013 3L8 18l-4 1 1-4 11.5-11.5z'/%3E%3C/svg%3E"); }
.privacy-rights-card__icon--block { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%231d4ed8' stroke-width='2'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M5 5l14 14'/%3E%3C/svg%3E"); }
.privacy-rights-card__icon--erase { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M4 7h16M9 7V5h6v2M10 11v6M14 11v6M6 7l1 12h10l1-12'/%3E%3C/svg%3E"); }
.privacy-rights-card h4 {
    margin: 0 0 0.25rem;
    font-size: 0.95rem;
}
.privacy-rights-card p {
    margin: 0;
    font-size: 0.84rem;
    color: var(--pv-muted);
    line-height: 1.5;
}

/* Callout */
.privacy-callout {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
    margin-top: 0.85rem;
    padding: 0.95rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid #a7f3d0;
    background: #ecfdf5;
}
.privacy-callout svg {
    flex-shrink: 0;
    width: 1.15rem;
    height: 1.15rem;
    margin-top: 0.1rem;
    color: #059669;
}
.privacy-callout p {
    margin: 0;
    color: #065f46;
    font-size: 0.9rem;
    line-height: 1.55;
}

/* Contact cards */
.privacy-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin-top: 0.75rem;
}
.privacy-contact-card {
    display: flex;
    gap: 0.85rem;
    padding: 1.1rem 1.15rem;
    border: 1px solid var(--pv-accent-border);
    border-radius: 0.9rem;
    text-decoration: none;
    color: inherit;
    background: var(--pv-surface);
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.privacy-contact-card:hover {
    transform: translateY(-2px);
    border-color: #93c5fd;
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.1);
}
.privacy-contact-card__icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.75rem;
    flex-shrink: 0;
    background: var(--pv-accent-soft) center/1.3rem no-repeat;
}
.privacy-contact-card__icon--mail { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M4 6h16v12H4z'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M4 7l8 6 8-6'/%3E%3C/svg%3E"); }
.privacy-contact-card__icon--help { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%231d4ed8' stroke-width='2'/%3E%3Cpath stroke='%231d4ed8' stroke-width='2' d='M9.5 9a2.5 2.5 0 015 0c0 1.5-2.5 1.3-2.5 3M12 16h.01'/%3E%3C/svg%3E"); }
.privacy-contact-card h3 {
    margin: 0 0 0.2rem;
    font-size: 1rem;
}
.privacy-contact-card p {
    margin: 0;
    font-size: 0.86rem;
    color: var(--pv-muted);
    line-height: 1.45;
}
.privacy-contact-card__action {
    display: inline-block;
    margin-top: 0.55rem;
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--pv-accent-dark);
}
.privacy-contact-hint {
    margin: 0.65rem 0 0;
    font-size: 0.84rem;
    color: var(--pv-soft);
}

/* Disclaimer */
.privacy-disclaimer {
    display: flex;
    gap: 0.65rem;
    align-items: flex-start;
    margin-top: 0.5rem;
    padding: 1rem 1.1rem;
    border-radius: 0.85rem;
    border: 1px dashed #cbd5e1;
    background: var(--pv-surface-alt);
}
.privacy-disclaimer svg {
    flex-shrink: 0;
    width: 1.1rem;
    height: 1.1rem;
    color: #f59e0b;
    margin-top: 0.1rem;
}
.privacy-disclaimer p {
    margin: 0;
    font-size: 0.86rem;
    color: var(--pv-soft);
    line-height: 1.55;
}

/* CTA strip */
.privacy-cta {
    margin-top: 1rem;
    padding: 2.25rem 0 3rem;
    background: linear-gradient(135deg, #eff6ff 0%, #eef2ff 50%, #f0fdf4 100%);
    border-top: 1px solid var(--pv-border);
}
.privacy-cta__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}
.privacy-cta h2 {
    margin: 0 0 0.35rem;
    font-size: 1.35rem;
}
.privacy-cta p {
    margin: 0;
    color: var(--pv-muted);
}
.privacy-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

/* FAB + sheet + top */
.privacy-fab,
.privacy-top {
    position: fixed;
    z-index: 55;
    display: grid;
    place-items: center;
    border: none;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.18);
    transition: transform 0.15s ease, opacity 0.15s ease;
}
.privacy-fab {
    right: 1rem;
    bottom: 5.5rem;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, var(--pv-accent), var(--pv-accent-dark));
}
.privacy-fab svg { width: 1.25rem; height: 1.25rem; }
.privacy-top {
    right: 1rem;
    bottom: 1.25rem;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    color: var(--pv-text);
    background: #fff;
    border: 1px solid var(--pv-border);
}
.privacy-top svg { width: 1.1rem; height: 1.1rem; }
.privacy-fab:hover,
.privacy-top:hover { transform: translateY(-2px); }

.privacy-sheet[hidden] { display: none; }
.privacy-sheet__backdrop {
    position: fixed;
    inset: 0;
    z-index: 70;
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);
}
.privacy-sheet__panel {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 71;
    max-height: 72vh;
    border-radius: 1.1rem 1.1rem 0 0;
    background: #fff;
    box-shadow: 0 -12px 40px rgba(15, 23, 42, 0.15);
    overflow: auto;
}
.privacy-sheet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--pv-border);
    position: sticky;
    top: 0;
    background: #fff;
}
.privacy-sheet__close {
    border: none;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: var(--pv-soft);
}
.privacy-sheet__nav {
    display: grid;
    padding: 0.5rem 0.75rem 1rem;
}
.privacy-sheet__nav a {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.65rem 0.55rem;
    border-radius: 0.65rem;
    text-decoration: none;
    color: #334155;
    font-weight: 600;
    font-size: 0.9rem;
}
.privacy-sheet__nav a span {
    width: 1.6rem;
    height: 1.6rem;
    display: grid;
    place-items: center;
    border-radius: 0.45rem;
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--pv-accent-dark);
    background: #dbeafe;
}
.privacy-sheet__nav a:hover { background: var(--pv-accent-soft); }
body.privacy-sheet-open { overflow: hidden; }

/* Dark mode */
html[data-theme="dark"] .privacy-page {
    --pv-text: #f1f5f9;
    --pv-muted: #94a3b8;
    --pv-soft: #64748b;
    --pv-surface: #1e293b;
    --pv-surface-alt: #0f172a;
    --pv-border: #334155;
    --pv-accent-soft: #1e3a8a;
    --pv-accent-border: #3b82f6;
    --pv-shadow: 0 14px 40px rgba(0, 0, 0, 0.25);
}
html[data-theme="dark"] .privacy-hero__bg {
    background:
        radial-gradient(ellipse 80% 60% at 10% 0%, rgba(37, 99, 235, 0.22), transparent 55%),
        linear-gradient(180deg, #0f172a 0%, #111827 100%);
}
html[data-theme="dark"] .privacy-hero__badge--muted {
    background: #312e81;
    border-color: #4338ca;
    color: #c7d2fe;
}
html[data-theme="dark"] .privacy-chip {
    background: rgba(30, 41, 59, 0.9);
    border-color: #334155;
    color: #cbd5e1;
}
html[data-theme="dark"] .privacy-chip strong { color: #f1f5f9; }
html[data-theme="dark"] .privacy-hero__check { background: #1e3a8a; color: #93c5fd; }
html[data-theme="dark"] .privacy-trust { background: #0f172a; }
html[data-theme="dark"] .privacy-block__body p,
html[data-theme="dark"] .privacy-list,
html[data-theme="dark"] .privacy-data-card ul { color: #94a3b8; }
html[data-theme="dark"] .privacy-table th { background: #334155; }
html[data-theme="dark"] .privacy-table tbody tr:nth-child(even) td { background: #1e293b; }
html[data-theme="dark"] .privacy-table td { background: #0f172a; }
html[data-theme="dark"] .privacy-callout { background: #064e3b; border-color: #059669; }
html[data-theme="dark"] .privacy-callout p { color: #a7f3d0; }
html[data-theme="dark"] .privacy-cta {
    background: linear-gradient(135deg, #1e3a8a 0%, #312e81 100%);
    border-color: #334155;
}
html[data-theme="dark"] .privacy-top { background: #1e293b; color: #f1f5f9; }
html[data-theme="dark"] .privacy-sheet__panel,
html[data-theme="dark"] .privacy-sheet__head { background: #1e293b; }
html[data-theme="dark"] .privacy-sheet__nav a { color: #e2e8f0; }
html[data-theme="dark"] .privacy-subsection { background: #1e3a8a; }

/* Responsive */
@media (max-width: 1024px) {
    .privacy-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .privacy-trust__item:nth-child(2) { border-right: none; }
    .privacy-trust__item:nth-child(odd) { border-right: 1px solid var(--pv-border); }
}

@media (max-width: 960px) {
    .privacy-hero__inner { grid-template-columns: 1fr; }
    .privacy-shell { grid-template-columns: 1fr; }
    .privacy-sidebar { display: none; }
    .privacy-fab { display: grid; }
    .privacy-data-grid,
    .privacy-rights-grid,
    .privacy-contact-grid { grid-template-columns: 1fr; }
}

@media (min-width: 961px) {
    .privacy-fab,
    .privacy-sheet { display: none; }
}

@media (max-width: 640px) {
    .privacy-trust__grid { grid-template-columns: 1fr; }
    .privacy-trust__item {
        border-right: none !important;
        border-bottom: 1px solid var(--pv-border);
    }
    .privacy-trust__item:last-child { border-bottom: none; }
    .privacy-cta__inner { flex-direction: column; align-items: flex-start; }
    .privacy-table thead { display: none; }
    .privacy-table tr {
        display: block;
        padding: 0.65rem 0.75rem;
        border-bottom: 1px solid var(--pv-border);
    }
    .privacy-table td {
        display: block;
        padding: 0.2rem 0;
        border: none;
    }
    .privacy-table td::before {
        content: attr(data-label) ": ";
        font-weight: 800;
        color: var(--pv-text);
    }
}

@media (max-width: 720px) {
    .home-nav__links { display: none; }
}

/* Print */
@media print {
    .home-nav,
    .privacy-sidebar,
    .privacy-fab,
    .privacy-top,
    .privacy-sheet,
    .privacy-cta,
    .sf-footer,
    .privacy-hero__actions,
    .theme-switch { display: none !important; }
    .privacy-hero__bg { display: none; }
    .privacy-hero { padding: 1rem 0; }
    .privacy-shell { display: block; padding: 0; }
    .privacy-block {
        break-inside: avoid;
        box-shadow: none;
        margin-bottom: 1rem;
    }
    .privacy-trust { break-after: avoid; }
}
