:root{--font-main:"Barlow", "HarmonyOSSans", system-ui, -apple-system, sans-serif;--color-text:#111;--color-accent:#111;--transition-smooth:.3s cubic-bezier(.4, 0, .2, 1);--max-width:900px}*{box-sizing:border-box;margin:0;padding:0}html{width:100%;min-height:100%;overflow:hidden auto}#pjax{opacity:1;will-change:opacity;transition:opacity .25s cubic-bezier(.4,0,.2,1)}#pjax.pjax-loading{opacity:0}body{width:100%;color:var(--color-text);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;text-rendering:geometricprecision;background:#f4f4f4}a{color:inherit;text-decoration:none}.wrapper{z-index:1;min-height:100dvh;max-width:var(--max-width);flex-direction:column;margin:0 auto;padding:0 clamp(1.25rem,5vw,4rem);display:flex;position:relative}.center{flex-direction:column;flex:1;justify-content:center;display:flex}#canvas-container{z-index:0;pointer-events:none;opacity:0;transition:opacity .6s;position:fixed;inset:0}#canvas-container:after{content:"";z-index:1;pointer-events:none;transition:-webkit-backdrop-filter .6s,backdrop-filter .6s;position:absolute;inset:0}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){#canvas-container.is-scroll-blurred:after{backdrop-filter:blur(40px)}}#canvas-container.ready{opacity:1}@font-face{font-family:Barlow;src:url(../fonts/barlow/barlow-600.woff2?v=mu0q0rxo)format("woff2");font-weight:600;font-style:normal;font-display:block}@font-face{font-family:Barlow;src:url(../fonts/barlow/barlow-700.woff2?v=mu0q0rxo)format("woff2");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:HarmonyOSSans;src:url(../fonts/harmony/HarmonyOS_Sans_SC_Regular.woff2?v=mu0q0rxo)format("woff2");font-weight:100 500;font-style:normal;font-display:block}@font-face{font-family:HarmonyOSSans;src:url(../fonts/harmony/HarmonyOS_Sans_SC_Bold.woff2?v=mu0q0rxo)format("woff2");font-weight:600 900;font-style:normal;font-display:block}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}#canvas-container:after{transition:none!important}}@media (width<=768px){html,body{-webkit-overflow-scrolling:touch;width:100%;height:auto;position:relative;overflow-x:hidden!important}}.header{z-index:1000;background:0 0;justify-content:space-between;align-items:center;padding:1.5rem clamp(2rem,19vw,22rem) 1.5rem clamp(2rem,14vw,16rem);display:flex;position:fixed;top:0;left:0;right:0}.header:before{content:"";opacity:0;pointer-events:none;z-index:-1;background:linear-gradient(#f4f4f4 0%,#f4f4f4f2 50%,#f4f4f4b3 80%,#0000 100%);transition:opacity .3s;position:absolute;inset:0}.header.scrolled:before{opacity:1}.logo{z-index:1001;transition:opacity var(--transition-smooth);align-items:center;display:flex;position:relative;top:auto;left:auto}.logo-svg{width:auto;height:36px}.nav{z-index:100;align-items:center;gap:1.1rem;display:flex;position:relative;top:auto;right:auto}.footer{text-align:center;padding-bottom:calc(2rem + env(safe-area-inset-bottom));flex-shrink:0;margin-top:auto}.footer-social{justify-content:center;align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.footer-copyright{font-size:.875rem;font-weight:600}@media (width<=768px){.header{padding:1rem 1.25rem}.logo-svg{height:28px}.nav{gap:.9rem}.footer{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}}.nav-link{letter-spacing:-.03em;text-transform:uppercase;color:var(--color-text);transition:opacity var(--transition-smooth);user-select:none;justify-content:center;align-items:center;padding:.5rem 0;font-size:clamp(.85rem,2vw,1rem);font-weight:700;display:inline-flex;position:relative}.nav-link.active:after{content:"";background:var(--color-accent);opacity:1;border-radius:50%;width:4px;height:4px;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.footer-social-item{width:28px;height:28px;color:var(--color-text);transition:opacity var(--transition-smooth), transform var(--transition-smooth);justify-content:center;align-items:center;display:flex}.footer-social-item svg{fill:currentColor;width:100%;height:100%}@media (hover:hover){.footer-social-item:hover{opacity:.5}}.footer-social-item:active{transform:scale(.9)}@media (width<=768px){.nav-link{font-size:.95rem}}