.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--font-sans:"PP Neue Montreal", "Helvetica Neue", Helvetica, Arial, sans-serif;--bg:#050505;--fg:#fff;--fg-soft:#ffffffd9;--panel:#262626;--panel-border:#ffffff1f;--scrim:#0505058c}html[data-theme=light]{--bg:#fff;--fg:#0a0a0a;--fg-soft:#0a0a0ac7;--panel:#f2f2f2;--panel-border:#0a0a0a1f;--scrim:#ffffff80}*,:before,:after{box-sizing:border-box}html{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-weight:400;transition:background-color .4s,color .4s;overflow-x:clip}::selection{background:var(--fg);color:var(--bg)}.site-logo{z-index:60;display:block;position:fixed;top:clamp(18px,3vh,32px);left:50%;transform:translate(-50%)}.site-logo img{width:auto;height:clamp(26px,3.4vh,38px);transition:opacity .3s,transform .45s cubic-bezier(.22,1,.36,1);display:block}.site-logo:hover img{opacity:.7;transform:scale(1.1)}body:has([data-preloader]) .site-logo{visibility:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-scrim{background:var(--scrim);-webkit-backdrop-filter:blur(14px);opacity:0;visibility:hidden;z-index:3;position:absolute;inset:0}.site-menu-wrap{z-index:4;position:absolute;bottom:clamp(18px,3.4vh,36px);left:50%;transform:translate(-50%)}.site-menu-btn{cursor:pointer;background:0 0;border:0;gap:7px;padding:10px;display:grid}.site-menu-btn__bar{background:var(--fg);width:30px;height:2px;transition:transform .3s;display:block}.site-menu-btn:hover .site-menu-btn__bar:first-child{transform:translateY(-2px)}.site-menu-btn:hover .site-menu-btn__bar:last-child{transform:translateY(2px)}.menu-pop{background:var(--panel);opacity:0;visibility:hidden;transform-origin:50% 100%;border-radius:16px;gap:22px;width:272px;margin-left:-136px;padding:24px 32px 30px;transition:background-color .4s;display:grid;position:absolute;bottom:calc(100% + 14px);left:50%;box-shadow:0 18px 50px #00000073}.menu-pop__theme{border-bottom:1px solid var(--panel-border);justify-content:center;align-items:center;gap:12px;padding-bottom:20px;display:flex}.theme-switch{border:1px solid var(--panel-border);cursor:pointer;background:0 0;border-radius:999px;flex:none;width:44px;height:24px;padding:0;transition:background-color .3s,border-color .3s;position:relative}.theme-switch__thumb{background:var(--fg);border-radius:50%;width:18px;height:18px;margin-top:-9px;transition:transform .35s cubic-bezier(.22,1,.36,1),background-color .3s;position:absolute;top:50%;left:2px}.theme-switch[aria-checked=true]{background:var(--fg);border-color:var(--fg)}.theme-switch[aria-checked=true] .theme-switch__thumb{background:var(--bg);transform:translate(20px)}.menu-pop__theme-label{letter-spacing:.14em;text-transform:uppercase;color:var(--fg-soft);font-size:.8rem;font-weight:500}.menu-pop__nav{justify-items:center;gap:18px;display:grid}.menu-pop__link{color:var(--fg-soft);letter-spacing:.02em;text-transform:uppercase;font-size:1.8rem;font-weight:500;line-height:1.25;text-decoration:none;transition:color .3s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);position:relative}.menu-pop__link:hover,.menu-pop__link:focus-visible{color:var(--fg);transform:scale(1.15)}.menu-pop__dot{background:var(--fg);opacity:0;border-radius:50%;width:8px;height:8px;margin-top:-4px;transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;right:calc(100% + 10px);transform:translate(-8px)scale(.4)}.menu-pop__link:hover .menu-pop__dot,.menu-pop__link:focus-visible .menu-pop__dot{opacity:1;transform:translate(0)scale(1)}@media (prefers-reduced-motion:reduce){.site-menu-btn__bar{transition:none}}
