/* pages-f.css: faq, privacy, terms, security, 404 (package F/H2). Scoped by body[data-page]. Uses site.css theme vars. */
body[data-page=faq] main,body[data-page=privacy] main,body[data-page=terms] main,body[data-page=security] main,body[data-page=missing] main{
  max-width:820px;margin:0 auto;padding:56px 20px 72px;box-sizing:border-box;color:var(--text-secondary);font-size:1rem;line-height:1.7}
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security],body[data-page=missing]) main *{box-sizing:border-box}
/* hero (same pattern as pe-hero / pages-c) */
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security]) .hero{margin:0 0 36px;padding:0 0 28px;border-bottom:1px solid var(--border-subtle)}
body[data-page] main .eyebrow{display:inline-block;margin:0;font:600 12px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:#93c5fd;background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.3);padding:6px 10px;border-radius:999px}
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security],body[data-page=missing]) main h1{font-size:clamp(2rem,5vw,2.75rem);line-height:1.12;letter-spacing:-.02em;color:var(--text-main);margin:14px 0 12px}
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security],body[data-page=missing]) main .lede{font-size:1.08rem;line-height:1.6;color:var(--text-secondary);margin:0;max-width:680px}
/* prose */
:is(body[data-page=privacy],body[data-page=terms],body[data-page=security]) main h2{font-size:1.3rem;line-height:1.3;color:var(--text-main);margin:40px 0 10px;letter-spacing:-.01em}
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security],body[data-page=missing]) main p{margin:0 0 14px}
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security]) main :is(ul,ol){margin:0 0 16px;padding-left:1.3em}
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security]) main li{margin:0 0 8px}
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security]) main li::marker{color:var(--text-muted)}
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security],body[data-page=missing]) main b{color:var(--text-main);font-weight:600}
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security],body[data-page=missing]) main a:not(.btn){color:#93c5fd;text-decoration:underline;text-decoration-color:rgba(147,197,253,.35);text-underline-offset:3px}
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security],body[data-page=missing]) main a:not(.btn):hover{color:#fff;text-decoration-color:currentColor}
:is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security]) main code{font-family:var(--font-mono);font-size:.88em;color:#e2e8f0;background:rgba(255,255,255,.06);border:1px solid var(--border-subtle);border-radius:6px;padding:1px 6px;overflow-wrap:anywhere}
/* numbered steps (security) as cards */
body[data-page=security] main ol.steps{list-style:none;padding:0;counter-reset:s;display:grid;gap:10px}
body[data-page=security] main ol.steps li{counter-increment:s;position:relative;margin:0;padding:14px 16px 14px 52px;background:var(--bg-card);border:1px solid var(--border-medium);border-radius:12px}
body[data-page=security] main ol.steps li::before{content:counter(s);position:absolute;left:16px;top:14px;width:24px;height:24px;border-radius:50%;background:rgba(59,130,246,.15);color:#93c5fd;font:600 13px/24px var(--font-sans);text-align:center}
/* FAQ accordion cards */
body[data-page=faq] main details.faq{background:var(--bg-card);border:1px solid var(--border-medium);border-radius:14px;margin:0 0 12px;transition:border-color .15s,background .15s}
body[data-page=faq] main details.faq[open]{border-color:rgba(59,130,246,.45);background:linear-gradient(180deg,rgba(59,130,246,.06) 0%,var(--bg-card) 70%)}
body[data-page=faq] main details.faq summary{list-style:none;cursor:pointer;padding:18px 52px 18px 20px;position:relative;color:var(--text-main);font-weight:600;font-size:1.02rem;line-height:1.4}
body[data-page=faq] main details.faq summary::-webkit-details-marker{display:none}
body[data-page=faq] main details.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.06);color:var(--text-secondary);font:500 18px/24px var(--font-sans);text-align:center}
body[data-page=faq] main details.faq[open] summary::after{content:"\2212";background:rgba(59,130,246,.18);color:#93c5fd}
body[data-page=faq] main details.faq summary:hover{color:#fff}
body[data-page=faq] main details.faq summary:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:14px}
body[data-page=faq] main details.faq > :not(summary){margin-left:20px;margin-right:20px}
body[data-page=faq] main details.faq > :last-child{margin-bottom:18px}
/* 404 */
body[data-page=missing] main.center{text-align:center;padding-top:88px;padding-bottom:96px}
body[data-page=missing] .big404{font:800 clamp(4.5rem,14vw,7.5rem)/1 var(--font-sans);letter-spacing:-.04em;margin:0 0 8px;background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;color:transparent}
body[data-page=missing] main .lede{margin:0 auto 28px}
body[data-page=missing] .row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0}
body[data-page=missing] .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:10px;font:600 .95rem/1 var(--font-sans);text-decoration:none;color:#fff;background:var(--grad-primary);border:1px solid transparent;box-shadow:0 6px 20px rgba(59,130,246,.25)}
body[data-page=missing] .btn.ghost{background:var(--bg-card);border-color:var(--border-medium);color:var(--text-main);box-shadow:none}
body[data-page=missing] .btn:hover{filter:brightness(1.1)}
body[data-page=missing] .btn.ghost:hover{background:var(--bg-card-hover);filter:none}
@media (max-width:760px){
  :is(body[data-page=faq],body[data-page=privacy],body[data-page=terms],body[data-page=security],body[data-page=missing]) main{padding:36px 16px 56px}
  :is(body[data-page=privacy],body[data-page=terms],body[data-page=security]) main h2{margin-top:32px}
  body[data-page=faq] main details.faq summary{padding:16px 48px 16px 16px}
  body[data-page=faq] main details.faq > :not(summary){margin-left:16px;margin-right:16px}
  body[data-page=missing] main.center{padding-top:56px}
}
