body.redesign-home .scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--primary),var(--accent));box-shadow:0 0 12px var(--primary);z-index:2000;transition:transform .08s linear;opacity:var(--fx-progress)}body.redesign-home .grid-bg{position:fixed;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.04) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 100% 90%at 50% 30%,#000 30%,transparent 95%);-webkit-mask-image:radial-gradient(ellipse 100% 90%at 50% 30%,#000 30%,transparent 95%)}[data-theme=light] body.redesign-home .grid-bg{background-image:linear-gradient(to right,rgba(15,23,42,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,23,42,.06) 1px,transparent 1px)}body.redesign-home .cursor-dot{display:none}@media (hover:hover) and (pointer:fine){body.redesign-home,body.redesign-home *,body.redesign-home ::after,body.redesign-home ::before{cursor:none!important}body.redesign-home .cursor-dot{display:block;position:fixed;top:0;left:0;width:10px;height:10px;border-radius:50%;background:#fff;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .18s ease,height .18s ease,background .25s ease,opacity .2s ease;mix-blend-mode:difference;will-change:transform}body.redesign-home .cursor-dot.is-hover{width:30px;height:30px;background:#fff}[data-theme=light] body.redesign-home .cursor-dot{background:#0f172a;mix-blend-mode:normal}[data-theme=light] body.redesign-home .cursor-dot.is-hover{background:#0f172a}}.theme-curtain{position:fixed;inset:0;z-index:10000;transform:scaleY(0);transform-origin:top;pointer-events:none;transition:transform var(--theme-curtain-dur) var(--theme-curtain-ease)}.theme-curtain[data-to=dark]{background:var(--theme-curtain-dark)}.theme-curtain[data-to=light]{background:var(--theme-curtain-light)}.theme-curtain.is-falling{transform:scaleY(1)}.theme-curtain.is-rising{transform:scaleY(0)}.theme-curtain.is-falling,.theme-curtain.is-rising{will-change:transform}.theme-curtain.is-falling+.theme-toggle,.theme-curtain.is-rising+.theme-toggle{z-index:10001}@media (prefers-reduced-motion:reduce){.theme-curtain{display:none}}.theme-toggle{position:fixed;bottom:24px;left:24px;z-index:1001;width:48px;height:48px;border-radius:50%;background:var(--nav-bg);border:1px solid var(--border-medium);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-main);box-shadow:var(--shadow-toggle);transition:background .5s,border-color .5s,transform .16s ease}.theme-toggle:hover{transform:scale(1.1)}.theme-toggle:active{transform:scale(.96)}.theme-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.theme-toggle svg{width:20px;height:20px}.theme-toggle .icon-sun,[data-theme=light] .theme-toggle .icon-moon{display:none}[data-theme=light] .theme-toggle .icon-sun{display:block}@media (max-width:768px){.theme-toggle{bottom:16px;left:16px;width:42px;height:42px}.theme-toggle svg{width:18px;height:18px}}html.js body.redesign-home .reveal{opacity:calc(.02 + (1 - var(--fx-reveals)));transform:translateY(calc(28px*var(--fx-reveals)*var(--fx-intensity)));filter:blur(calc(5px*var(--fx-reveals)*var(--fx-intensity)));transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s cubic-bezier(.2,.7,.2,1)}html.js body.redesign-home .reveal.in{opacity:1;transform:translateY(0);filter:blur(0)}html.js body.redesign-home .mask-reveal{clip-path:inset(calc(100%*var(--fx-mask)*var(--fx-intensity))0 0 0);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1)}html.js body.redesign-home .mask-reveal.in{clip-path:inset(0 0 0 0)}body.redesign-home .split{display:inline-block;overflow:hidden;vertical-align:top}html.js body.redesign-home .split .line{display:inline-block;transform:translateY(110%);opacity:0;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .6s ease;transition-delay:var(--d, 0ms)}html.js body.redesign-home .split.in .line{transform:translateY(0);opacity:1}@media (prefers-reduced-motion:reduce){body.redesign-home .mask-reveal,body.redesign-home .reveal,body.redesign-home .split .line{transition:none!important;animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}}