.site-footer:where(.astro-gcn2mc3v){border-top:1px solid var(--border);padding:var(--space-16) 0 var(--space-8);background:linear-gradient(180deg,color-mix(in srgb,var(--brand-primary-muted) 30%,transparent),transparent 26%),var(--bg)}.shell:where(.astro-gcn2mc3v){width:min(100% - 2rem,var(--container-wide));margin:0 auto;display:grid;gap:var(--space-12)}.footer-brand:where(.astro-gcn2mc3v) p:where(.astro-gcn2mc3v){max-width:32rem;margin:var(--space-4) 0 0;color:var(--text-muted)}.brand:where(.astro-gcn2mc3v){position:relative;display:inline-flex;align-items:center;gap:var(--space-3);color:var(--text);font-family:var(--font-display);font-weight:600}.logo:where(.astro-gcn2mc3v){height:2rem;width:auto}.logo--dark:where(.astro-gcn2mc3v){display:none}:root[data-theme=dark] .logo--light:where(.astro-gcn2mc3v){display:none}:root[data-theme=dark] .logo--dark:where(.astro-gcn2mc3v){display:block}.brand:where(.astro-gcn2mc3v) span:where(.astro-gcn2mc3v){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer-links:where(.astro-gcn2mc3v){display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:var(--space-8)}.footer-links:where(.astro-gcn2mc3v) h2:where(.astro-gcn2mc3v){margin:0 0 var(--space-4);font-size:var(--fs-sm)}.footer-links:where(.astro-gcn2mc3v) a:where(.astro-gcn2mc3v){display:block;margin-top:var(--space-3);color:var(--text-muted);font-size:var(--fs-sm)}.footer-links:where(.astro-gcn2mc3v) a:where(.astro-gcn2mc3v):hover{color:var(--text)}@media(min-width:1024px){.shell:where(.astro-gcn2mc3v){grid-template-columns:1.25fr 1fr;align-items:start}.footer-links:where(.astro-gcn2mc3v){grid-template-columns:repeat(3,minmax(0,1fr))}}.theme-toggle:where(.astro-x3pjskd3){display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius-full);background:color-mix(in srgb,var(--bg-raised) 82%,transparent);color:var(--text);font:inherit;cursor:pointer}.theme-toggle__icon:where(.astro-x3pjskd3){font-family:var(--font-display);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.theme-toggle__icon--moon:where(.astro-x3pjskd3){color:var(--text-muted)}:root[data-theme=dark] .theme-toggle__icon--sun:where(.astro-x3pjskd3){color:var(--text-muted)}:root[data-theme=dark] .theme-toggle__icon--moon:where(.astro-x3pjskd3){color:var(--text)}.site-header:where(.astro-ctg3m53h){position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}.shell:where(.astro-ctg3m53h){width:min(100% - 2rem,var(--container-wide));margin:0 auto;min-height:4rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4)}.brand:where(.astro-ctg3m53h){position:relative;display:inline-flex;align-items:center;gap:var(--space-3);color:var(--text);font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}.logo:where(.astro-ctg3m53h){height:2rem;width:auto}.logo--dark:where(.astro-ctg3m53h){display:none}:root[data-theme=dark] .logo--light:where(.astro-ctg3m53h){display:none}:root[data-theme=dark] .logo--dark:where(.astro-ctg3m53h){display:block}.brand:where(.astro-ctg3m53h) span:where(.astro-ctg3m53h){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav:where(.astro-ctg3m53h){display:none;align-items:center;justify-content:center;gap:var(--space-6)}.nav:where(.astro-ctg3m53h) a:where(.astro-ctg3m53h){color:var(--text-muted);font-size:var(--fs-sm)}.nav:where(.astro-ctg3m53h) a:where(.astro-ctg3m53h):hover,.nav:where(.astro-ctg3m53h) a:where(.astro-ctg3m53h):focus-visible{color:var(--text)}.actions:where(.astro-ctg3m53h){display:inline-flex;justify-content:flex-end;align-items:center;gap:var(--space-3)}.actions:where(.astro-ctg3m53h) .btn{display:none}@media(min-width:768px){.actions:where(.astro-ctg3m53h) .btn{display:inline-flex}}@media(min-width:1024px){.nav:where(.astro-ctg3m53h){display:inline-flex}}
