/* SwiftCPC — app legal pages (privacy / terms / support).
   Loaded after styles.css. These pages have no marketing JS, no tracking. */

.legal-nav{
  position:fixed;inset:0 0 auto 0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 24px;background:rgba(7,9,13,.94);
  border-bottom:1px solid var(--line);
}
.legal-links{display:flex;gap:18px;font-size:.85rem;color:var(--mut);flex-wrap:wrap;justify-content:flex-end}
.legal-links a{white-space:nowrap}
.legal-links a:hover,.legal-links a[aria-current="page"]{color:var(--green)}

.legal-shell{
  padding:140px 0 90px;
  background:
    radial-gradient(60% 45% at 80% 10%, rgba(182,255,59,.08), transparent 60%),
    radial-gradient(55% 45% at 0% 35%, rgba(123,111,255,.1), transparent 60%),
    var(--bg);
}
.legal-hero>*{max-width:820px}
.legal-hero h1{
  font-family:var(--disp);font-weight:400;
  font-size:clamp(1.9rem,4vw,3rem);line-height:1.1;margin:0 0 18px;
}
.legal-hero h1 em{color:var(--green)}
.legal-hero .hero-sub{margin:18px 0 22px}

.legal-content{max-width:820px;margin-top:26px}
.legal-content h2{scroll-margin-top:110px}
.legal-content a{color:var(--green);text-decoration:underline;text-decoration-color:rgba(182,255,59,.35);text-underline-offset:3px}
.legal-content a:hover{text-decoration-color:var(--green)}
.legal-content address{font-style:normal;color:#c7ceda;line-height:1.7}

.legal-toc{
  border:1px solid var(--line);border-radius:16px;padding:20px 24px;
  background:var(--card);margin:30px 0 10px;
}
.legal-toc strong{display:block;font-family:var(--disp);font-size:.85rem;margin-bottom:12px;color:var(--ink)}
.legal-toc ol{margin:0 0 0 18px;columns:2;column-gap:32px;color:var(--mut);font-size:.92rem}
.legal-toc li{margin:5px 0;break-inside:avoid}
.legal-toc a{color:var(--mut);text-decoration:none}
.legal-toc a:hover{color:var(--green)}

.legal-callout{
  border-left:3px solid var(--green);padding:16px 20px;background:var(--card);
  border-radius:0 14px 14px 0;margin:24px 0;color:#dfe4ec;
}
.legal-callout strong{color:var(--ink)}
.legal-callout p:last-child{margin-bottom:0}

.legal-table{width:100%;border-collapse:collapse;font-size:.92rem;margin:18px 0 28px;color:#c7ceda}
.legal-table th,.legal-table td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top}
.legal-table th{color:var(--ink);font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}
.legal-table td strong{color:var(--ink)}

.legal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:38px}
.legal-cards .article-card{display:block}
.legal-cards .article-card h2{font-size:1.05rem}

.legal-faq details{border-bottom:1px solid var(--line)}
.legal-faq summary{
  cursor:pointer;list-style:none;padding:18px 0;font-family:var(--disp);font-size:.95rem;color:var(--ink);
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.legal-faq summary::-webkit-details-marker{display:none}
.legal-faq summary::after{content:"+";color:var(--green);font-size:1.3rem;line-height:1}
.legal-faq details[open] summary::after{content:"–"}
.legal-faq details p,.legal-faq details ol,.legal-faq details ul{color:#c7ceda;margin:0 0 18px}
.legal-faq details ol,.legal-faq details ul{margin-left:22px}

.legal-foot .foot-copy{text-align:right}

@media (max-width:960px){
  .legal-cards{grid-template-columns:1fr}
}
@media (max-width:720px){
  .legal-shell{padding-top:120px}
  .legal-nav{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 18px}
  .legal-links{justify-content:flex-start;gap:14px;font-size:.8rem}
  .legal-toc ol{columns:1}
  .legal-table{display:block;overflow-x:auto}
  .legal-foot .foot-copy{text-align:left}
}
