/* ============================================================
   隐私政策 privacy-policy.html
   与 faq.html / jspt.html 共用同一视觉体系：
   思源黑体 CN · 品牌红 #E73216 · 橙 #EA5B16 · 深 #231815
   正文灰 #625F5D · 次要 #9A9591 · 浅底 #f6f8f8 · 描边 #f0f2f3
   注：本站 html 根字号 calc(100vw/19.2)，1920 宽下 1rem = 100px。
   ============================================================ */

.privacy-page {
    background: #f6f8f8;
    color: #625F5D;
}

/* ---------- Hero Banner（与其它内页同结构，图片由 HTML 提供，便于单页替换） ----------
   尺寸一律用 px / clamp，不用本文件顶部的 rem 刻度：hero 里的超大 rem 值
   （如 max-width:6.6rem）一旦根字号异常，会把文字挤成单列并把整个 section 撑爆。 */
.privacy-page .privacy-hero {
    background: #101d22;
    color: #fff;
    min-height: 6.6rem;
    overflow: hidden;
    position: relative;
}
.privacy-page .privacy-hero-bg {
    inset: 0;
    overflow: hidden;
    position: absolute;
}
.privacy-page .privacy-hero-bg::after {
    background: rgba(16, 29, 34, .42);
    content: "";
    inset: 0;
    position: absolute;
}
.privacy-page .privacy-hero-bg img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}
.privacy-hero-grid {
    background-image:
        linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
    background-size: 42px 42px;
    inset: 0;
    position: absolute;
    -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 72%);
    mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 72%);
}
.privacy-hero-glow {
    background: radial-gradient(circle, rgba(244, 123, 104, .34) 0%, transparent 62%);
    height: 4.6rem;
    pointer-events: none;
    position: absolute;
    right: -.6rem;
    top: -1.2rem;
    width: 5.4rem;
}
.privacy-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(3.2rem, 4.6rem);
    min-height: 5.2rem;
    padding-top: .5rem;
    position: relative;
    z-index: 2;
}
.privacy-breadcrumb {
    align-items: center;
    color: rgba(255, 255, 255, .62);
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    gap: 10px;
    grid-column: 1 / -1;
    margin-bottom: .22rem;
}
.privacy-breadcrumb a { color: rgba(255, 255, 255, .62); }
.privacy-breadcrumb a:hover { color: #fff; }
.privacy-breadcrumb strong { color: #fff; font-weight: 400; }
.privacy-hero-copy {
    align-self: center;
    padding-bottom: .3rem;
}

/* 小标签：全站统一 11px / 700 / .17em */
.privacy-eyebrow {
    color: #f47b68;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .17em;
    line-height: 1.4;
    text-transform: uppercase;
}
.privacy-hero h1 {
    font-size: 52px;
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1.12;
    margin-top: .14rem;
}
.privacy-hero-copy > p {
    color: rgba(255, 255, 255, .72);
    font-size: clamp(15px, 1.05vw, 18px);
    line-height: 1.8;
    margin-top: .22rem;
    max-width: 640px;
}

/* 生效日期做成胶囊，放在正文里比另起一行更轻 */
.privacy-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .12rem;
    margin-top: .28rem;
}
.privacy-meta span {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: rgba(255, 255, 255, .86);
    font-size: 13px;
    line-height: 1;
    padding: .1rem .2rem;
}
.privacy-meta b {
    color: #f47b68;
    font-weight: 700;
    margin-right: 6px;
}

/* 右侧装饰徽章：与 faq / jspt 同一套 halo + 圆环 */
.privacy-hero-badge {
    align-items: center;
    display: flex;
    justify-content: center;
    position: relative;
}
.privacy-badge-halo {
    background: radial-gradient(circle, rgba(244, 123, 104, .5) 0%, transparent 64%);
    border-radius: 50%;
    height: 3.4rem;
    position: absolute;
    width: 3.4rem;
}
.privacy-badge-core {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    height: 2.1rem;
    justify-content: center;
    position: relative;
    text-align: center;
    width: 2.1rem;
}
.privacy-badge-core small {
    color: #f47b68;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
}
.privacy-badge-core strong {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.25;
    margin-top: .05rem;
}

/* ---------- 主体：左侧粘性目录 + 右侧正文 ---------- */
.privacy-body {
    background: #fff;
    padding: .8rem 0;
}
.privacy-layout {
    align-items: start;
    display: grid;
    gap: .6rem;
    grid-template-columns: 2.6rem minmax(0, 1fr);
}

/* 目录 */
.privacy-toc {
    position: sticky;
    top: .2rem;
}
.privacy-toc-card {
    background: #f6f8f8;
    border: 1px solid #f0f2f3;
    border-radius: .12rem;
    padding: .28rem .26rem;
}
.privacy-toc-card > b {
    color: #231815;
    display: block;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: .14rem;
}
.privacy-toc-card ol {
    counter-reset: toc;
    list-style: none;
    margin: 0;
    padding: 0;
}
.privacy-toc-card li { counter-increment: toc; }
.privacy-toc-card a {
    align-items: flex-start;
    border-left: 2px solid transparent;
    color: #625F5D;
    display: flex;
    font-size: 13px;
    gap: 8px;
    line-height: 1.55;
    padding: 6px 0 6px 10px;
    text-decoration: none;
    transition: border-color .25s, color .25s, background-color .25s;
}
.privacy-toc-card a::before {
    color: #B8B4B1;
    content: counter(toc, decimal-leading-zero);
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.9;
    transition: color .25s;
}
/* 当前阅读项：aria-current 由脚本维护，视觉与无障碍语义同步 */
.privacy-toc-card a:hover,
.privacy-toc-card a[aria-current="true"] {
    border-left-color: var(--brand-primary, #E73216);
    color: #231815;
    font-weight: 600;
}
.privacy-toc-card a[aria-current="true"]::before { color: var(--brand-primary, #E73216); }

.privacy-toc-contact {
    margin-top: .16rem;
}
.privacy-toc-contact a {
    align-items: center;
    background: var(--brand-primary, #E73216);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 600;
    gap: 6px;
    line-height: 1;
    padding: 10px 16px;
    text-decoration: none;
    transition: background-color .3s, box-shadow .3s, transform .3s;
}
.privacy-toc-contact a:hover {
    background: #c92b11;
    box-shadow: 0 8px 18px rgba(231, 50, 22, .26);
    color: #fff;
    transform: translateY(-1px);
}

/* 正文 */
.privacy-content {
    min-width: 0;
}
.privacy-summary {
    background: #f6f8f8;
    border-left: 3px solid var(--brand-primary, #E73216);
    border-radius: 0 .12rem .12rem 0;
    margin-bottom: .4rem;
    padding: .26rem .3rem;
}
.privacy-summary p {
    color: #231815;
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}
.privacy-summary p + p { margin-top: .1rem; }

.privacy-section {
    border-top: 1px solid #f0f2f3;
    padding: .4rem 0;
    scroll-margin-top: 1.2rem;
}
.privacy-section:first-of-type { border-top: 0; padding-top: 0; }
.privacy-section > h2 {
    align-items: baseline;
    color: #231815;
    display: flex;
    font-size: clamp(20px, 1.4vw, 24px);
    font-weight: 700;
    gap: .12rem;
    letter-spacing: -.01em;
    line-height: 1.35;
    margin: 0 0 .16rem;
}
.privacy-section > h2 em {
    color: var(--brand-primary, #E73216);
    flex-shrink: 0;
    font-size: 15px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .04em;
}
.privacy-section h3 {
    color: #231815;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin: .24rem 0 .08rem;
}
.privacy-section p,
.privacy-section li {
    color: #625F5D;
    font-size: 15px;
    line-height: 1.85;
}
.privacy-section p { margin: 0 0 .12rem; }
.privacy-section p:last-child { margin-bottom: 0; }
.privacy-section strong { color: #231815; font-weight: 600; }
.privacy-section ul,
.privacy-section ol {
    margin: .08rem 0 .12rem;
    padding: 0;
}
.privacy-section ul { list-style: none; }
.privacy-section ul li {
    padding-left: .18rem;
    position: relative;
}
.privacy-section ul li::before {
    background: var(--brand-primary, #E73216);
    border-radius: 50%;
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    top: .12rem;
    width: 5px;
}
.privacy-section ul li + li { margin-top: .06rem; }
.privacy-section a {
    color: var(--brand-primary, #E73216);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.privacy-section a:hover { color: #c92b11; }

/* 数据类别小卡：把“收集什么”从长段落里拎出来，扫读更快 */
.privacy-facts {
    display: grid;
    gap: .16rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: .16rem 0 .2rem;
}
.privacy-fact {
    background: #f6f8f8;
    border: 1px solid #f0f2f3;
    border-radius: .1rem;
    padding: .2rem .22rem;
    transition: border-color .3s, box-shadow .3s;
}
.privacy-fact:hover {
    border-color: rgba(231, 50, 22, .18);
    box-shadow: 0 10px 24px rgba(35, 24, 21, .06);
}
.privacy-fact i {
    color: var(--brand-primary, #E73216);
    display: block;
    height: 22px;
    margin-bottom: .08rem;
    width: 22px;
}
.privacy-fact i svg { display: block; height: 100%; width: 100%; }
.privacy-fact b {
    color: #231815;
    display: block;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
}
.privacy-fact span {
    color: #9A9591;
    display: block;
    font-size: 13px;
    line-height: 1.7;
    margin-top: 4px;
}

/* 联系块 */
.privacy-contact-box {
    background: #f6f8f8;
    border: 1px solid #f0f2f3;
    border-radius: .12rem;
    display: grid;
    gap: .18rem .3rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .18rem;
    padding: .26rem .3rem;
}
.privacy-contact-item span {
    color: #9A9591;
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.4;
    text-transform: uppercase;
}
.privacy-contact-item strong {
    color: #231815;
    display: block;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.6;
    margin-top: 6px;
    overflow-wrap: break-word;
}
.privacy-contact-item a { text-decoration: none; }
.privacy-contact-item a:hover { text-decoration: underline; }

/* 更新记录 */
.privacy-updates {
    background: #fff;
    border: 1px dashed #e3e7e8;
    border-radius: .1rem;
    list-style: none;
    margin: .16rem 0 0;
    padding: .18rem .24rem;
}
.privacy-section ol.privacy-updates { list-style: none; }
.privacy-section .privacy-updates li {
    color: #625F5D;
    display: flex;
    font-size: 14px;
    gap: .14rem;
    line-height: 1.7;
    padding-left: 0;
}
.privacy-section .privacy-updates li + li { margin-top: .06rem; }
.privacy-section .privacy-updates li b {
    color: #231815;
    flex: 0 0 auto;
    min-width: 90px;
    font-weight: 600;
}

/* ---------- CTA（与其它内页同一梯度区块） ---------- */
.privacy-cta {
    background: #fff;
    padding: 0 0 .8rem;
}
.privacy-cta-inner {
    align-items: center;
    background: linear-gradient(120deg, #E73216 0%, #EA5B16 100%);
    border-radius: .12rem;
    box-shadow: 0 14px 30px rgba(234, 91, 22, .22);
    color: #fff;
    display: flex;
    gap: .4rem;
    justify-content: space-between;
    overflow: hidden;
    padding: .5rem .6rem;
    position: relative;
}
.privacy-cta-inner::after {
    background: radial-gradient(circle, rgba(255, 255, 255, .3) 0%, transparent 60%);
    content: "";
    height: 3rem;
    pointer-events: none;
    position: absolute;
    right: -.6rem;
    top: -1.2rem;
    width: 3rem;
}
.privacy-cta-inner > div { position: relative; z-index: 2; }
.privacy-cta .privacy-eyebrow { color: rgba(255, 255, 255, .72); }
.privacy-cta h2 {
    color: #fff;
    font-size: clamp(24px, 2vw, 34px);
    font-weight: 700;
    line-height: 1.3;
    margin: .12rem 0 0;
}
.privacy-cta p {
    font-size: 15px;
    line-height: 1.7;
    margin: .12rem 0 0;
    opacity: .85;
}
.privacy-cta-actions {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    gap: .16rem;
    position: relative;
    z-index: 2;
}
.privacy-primary-action {
    align-items: center;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 999px;
    color: var(--brand-primary, #E73216);
    display: inline-flex;
    font-size: 15px;
    font-weight: 600;
    gap: .1rem;
    line-height: 1;
    padding: .18rem .4rem;
    text-decoration: none;
    transition: box-shadow .3s, transform .3s;
}
.privacy-primary-action span {
    font-size: 17px;
    line-height: 1;
    transition: transform .3s;
}
.privacy-primary-action:hover {
    box-shadow: 0 14px 30px rgba(0, 0, 0, .2);
    color: var(--brand-primary, #E73216);
    transform: translateY(-2px);
}
.privacy-primary-action:hover span { transform: translateX(3px); }
.privacy-text-action {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 15px;
    gap: .1rem;
    line-height: 1;
    padding: .18rem .34rem;
    text-decoration: none;
    transition: background-color .3s, border-color .3s;
}
.privacy-text-action:hover {
    background: rgba(255, 255, 255, .12);
    border-color: #fff;
    color: #fff;
}

/* ---------- 焦点可见：键盘用户必须看得出焦点在哪 ---------- */
.privacy-toc-card a:focus-visible,
.privacy-toc-contact a:focus-visible,
.privacy-primary-action:focus-visible,
.privacy-text-action:focus-visible,
.privacy-section a:focus-visible,
.privacy-section [tabindex]:focus-visible {
    outline: 2px solid var(--brand-primary, #E73216);
    outline-offset: 3px;
}
.privacy-hero a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* ---------- 响应式 ---------- */
@media (max-width: 1199px) {
    .privacy-layout { gap: .4rem; grid-template-columns: 2.4rem minmax(0, 1fr); }
    .privacy-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .privacy-hero-inner { grid-template-columns: 1fr; }
    .privacy-hero-badge { display: none; }
    /* 平板起取消粘性目录，改为顶部横向滑动的 chip 导航，避免正文被挤窄 */
    .privacy-layout { display: block; }
    .privacy-toc {
        background: rgba(255, 255, 255, .96);
        border-bottom: 1px solid #f0f2f3;
        margin: 0 0 .3rem;
        position: sticky;
        top: .12rem;
        z-index: 6;
    }
    .privacy-toc-card {
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: .12rem 0;
    }
    .privacy-toc-card > b,
    .privacy-toc-contact { display: none; }
    .privacy-toc-card ol {
        display: flex;
        gap: 8px;
        margin: 0 -.02rem;
        overflow-x: auto;
        padding: 2px 0 6px;
        scrollbar-width: none;
    }
    .privacy-toc-card ol::-webkit-scrollbar { display: none; }
    .privacy-toc-card li { flex: 0 0 auto; }
    .privacy-toc-card a {
        background: #f6f8f8;
        border: 1px solid #f0f2f3;
        border-left: 1px solid #f0f2f3;
        border-radius: 999px;
        font-size: 13px;
        padding: 7px 14px 7px 12px;
        white-space: nowrap;
    }
    .privacy-toc-card a[aria-current="true"] {
        background: rgba(231, 50, 22, .08);
        border-color: rgba(231, 50, 22, .3);
    }
    .privacy-contact-box { grid-template-columns: 1fr 1fr; }
    .privacy-cta-inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 767px) {
    .privacy-hero-inner {
        grid-template-columns: 1fr;
        min-height: 4.8rem;
        padding-top: .34rem;
    }
    .privacy-hero h1 { font-size: clamp(30px, 8vw, 44px); }
    .privacy-hero-copy > p { font-size: 15px; max-width: none; }
    .privacy-meta span { font-size: 12px; padding: .08rem .16rem; }
    .privacy-body { padding: .5rem 0; }
    .privacy-summary { margin-bottom: .3rem; padding: .2rem .22rem; }
    .privacy-section { padding: .3rem 0; }
    .privacy-section p,
    .privacy-section li { font-size: 14px; }
    .privacy-facts { grid-template-columns: 1fr; }
    .privacy-contact-box { grid-template-columns: 1fr; padding: .24rem; }
    .privacy-section .privacy-updates li { flex-direction: column; gap: 2px; }
    .privacy-section .privacy-updates li b { flex: none; }
    .privacy-cta { padding: 0 0 .62rem; }
    .privacy-cta-inner { padding: .4rem .34rem; }
    .privacy-primary-action,
    .privacy-text-action { font-size: 14px; padding: .14rem .28rem; }
}

/* ---------- 减弱动效偏好：关掉所有过渡与滚动动画 ---------- */
@media (prefers-reduced-motion: reduce) {
    .privacy-page *,
    .privacy-page *::before,
    .privacy-page *::after {
        animation: none !important;
        scroll-behavior: auto !important;
        transition: none !important;
    }
    .privacy-page .wow { visibility: visible !important; }
}
