.consent{position:fixed;bottom:var(--space-4);left:var(--space-4);right:var(--space-4);z-index:var(--z-consent);max-width:34rem;padding:var(--space-5);background-color:var(--ink-raised);color:var(--on-ink);border:1px solid var(--ink-line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-ink)}.consent-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading)}.consent-body{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--on-ink-dim)}.consent-body a{color:var(--signal)}.consent-actions{margin-top:var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-3)}@media(max-width:30rem){.consent-actions .btn{width:100%}}.site-footer{padding-block:var(--space-16) var(--space-8)}.footer-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2.4fr);gap:var(--space-12)}@media(max-width:62rem){.footer-top{grid-template-columns:minmax(0,1fr);gap:var(--space-10)}}.footer-close{margin-top:var(--space-5);max-width:18ch;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-heading);color:var(--on-ink)}.footer-brand-line{margin-top:var(--space-3);max-width:32ch;font-size:var(--text-sm);color:var(--on-ink-dim)}.footer-proof{margin-top:var(--space-6);display:flex;flex-wrap:wrap;gap:var(--space-3)}.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-8)}@media(max-width:62rem){.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:30rem){.footer-columns{grid-template-columns:minmax(0,1fr)}}.footer-col-title{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--signal)}.footer-links{list-style:none;padding:0;margin-top:var(--space-4);display:grid;gap:var(--space-3)}.footer-links li+li{margin-top:0}.footer-links a{font-size:var(--text-sm);color:var(--on-ink-dim);text-decoration:none}.footer-links a:hover{color:var(--on-ink);text-decoration:underline;text-underline-offset:.2em}.footer-bottom{margin-top:var(--space-16);padding-top:var(--space-6);border-top:1px solid var(--ink-line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-6);font-size:var(--text-xs);color:var(--on-ink-faint)}.footer-copy{display:flex;flex-wrap:wrap;align-items:center;gap:.45em .7em;margin:0}.footer-copy-dot{color:var(--ink-line-strong)}.footer-legal{display:flex;flex-wrap:wrap;gap:var(--space-5)}.footer-legal a{color:var(--on-ink-faint);text-decoration:none}.footer-legal a:hover{color:var(--on-ink-dim)}.site-header{position:sticky;top:0;z-index:var(--z-header);background-color:color-mix(in srgb,var(--ink) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ink-line);color:var(--on-ink)}.header-inner{display:flex;align-items:center;gap:var(--space-6);height:var(--header-height)}.header-nav{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.nav-item{position:relative}.nav-item.is-open:after{content:"";position:absolute;top:100%;left:0;right:0;height:.5rem}.nav-link{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem .6875rem;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--on-ink-dim);text-decoration:none;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out)}.nav-link:hover,.nav-link[aria-expanded=true],.nav-link.is-active{color:var(--on-ink)}.nav-link.is-active{box-shadow:inset 0 -2px 0 var(--signal)}.nav-chevron{transition:transform var(--duration-fast) var(--ease-out)}.nav-link[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}.nav-panel{position:absolute;top:calc(100% + .5rem);left:0;min-width:21rem;padding:var(--space-3);background-color:var(--ink-raised);border:1px solid var(--ink-line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-ink);display:grid;gap:.125rem}.nav-panel-link{display:block;padding:var(--space-3);border-radius:var(--radius-sm);text-decoration:none;transition:background-color var(--duration-fast) var(--ease-out)}.nav-panel-link:hover{background-color:#f7f8fa0f}.nav-panel-label{display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--on-ink)}.nav-panel-note{display:block;margin-top:.125rem;font-size:var(--text-xs);color:var(--on-ink-faint)}.header-toggle{display:none;margin-left:auto;padding:var(--space-2);color:var(--on-ink);border:1px solid var(--ink-line-strong);border-radius:var(--radius-sm)}.mobile-panel{display:none}@media(max-width:68rem){.header-nav{display:none}.header-actions{margin-left:auto}.header-toggle{display:inline-flex;margin-left:0}.mobile-panel.is-open{display:block;max-height:calc(100dvh - var(--header-height));overflow-y:auto;padding-block:var(--space-5) var(--space-8);background-color:var(--ink);border-top:1px solid var(--ink-line)}.mobile-group+.mobile-group{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--ink-line)}.mobile-group-title{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--signal)}.mobile-links{display:grid;gap:var(--space-1);margin-top:var(--space-3)}.mobile-link{display:block;padding:var(--space-3) 0;font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--on-ink);text-decoration:none}.mobile-link-note{display:block;font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--on-ink-faint)}}.lang-switch{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--ink-line-strong);border-radius:var(--radius-sm)}.lang-switch-link{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;padding:.3125rem .5rem;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);color:var(--on-ink-faint);text-decoration:none;border-radius:calc(var(--radius-sm) - 2px)}.lang-switch-link:hover{color:var(--on-ink)}.lang-switch-link.is-active{color:var(--ink);background-color:var(--on-ink)}.mobile-lang{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--ink-line)}@media(min-width:68.01rem){.mobile-lang{display:none}}@media(max-width:40rem){.header-actions .lang-switch{display:none}}
