/* Site-wide UX layer: sticky navigation, skip link, anchor offset, back to top. */
html{scroll-behavior:smooth;overflow-x:clip}
body{overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[id]{scroll-margin-top:96px}
.nav{position:sticky;top:0;z-index:60;transition:padding .2s}
.nav::before{content:"";position:absolute;inset:0 -100vmax;background:var(--bg);border-bottom:1px solid transparent;z-index:-1;transition:border-color .2s,box-shadow .2s}
.nav.stuck{padding-block:12px}
.nav.stuck::before{border-bottom-color:var(--line);box-shadow:0 6px 18px rgba(15,28,43,.08)}
.nav a[aria-current="page"]:not(.btn):not(.logo){color:var(--ink);font-weight:600}
.nav .sub{z-index:70}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--bg);padding:10px 16px;z-index:100;font:600 16px var(--f-body);text-decoration:none}
.skip:focus{top:8px}
.totop{position:fixed;right:16px;bottom:16px;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 14px rgba(15,28,43,.15);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:55}
.totop.show{opacity:1;visibility:visible;transform:none}
.totop:hover{border-color:var(--accent);color:var(--accent)}
.totop svg{width:20px;height:20px}
@media (max-width:520px){
  .nav{padding-block:10px;gap:6px 10px;flex-wrap:wrap}
  .nav .logo{font-size:20px}
  .nav .logo svg{width:26px;height:20px}
  .nav a.btn{padding:9px 13px;font-size:14px;white-space:nowrap}
  .nav ul{font-size:15px;gap:18px;padding-bottom:2px}
  .nav ul a{display:inline-block;padding:9px 0}
  .nav.stuck{padding-block:8px}
  [id]{scroll-margin-top:110px}
}
@media print{.nav{position:static}.totop,.skip{display:none}}

/* Light by default. Alternate section backgrounds so each section reads as its own block. */
:root{--alt:#FFFFFF}
:root[data-theme="dark"]{--alt:#101D2A}
main>section:nth-of-type(even):not(.band):not(.faqx):not(.lcta):not(.nbar):not(.chero):not(.ctint):not([style*="background"]){background:var(--alt);border-block:1px solid var(--line)}
section.faqx{background:var(--alt);border-block:1px solid var(--line)}
.sv-theme{background:none;border:0;padding:0;font:inherit;color:var(--muted);cursor:pointer;text-decoration:none}
.sv-theme:hover{color:var(--ink);text-decoration:underline}
