/* Policy pages reuse Phone Cleaner's type, colors, surfaces and spacing. */
.legal-page { background:var(--white); }
.legal-main { padding-top:36px; padding-bottom:80px; }
.legal-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:14px; }
.legal-breadcrumb a { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--ink); font-weight:650; }
.legal-breadcrumb img { width:28px; height:28px; border:1px solid var(--border); border-radius:8px; }
.legal-heading { padding:48px 0 32px; max-width:820px; }
.legal-heading .eyebrow { margin-bottom:16px; letter-spacing:1px; }
.legal-heading h1 { font-size:clamp(34px,4.2vw,54px); letter-spacing:-1.8px; line-height:1.25; }
.legal-lede { margin-top:20px; font-size:19px; color:var(--muted); line-height:1.7; }
.legal-date { margin-top:18px; font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }
.legal-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--surface); border:1px solid var(--border); border-radius:22px; padding:26px 0; }
.legal-summary>div { padding:0 28px; }
.legal-summary>div+div { border-left:1px solid var(--border); }
.legal-summary h2 { font-size:16px; line-height:1.5; letter-spacing:-.3px; font-weight:700; }
.legal-summary p { margin-top:7px; font-size:14px; line-height:1.65; color:var(--muted); }
.legal-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; align-items:start; margin-top:56px; }
.legal-sidebar { position:sticky; top:100px; max-height:calc(100dvh - 130px); overflow:auto; }
.legal-sidebar h2 { font-size:13px; letter-spacing:0; color:var(--muted); padding:0 12px 14px; }
.legal-sidebar ol,.legal-mobile-toc ol { list-style:none; margin:0; padding:0; }
.legal-sidebar a,.legal-mobile-toc a { display:flex; align-items:baseline; gap:12px; min-height:44px; padding:10px 12px; font-size:14px; line-height:1.65; border-radius:10px; }
.legal-sidebar a:hover,.legal-mobile-toc a:hover { background:var(--pale); color:var(--blue); }
.legal-sidebar a>span,.legal-mobile-toc a>span { flex:none; color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.legal-content { min-width:0; max-width:780px; }
.legal-content article>section { padding:0 0 40px; margin-bottom:40px; border-bottom:1px solid var(--border); scroll-margin-top:110px; }
.legal-number { font-size:12px!important; font-weight:750; letter-spacing:1px; color:var(--blue); margin:0 0 10px!important; }
.legal-content h2 { font-size:25px; line-height:1.45; letter-spacing:-.7px; margin-bottom:20px; }
.legal-content p,.legal-content li { font-size:16px; line-height:1.9; overflow-wrap:anywhere; }
.legal-content p+p { margin-top:16px; }
.legal-content ul { padding-left:22px; margin:20px 0; }
.legal-content li+li { margin-top:12px; }
.legal-content article a,.legal-contact>a { color:var(--blue); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.legal-facts { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:24px; background:var(--surface); border-radius:18px; margin:20px 0; }
.legal-facts h3 { font-size:15px; margin-bottom:8px; }
.legal-facts p { font-size:14px; line-height:1.75; color:var(--muted); }
.legal-contact { background:var(--pale); border-radius:22px; padding:28px; scroll-margin-top:110px; }
.legal-contact h2 { margin-bottom:10px; font-size:21px; }
.legal-contact p { font-size:15px; }
.legal-contact>a { display:inline-block; margin-top:14px; padding:8px 0; font-weight:650; min-height:44px; }
.legal-end { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:28px; }
.legal-end a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; color:var(--muted); }
.legal-end a[aria-current] { color:var(--ink); font-weight:700; }
.legal-mobile-toc { display:none; }
.legal-footer { border-top:1px solid var(--border); padding:26px 0; background:var(--surface); }
.legal-footer>.container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px 28px; font-size:13px; }
.legal-footer a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; }
.legal-footer p { color:var(--muted); }
@media(max-width:960px) {
  .legal-layout { display:block; margin-top:32px; }
  .legal-sidebar { display:none; }
  .legal-content { max-width:none; }
  .legal-mobile-toc { display:block; border:1px solid var(--border); border-radius:16px; margin-bottom:36px; }
  .legal-mobile-toc summary { display:flex; justify-content:space-between; gap:16px; padding:18px 20px; cursor:pointer; font-weight:650; font-size:15px; list-style:none; }
  .legal-mobile-toc summary::-webkit-details-marker { display:none; }
  .legal-mobile-toc[open] summary>span { transform:rotate(45deg); }
  .legal-mobile-toc ol { padding:0 8px 12px; }
}
@media(max-width:600px) {
  .legal-main { padding-top:24px; padding-bottom:48px; }
  .legal-breadcrumb { font-size:12px; gap:10px; }
  .legal-heading { padding:32px 0 26px; }
  .legal-heading h1 { letter-spacing:-1.2px; }
  .legal-lede { font-size:16px; margin-top:16px; }
  .legal-summary { grid-template-columns:1fr; padding:0 20px; border-radius:18px; }
  .legal-summary>div { padding:18px 0; }
  .legal-summary>div+div { border-left:0; border-top:1px solid var(--border); }
  .legal-summary p { margin-top:4px; }
  .legal-content h2 { font-size:22px; }
  .legal-content p,.legal-content li { font-size:15px; line-height:1.9; }
  .legal-content article>section { padding-bottom:28px; margin-bottom:30px; }
  .legal-facts { grid-template-columns:1fr; padding:20px; }
  .legal-contact { padding:22px; }
  .legal-contact>a { font-size:15px; }
}
@media print {
  .site-header,.skip,.legal-breadcrumb,.legal-sidebar,.legal-mobile-toc,.legal-end,.legal-footer { display:none!important; }
  .container { width:100%; }
  .legal-main { padding:0; }
  .legal-heading { padding-top:0; }
  .legal-layout { display:block; margin-top:28px; }
  .legal-content { max-width:none; }
  .legal-content article>section { break-inside:avoid; }
  .legal-summary,.legal-contact,.legal-facts { background:var(--white); border:1px solid var(--border); }
}
