.site-footer { padding: var(--footer-adjacent-space) 0 0; background: #1e1c21; color: #fff; }
.footer-grid { padding-bottom: 55px; display: grid; grid-template-columns: 1.5fr repeat(4,1fr); gap: 40px; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 10px; }
.footer-grid strong { margin-bottom: 7px; color: #b98dd8; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.footer-grid a { color: #bdb8c0; font-size: 11px; }
.footer-grid a:hover { color: #fff; }
.footer-brand p { max-width: 300px; margin-block: 1em; color: #aaa5ad; font-size: 11px; }
.footer-logo-link { min-height: 44px; display: inline-flex; align-items: center; border-radius: 10px; }
.footer-logo-link:focus-visible { outline: 2px solid #c89bea; outline-offset: 5px; }
.footer-brand .brand-mark { color: #fff; }
.footer-brand .brand-logo-image { filter: invert(1); }
.social-label { display: block; margin-top: 22px; color: #b98dd8; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.social-links { display: grid; grid-template-columns: repeat(3,44px); gap: 9px; margin-top: 10px; }
.footer-grid .social-links a { width: 44px; height: 44px; display: grid; place-items: center; color: #c9c4cc; background: #29262d; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.footer-grid .social-links a:hover { color: #fff; background: #6d359b; border-color: rgba(255,255,255,.22); transform: translateY(-2px); }
.social-links svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.social-links .social-icon-fill { fill: currentColor; stroke: none; }
.footer-bottom { min-height: 68px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.1); color: #87828b; font-size: 9px; }
.footer-bottom-meta { display: flex; align-items: center; gap: 14px; box-sizing: border-box; padding-left: 68px; }
.partnership-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.home-all-faqs, .view-all-faqs { margin-top: 22px; }
.footer-bottom .footer-back-to-top { position: fixed; z-index: 480; left: 18px; bottom: 18px; width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: linear-gradient(145deg,#9c65d0,#6d359b); box-shadow: 0 12px 30px rgba(44,24,60,.28); color: #fff; }
.footer-back-to-top .direction-arrow { width: 20px; height: 20px; flex-basis: 20px; transition: transform .2s ease; }
.footer-bottom .footer-back-to-top:hover, .footer-bottom .footer-back-to-top:focus-visible { background: linear-gradient(145deg,#ad78dc,#7a40a8); box-shadow: 0 15px 34px rgba(44,24,60,.36); color: #fff; outline: none; transform: translateY(-2px); }
.footer-back-to-top:hover .direction-arrow, .footer-back-to-top:focus-visible .direction-arrow { transform: translateY(-2px); }
.footer-bottom a, .footer-bottom button { color: #aaa5ad; font-size: 9px; }
.footer-bottom a:hover, .footer-bottom button:hover { color: #fff; }
.footer-bottom button { margin-right: 92px; padding: 8px 0; border: 0; background: transparent; cursor: pointer; }
.consent-overlay { position: fixed; inset: 0; z-index: 500; display: grid; place-items: center; padding: 24px; background: rgba(31,27,35,.64); backdrop-filter: blur(14px); }
.age-gate-overlay { background: rgba(234,235,240,.94); }
.age-gate-card { width: min(560px,100%); padding: 38px; display: flex; flex-direction: column; align-items: center; background: rgba(255,255,255,.96); border: 1px solid rgba(255,255,255,.95); border-radius: 32px; box-shadow: 0 32px 100px rgba(50,35,62,.22); text-align: center; }
.age-gate-card .brand-mark { align-self: flex-start; }
.age-gate-badge { width: 76px; height: 76px; margin: 30px 0 22px; display: grid; place-items: center; background: linear-gradient(145deg,var(--primary),var(--primary-dark)); color: #fff; border-radius: 25px; box-shadow: 0 18px 40px rgba(137,86,188,.28); font-size: 22px; font-weight: 900; transform: rotate(-5deg); }
.age-gate-card h2 { max-width: 460px; margin: 14px 0 14px; font-size: 38px; line-height: 1.04; letter-spacing: -.045em; }
.age-gate-card > p { max-width: 460px; margin: 0; color: var(--muted); font-size: 14px; }
.age-gate-actions { width: 100%; margin-top: 28px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 10px; }
.age-gate-actions .button { width: 100%; }
.age-gate-card > small { margin-top: 18px; color: var(--muted); font-size: 9px; }
.cookie-banner { position: fixed; z-index: 420; left: 50%; bottom: 16px; width: min(980px,calc(100% - 36px)); padding: 14px 14px 14px 18px; display: grid; grid-template-columns: minmax(280px,1fr) auto; gap: 18px; align-items: center; background: rgba(255,255,255,.96); border: 1px solid rgba(255,255,255,.95); border-radius: 20px; box-shadow: 0 20px 64px rgba(44,31,56,.2); backdrop-filter: blur(16px); transform: translateX(-50%); }
.cookie-banner-copy { display: grid; gap: 4px; }
.cookie-banner-copy strong { font-size: 12px; }
.cookie-banner-copy p { max-width: 500px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.cookie-banner-copy a { color: var(--primary-dark); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.cookie-banner-actions { display: flex; gap: 8px; }
.cookie-banner-actions .button { min-height: 44px; padding: 10px 13px; white-space: nowrap; }
.cookie-preferences-overlay { z-index: 510; }
.cookie-preferences-card { width: min(650px,100%); max-height: min(760px,calc(100vh - 48px)); padding: 32px; overflow-y: auto; background: #fff; border-radius: 30px; box-shadow: 0 32px 100px rgba(23,18,27,.34); }
.cookie-preferences-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.cookie-preferences-head h2 { margin: 0; font-size: 36px; line-height: 1; letter-spacing: -.045em; }
.cookie-preferences-head > button { width: 44px; height: 44px; flex: 0 0 auto; border: 0; background: #eee8f4; border-radius: 14px; cursor: pointer; font-size: 27px; line-height: 1; }
.cookie-preferences-intro { margin: 24px 0; color: var(--muted); font-size: 13px; }
.cookie-category-list { display: grid; gap: 10px; }
.cookie-category { min-height: 82px; padding: 17px 18px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #f5f3f7; border: 1px solid var(--border); border-radius: 18px; cursor: pointer; }
.cookie-category.is-required { background: #f0eaf5; cursor: default; }
.cookie-category > span { display: grid; gap: 3px; }
.cookie-category strong { font-size: 13px; }
.cookie-category small { color: var(--muted); font-size: 10px; }
.cookie-category input { width: 22px; height: 22px; flex: 0 0 auto; accent-color: var(--primary); }
.cookie-preferences-actions { margin-top: 24px; display: flex; justify-content: flex-end; gap: 10px; }
.placeholder-page { min-height: 70vh; padding: 100px 0; display: grid; place-items: center; }
.placeholder-card { max-width: 820px; padding: 60px; background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.placeholder-card h1 { margin: 20px 0; font-size: var(--type-page-title); line-height: var(--line-page-title); text-transform: capitalize; }
.placeholder-card p { color: var(--muted); }
.placeholder-card .button-row { margin-top: var(--copy-to-action-gap); }
html[data-locale="zh-CN"] { --font-family-site: var(--font-family-site-zh-cn); }
html[data-locale="ja"] body { line-height: 1.75; }
html[data-locale="zh-CN"] body { line-height: 1.75; font-synthesis: none; }
html[data-locale="ja"] .hero h1,
html[data-locale="ja"] .download-hero-copy h1 { font-size: var(--type-page-title-cjk, var(--type-page-title)); line-height: 1.1; letter-spacing: -.025em; overflow-wrap: anywhere; }
html[data-locale="zh-CN"] .hero h1,
html[data-locale="zh-CN"] .download-hero-copy h1 { font-size: var(--type-page-title-cjk, var(--type-page-title)); line-height: 1.1; letter-spacing: 0; overflow-wrap: anywhere; }
html[data-locale="ja"] .section-heading h2,
html[data-locale="ja"] .how-grid h2,
html[data-locale="ja"] .results-grid h2,
html[data-locale="ja"] .support-grid h2,
html[data-locale="ja"] .partnership-copy h2,
html[data-locale="ja"] .faq-grid h2 { line-height: 1.18; letter-spacing: -.025em; overflow-wrap: anywhere; }
html[data-locale="zh-CN"] .section-heading h2,
html[data-locale="zh-CN"] .how-grid h2,
html[data-locale="zh-CN"] .results-grid h2,
html[data-locale="zh-CN"] .support-grid h2,
html[data-locale="zh-CN"] .partnership-copy h2,
html[data-locale="zh-CN"] .faq-grid h2 { line-height: 1.18; letter-spacing: 0; overflow-wrap: anywhere; }
html[data-locale="ja"] .menu-label,
html[data-locale="ja"] .card-kicker,
html[data-locale="ja"] .eyebrow,
html[data-locale="ja"] .drawer-section-label { text-transform: none; letter-spacing: .04em; }
html[data-locale="zh-CN"] .menu-label,
html[data-locale="zh-CN"] .card-kicker,
html[data-locale="zh-CN"] .eyebrow,
html[data-locale="zh-CN"] .drawer-section-label,
html[data-locale="zh-CN"] .drawer-cards span,
html[data-locale="zh-CN"] .hero-proof-cue span,
html[data-locale="zh-CN"] .video-label span,
html[data-locale="zh-CN"] .solution-proof figcaption,
html[data-locale="zh-CN"] .result-number span,
html[data-locale="zh-CN"] .results-proof figcaption span,
html[data-locale="zh-CN"] .social-label,
html[data-locale="zh-CN"] .secondary-platform-label,
html[data-locale="zh-CN"] .help-card .help-status small,
html[data-locale="zh-CN"] .article-visual small,
html[data-locale="zh-CN"] .footer-grid strong { font-weight: 700; text-transform: none; letter-spacing: 0; }
html[data-locale="zh-CN"] .help-card .help-status small,
html[data-locale="zh-CN"] .article-visual small { font-weight: 700; }
html[data-locale="zh-CN"] :where(
  .age-bar,
  .language-trigger,
  .proof-grid span,
  .proof-grid strong,
  .featured-article h3,
  .final-cta h2
) { letter-spacing: 0; }
html[data-locale="zh-CN"] :where(
  .skip-link,
  .button,
  .text-link,
  .menu-label,
  .language-trigger,
  .language-menu button,
  .platforms-show-more,
  .platforms-show-less,
  .drawer-accordion,
  .drawer-cards span,
  .drawer-show-more,
  .drawer-show-less,
  .drawer-section-label,
  .drawer-footer,
  .eyebrow,
  .card-kicker,
  .proof-grid span,
  .hero-proof-cue span,
  .video-label span,
  .solution-proof figcaption,
  .how-steps span,
  .steps-grid .step-index,
  .steps-grid a,
  .result-number span,
  .results-proof figcaption span,
  .support-links span,
  .help-card .help-status small,
  .help-card a,
  .article-visual small,
  .faq-list summary,
  .social-label,
  .download-facts dt,
  .download-facts dd,
  .download-step-grid li > span,
  .download-next-links a
) { font-weight: 700; }
html[data-locale="zh-CN"] body .card-link,
html[data-locale="zh-CN"] body .support-links span { font-weight: 700; }
@media (max-width: 1120px) {
  .desktop-nav { display: none; }
  .header-inner { gap: 15px; }
  .header-actions { margin-left: auto; }
  .burger { display: grid; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .solution-card { grid-template-columns: 1fr; }
  .product-console,
  .solution-proof { max-width: 320px; }
  .footer-grid { grid-template-columns: 1.4fr repeat(2,1fr); }
  .platform-grid { grid-template-columns: repeat(2,1fr); }
}
