.gx .legal{background:var(--color-bg);padding-block:var(--space-12) var(--section-y)}.gx .legal__skip{position:absolute;left:var(--space-4);top:var(--space-2);z-index:calc(var(--z-header) + 1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-inverse-bg);color:var(--color-inverse-text);transform:translateY(-200%)}.gx .legal__skip:focus-visible{transform:none;outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--focus-offset)}.gx .legal__head{max-width:768px;padding-bottom:var(--space-10);border-bottom:var(--border-hair) solid var(--color-border)}.gx .legal__back{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-h);margin-bottom:var(--space-6);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}.gx .legal__back svg{width:var(--space-4);height:var(--space-4)}.gx .legal__back:hover{color:var(--color-text)}.gx .legal__back:focus-visible{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--focus-offset)}.gx .legal__eyebrow{color:var(--color-accent-active)}.gx .legal__title{margin-top:var(--space-3);font-size:var(--text-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-snug)}.gx .legal__lead{margin-top:var(--space-4);max-width:var(--measure-copy);color:var(--color-text-subtle);font-size:var(--text-lg)}.gx .legal__date{margin-top:var(--space-6);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-mono-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase}.gx .legal__layout{display:grid;gap:var(--space-10);padding-top:var(--space-10)}@media (min-width:1024px){.gx .legal__layout{grid-template-columns:minmax(0,256px) minmax(0,736px);gap:var(--space-16)}.gx .legal__layout--single{grid-template-columns:minmax(0,736px)}.gx .legal__toc{position:sticky;top:calc(var(--header-h) + var(--space-6));align-self:start;max-height:calc(100dvh - var(--header-h) - var(--space-12));overflow:auto;overscroll-behavior:contain}}.gx .legal__toc{padding-bottom:var(--space-6);border-bottom:var(--border-hair) solid var(--color-border)}@media (min-width:1024px){.gx .legal__toc{padding-bottom:0;border-bottom:0}}.gx .legal__toc-title{margin-bottom:var(--space-3);color:var(--color-text-muted)}.gx .legal__toc ol{display:grid;gap:var(--space-1);margin:0;padding:0;list-style:none}.gx .legal__toc a{display:block;padding:var(--space-1) var(--space-3);border-left:var(--border-focus) solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-snug);text-decoration:none;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.gx .legal__toc-item--h3 a{padding-left:var(--space-6);font-size:var(--text-xs)}.gx .legal__toc a:hover{color:var(--color-text);border-left-color:var(--color-text-muted)}.gx .legal__toc a[aria-current="true"]{color:var(--color-text);border-left-color:var(--color-accent)}.gx .legal__toc a:focus-visible{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--focus-offset)}@media (max-width:1023.84px){.gx .legal__toc ol{max-height:256px;overflow:auto}}.gx .legal__body{color:var(--color-text-subtle);font-size:var(--text-md);line-height:var(--leading-normal)}.gx .legal__body>*+*{margin-top:var(--space-4)}.gx .legal__body h2,.gx .legal__body h3,.gx .legal__body h4,.gx .legal__body h5{color:var(--color-text);line-height:var(--leading-tight);letter-spacing:var(--tracking-snug);scroll-margin-top:calc(var(--header-h) + var(--space-6))}.gx .legal__body h2{margin-top:var(--space-12);font-size:var(--text-2xl)}.gx .legal__body h3{margin-top:var(--space-10);font-size:var(--text-xl)}.gx .legal__body h4{margin-top:var(--space-8);font-size:var(--text-lg)}.gx .legal__body h5{margin-top:var(--space-6);font-size:var(--text-md);font-weight:var(--weight-medium)}.gx .legal__body>h2:first-child,.gx .legal__body>h3:first-child,.gx .legal__body>h4:first-child{margin-top:0}.gx .legal__body strong{color:var(--color-text);font-weight:var(--weight-medium)}.gx .legal__body ul{display:grid;gap:var(--space-3);padding-left:var(--space-5);list-style:disc}.gx .legal__body ul ul{margin-top:var(--space-3);list-style:circle}.gx .legal__body li::marker{color:var(--color-text-muted)}.gx .legal__body a{color:var(--color-text);text-decoration:underline;text-underline-offset:.2em;text-decoration-color:var(--color-border-strong);border-radius:var(--radius-xs);transition:text-decoration-color var(--dur-fast) var(--ease-out)}.gx .legal__body a:hover{text-decoration-color:currentColor}.gx .legal__body a:focus-visible{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--focus-offset)}.gx .legal__more{margin-top:var(--space-16);padding-top:var(--space-6);border-top:var(--border-hair) solid var(--color-border)}.gx .legal__more .eyebrow{color:var(--color-text-muted)}.gx .legal__more div{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.gx .legal a.legal__other{display:inline-flex;align-items:center;min-height:var(--control-h);padding-inline:var(--space-4);border:var(--border-hair) solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-text);font-size:var(--text-sm);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.gx .legal a.legal__other:hover{background:var(--color-bg-sunken);border-color:var(--color-text-muted)}.gx .legal a.legal__other:active{background:var(--cream-200)}.gx .legal a.legal__other:focus-visible{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--focus-offset)}@media (max-width:767.84px){.gx .footer .footer__tagline{margin-top:var(--space-8)}}@media print{.header,.footer,.legal__toc,.legal__more,.legal__back,.legal__skip{display:none!important}.legal{padding:0}.legal__body{color:#000}}
.gx .legal__back:active, .gx .legal__toc a:active {color:var(--color-text-subtle)}

/* phones: floating "contents" button + bottom sheet (opens the same list as the inline "On this page") */
.gx .legal-fab {position:fixed;right:var(--gutter);bottom:var(--space-4);z-index:var(--z-raised);display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-4);border:var(--border-hair) solid var(--charcoal-600);border-radius:var(--radius-full);background:var(--color-inverse-bg);color:var(--color-inverse-text);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-md);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.gx .legal-fab[hidden] {display:none}
.gx .legal-fab svg {width:var(--space-4);height:var(--space-4)}
.gx .legal-fab:hover {background:var(--color-inverse-bg-hover)}
.gx .legal-fab:active {transform:scale(var(--press-scale))}
.gx .legal-fab:focus-visible {outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--focus-offset)}
.gx .legal-drawer {inset:auto 0 0 0;margin:0;width:100%;max-width:none;max-height:min(75dvh,560px);padding:0;border:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-bg-raised);color:var(--color-text);overflow:hidden}
.gx .legal-drawer[open] {display:flex;flex-direction:column;animation:legal-sheet var(--dur-base) var(--ease-out)}
.gx .legal-drawer::backdrop {background:var(--overlay-dark)}
@keyframes legal-sheet {from{transform:translateY(24px);opacity:0}}
.gx .legal-drawer__head {display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-3) var(--gutter);border-bottom:var(--border-hair) solid var(--color-border)}
.gx .legal-drawer__t {margin:0;color:var(--color-text-muted)}
.gx .legal-drawer__x {display:grid;place-items:center;width:var(--control-h);height:var(--control-h);border:0;border-radius:var(--radius-full);background:transparent;color:var(--color-text);cursor:pointer}
.gx .legal-drawer__x svg {width:var(--space-4);height:var(--space-4)}
.gx .legal-drawer__x:hover {background:var(--color-bg-sunken)}
.gx .legal-drawer__x:focus-visible {outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--focus-offset)}
.gx .legal-drawer .legal-drawer__toc {position:static;max-height:none;padding:var(--space-3) var(--gutter) var(--space-6);border:0;overflow:auto;overscroll-behavior:contain}
.gx .legal-drawer .legal__toc ol {max-height:none;overflow:visible}
@media (min-width:1024px) {
  .gx .legal-fab, .gx .legal-drawer {display:none !important}
}
@media (prefers-reduced-motion:reduce) {
  .gx .legal-drawer[open] {animation:none}
}
