/* Shared accessibility, typography and language-navigation utilities. */
:root{
  --body:'Greycliff CF','Avenir Next','Segoe UI',sans-serif;
  --head:'Greycliff CF','Avenir Next','Segoe UI',sans-serif;
  /* Legacy page styles use --mono for all interface and body copy. Pointing it
     at the brand sans removes the terminal aesthetic without a 60-page fork. */
  --mono:var(--body);
  --code:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
body{font-family:var(--body);font-weight:500;letter-spacing:-.01em;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit}
p,li{letter-spacing:-.006em}
.skip-link{position:fixed;z-index:999;top:10px;left:10px;padding:11px 15px;border-radius:9px;background:#14231f;color:#fff;font-family:var(--body,sans-serif);font-size:13px;font-weight:700;transform:translateY(-160%);transition:transform .2s ease}
.skip-link:focus{transform:translateY(0);outline:3px solid #55e3a4;outline-offset:3px}
.page-lang{display:flex;align-items:center;gap:2px;font-family:var(--mono,ui-monospace,monospace);font-size:11px}
.page-lang a{padding:4px 6px;border-radius:7px;color:var(--muted,#8A95A8);transition:color .2s,background .2s}
.page-lang a:hover,.page-lang a[aria-current="page"]{background:var(--green,#41E39E);color:var(--navy,#17202E)}
.mobile-menu .page-lang{font-size:14px;margin-top:2px}
.mobile-menu .page-lang a{font-family:var(--mono,ui-monospace,monospace);font-size:14px;padding:6px 9px}
/* Keep desktop navigation labels on one line. At intermediate widths we only
   tighten spacing; below that point the existing mobile menu takes over. */
.nav-links a{white-space:nowrap}

/* Long-form proof stays available without overwhelming the first read. */
.content-details{margin-top:30px}
.content-details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid rgba(65,227,158,.32);border-radius:14px;background:rgba(65,227,158,.07);color:var(--white);font-family:var(--head);font-weight:800;cursor:pointer;list-style:none}
.content-details>summary::-webkit-details-marker{display:none}
.content-details>summary:hover{border-color:var(--green);background:rgba(65,227,158,.11)}
.content-details>summary i{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;background:var(--green);color:var(--navy);font-size:19px;font-style:normal;line-height:1;transition:transform .25s ease}
.content-details[open]>summary i{transform:rotate(45deg)}
.content-details .jp-walk{margin-top:24px}
.content-details .rs-faq-grid,.content-details .rs-faq{margin-top:24px}
@media(prefers-reduced-motion:reduce){.content-details>summary i{transition:none}}
@media(min-width:1181px) and (max-width:1360px){
  .nav{gap:16px}
  .nav-links{gap:16px}
  .nav-right{gap:12px}
  .nav-right .btn{padding-left:20px;padding-right:20px}
  .langsw a,.page-lang a{padding-left:5px;padding-right:5px}
}
@media(max-width:1180px){.page-lang.lang-desktop{display:none}}
@media(max-width:620px){.legal-lang + .btn{display:none}.legal-lang{font-size:10px}}
@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}
