:root{--bg:#060609;--bg-surface:#0c0c16;--bg-card:#12121f;--bg-elevated:#1a1a2c;--border:#22223a;--border-hover:#33334e;--text:#b4b4cc;--text-muted:#7d7d9e;--text-bright:#eeeef6;--cyan:#00e0ff;--purple:#a855f7;--rose:#fb7185;--lime:#a3e635;--amber:#fbbf24;--gradient:linear-gradient(135deg,var(--cyan),var(--purple),var(--rose));--font-display:"Ubuntu",sans-serif;--font-body:"Outfit",system-ui,sans-serif;--font-mono:"JetBrains Mono",monospace;--ease:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0,0,0.2,1);--radius:14px;--radius-sm:8px;--max-w:1100px;--nav-h:64px;--section-pad-y:130px;--selection-bg:rgba(168,85,247,.3);--nav-scrolled-bg:rgba(6,8,16,.22);--nav-backdrop-blur:blur(16px) saturate(1.18);--nav-glass-rim:inset 0 1px 0 hsla(0,0%,100%,.1);--card-shadow:rgba(0,0,0,.35);--pow-backdrop:rgba(5,5,8,.65);--pow-card-bg:rgba(10,10,18,.75);--grain-opacity:0.035;--glow-opacity:0.06;--blob-opacity:0.12;--grid-dot:hsla(0,0%,100%,.022);--label-gradient:rgba(5,5,8,.88);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}[data-theme=light]{--bg:#f5f5f7;--bg-surface:#eeeef2;--bg-card:#fff;--bg-elevated:#e8e8ee;--border:#d4d4dc;--border-hover:#b0b0c0;--text:#3c3c52;--text-muted:#6e6e86;--text-bright:#1a1a2e;--cyan:#0099b3;--purple:#7c3aed;--rose:#e11d48;--lime:#4d7c0f;--amber:#b45309;--selection-bg:rgba(124,58,237,.18);--nav-scrolled-bg:hsla(0,0%,100%,.28);--nav-backdrop-blur:blur(17px) saturate(1.12);--nav-glass-rim:inset 0 1px 0 hsla(0,0%,100%,.72);--card-shadow:rgba(0,0,0,.08);--pow-backdrop:rgba(245,245,247,.7);--pow-card-bg:hsla(0,0%,100%,.85);--grain-opacity:0.015;--glow-opacity:0;--blob-opacity:0.08;--grid-dot:rgba(0,0,0,.04);--label-gradient:rgba(245,245,247,.88)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 20px);scrollbar-color:var(--border-hover) var(--bg);scrollbar-width:thin;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.7;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:none}::selection{background:var(--selection-bg);color:var(--text-bright)}.theme-transitioning,.theme-transitioning *,.theme-transitioning :after,.theme-transitioning :before{transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease),fill .35s var(--ease),stroke .35s var(--ease)!important}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.cursor-glow{background:radial-gradient(circle,rgba(0,224,255,var(--glow-opacity)) 0,transparent 70%);border-radius:50%;height:600px;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:opacity .3s;width:600px;will-change:left,top;z-index:1}.cursor-glow.cursor-glow--muted{opacity:.015}.grain{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='4' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");background-size:256px;inset:0;opacity:var(--grain-opacity);pointer-events:none;position:fixed;z-index:9999}.container{margin:0 auto;max-width:var(--max-w);padding-left:max(28px,var(--safe-left));padding-right:max(28px,var(--safe-right))}.gradient-text{background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.section{padding:var(--section-pad-y) 0;position:relative}.section__title{align-items:center;color:var(--text-bright);display:flex;font-family:var(--font-display);font-size:clamp(1.1rem,2.5vw,1.35rem);font-weight:600;gap:16px;letter-spacing:2px;margin-bottom:56px;text-transform:uppercase}.section__title[id]{scroll-margin-top:calc(var(--nav-h) + 20px)}.section__title.section__title--hash-arrive>span:not(.section__number){font-family:var(--font-mono);font-weight:500;letter-spacing:.14em}.section__title.section__title--hash-arrive:after{animation:section-title-line-load .88s cubic-bezier(.22,1,.36,1) both;transform-origin:right center}@keyframes section-title-line-load{0%{opacity:0;transform:scaleX(0)}6%{opacity:0}8%{opacity:1}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.section__title.section__title--hash-arrive>span:not(.section__number){font-family:inherit;font-weight:inherit;letter-spacing:inherit}.section__title.section__title--hash-arrive:after{animation:none}}.section__number{color:var(--cyan);font-family:var(--font-mono);font-size:.8em;font-weight:400}.section__title:after{background:linear-gradient(90deg,var(--border),transparent 78%);content:"";flex:1;height:1px;max-width:min(420px,60vw);transform:scaleX(1) translateZ(0);transform-origin:right center}.nav{left:0;position:fixed;right:0;top:0;transition:background .4s var(--ease),box-shadow .4s var(--ease),backdrop-filter .4s var(--ease);z-index:100}.nav--scrolled,.nav.nav--menu-open{backdrop-filter:var(--nav-backdrop-blur);-webkit-backdrop-filter:var(--nav-backdrop-blur);background:var(--nav-scrolled-bg);box-shadow:var(--nav-glass-rim),0 1px 0 var(--border)}.nav__inner{height:64px;justify-content:space-between;margin:0 auto;max-width:var(--max-w);padding-left:max(28px,var(--safe-left));padding-right:max(28px,var(--safe-right));position:relative}.nav__actions,.nav__inner{align-items:center;display:flex}.nav__actions{flex-shrink:0;gap:10px}.nav__logo{align-items:center;color:var(--text-bright);display:inline-flex;font-family:var(--font-mono);font-size:.88rem;font-weight:500;gap:10px;letter-spacing:-.3px;transition:color .3s}.nav__avatar{border:1.5px solid var(--border-hover);border-radius:50%;height:28px;object-fit:cover;transition:border-color .3s;width:28px}.nav__logo:hover{color:var(--cyan)}.nav__logo:hover .nav__avatar{border-color:var(--cyan)}.nav__links{display:flex;gap:36px}.nav__link{color:var(--text-muted);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.8px;position:relative;transition:color .3s}.nav__link:hover{color:var(--text-bright)}.nav__link:after{background:var(--cyan);bottom:-4px;content:"";height:1px;left:0;position:absolute;transition:width .3s var(--ease);width:0}.nav__link:hover:after{width:100%}@media (min-width:769px){.nav__bar{display:contents}.nav__logo{order:1}.nav__links{order:2}.nav__actions{order:3}}.lang-switcher{position:relative}.lang-switcher__toggle{align-items:center;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:.75rem;gap:4px;line-height:1;padding:4px 8px;transition:color .3s,border-color .3s}.lang-switcher__toggle:hover{border-color:var(--border-hover);color:var(--text-bright)}.lang-switcher__toggle svg{transition:transform .2s}.lang-switcher__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.lang-switcher__dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.4);min-width:140px;padding:4px;position:absolute;right:0;top:calc(100% + 6px);z-index:100}.lang-switcher__dropdown[hidden]{display:none}.lang-switcher__item{border-radius:5px;display:flex;flex-direction:column;gap:1px;padding:6px 10px;text-decoration:none;transition:background .2s}.lang-switcher__item:hover{background:var(--bg-hover)}.lang-switcher__item--active{background:rgba(0,229,255,.08)}.lang-switcher__native{color:var(--text-bright);font-size:.8rem;line-height:1.3}.lang-switcher__label{color:var(--text-muted);font-size:.65rem;line-height:1.3}.lang-switcher--footer .lang-switcher__dropdown{bottom:calc(100% + 6px);right:0;top:auto}.nav__burger{background:none;border:none;cursor:pointer;display:none;height:16px;position:relative;width:22px}.nav__burger span,.nav__burger:after,.nav__burger:before{background:var(--text-muted);border-radius:1px;content:"";height:1.5px;left:0;position:absolute;transition:.35s var(--ease);width:100%}.nav__burger:before{top:0}.nav__burger span{top:50%;transform:translateY(-50%)}.nav__burger:after{bottom:0}.nav__burger--open:before{transform:translateY(7px) rotate(45deg)}.nav__burger--open span{opacity:0}.nav__burger--open:after{transform:translateY(-7px) rotate(-45deg)}.theme-toggle{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;width:34px;-webkit-tap-highlight-color:transparent;transition:color .3s,transform .45s cubic-bezier(.22,1,.36,1)}@media (hover:hover) and (pointer:fine){.theme-toggle:hover{color:var(--text-bright)}.theme-toggle:hover svg{transform:rotate(30deg)}}.theme-toggle:active{transform:scale(.93)}.theme-toggle:focus:not(:focus-visible){outline:none}.theme-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.theme-toggle svg{height:16px;transition:transform .45s cubic-bezier(.22,1,.36,1);width:16px}@keyframes theme-toggle-icon-nudge{0%{transform:rotate(0deg)}42%{transform:rotate(32deg)}to{transform:rotate(0deg)}}.theme-toggle.theme-toggle--icon-nudge svg{animation:theme-toggle-icon-nudge .52s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.theme-toggle.theme-toggle--icon-nudge svg{animation:none}}.theme-toggle__sun{display:none}.theme-toggle__moon,[data-theme=light] .theme-toggle__sun{display:block}[data-theme=light] .cursor-glow,[data-theme=light] .theme-toggle__moon{display:none}[data-theme=light] .grain{opacity:0}[data-theme=light] ::-webkit-scrollbar-track{background:var(--bg)}[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--border)}[data-theme=light] .pcard:hover .pcard__visual img{filter:brightness(.52) blur(1.8px)}[data-theme=light] .pcard:hover .pcard__ph{filter:brightness(.6) blur(1.5px)}[data-theme=light] .pcard__btn{background:color-mix(in srgb,#fff 78%,transparent);border-color:color-mix(in srgb,var(--border) 84%,transparent);color:var(--text-bright)}[data-theme=light] .pcard__btn:hover{background:color-mix(in srgb,#fff 90%,transparent);border-color:var(--border-hover)}[data-theme=light] .pcard__btn--live{color:#04202a}[data-theme=light] .bento__card--accent{background:linear-gradient(135deg,rgba(0,153,179,.06),rgba(124,58,237,.06))}[data-theme=light] .git-log__hash{background:rgba(180,83,9,.1)}[data-theme=light] .contact__donate-btn:hover{background:rgba(225,29,72,.06)}.hero{align-items:center;display:flex;justify-content:center;min-height:100dvh;overflow:clip;padding:100px 0 60px;position:relative}.hero__bg{inset:0;overflow:hidden;position:absolute}.hero__blob{animation:blob-morph 10s ease-in-out infinite;background:linear-gradient(135deg,var(--cyan),var(--purple),var(--rose));border-radius:60% 40% 30% 70%/60% 30% 70% 40%;filter:blur(80px);height:min(550px,80vw);left:50%;opacity:var(--blob-opacity);position:absolute;top:50%;transform:translate(-50%,-50%);width:min(550px,80vw)}@keyframes blob-morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;transform:translate(-50%,-50%) rotate(0deg)}33%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%;transform:translate(-50%,-50%) rotate(120deg)}66%{border-radius:50% 30% 50% 70%/40% 70% 30% 60%;transform:translate(-50%,-50%) rotate(240deg)}}.hero__grid-pattern{background-image:radial-gradient(circle,var(--grid-dot) 1px,transparent 1px);background-size:40px 40px;inset:0;mask-image:radial-gradient(ellipse 60% 55% at 50% 45%,#000,transparent);-webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 45%,#000,transparent);position:absolute}.hero__center{align-items:center;display:flex;flex-direction:column;gap:0;position:relative;text-align:center;z-index:2}.hero__canvas{aspect-ratio:2.2/1;cursor:default;display:block;max-width:850px;width:100%}.hero__info{align-items:center;display:flex;flex-direction:column;gap:12px;margin-top:-8px}.hero__alias{color:var(--text-muted);font-family:var(--font-mono);font-size:.85rem;letter-spacing:1px}.hero__alias-at{color:var(--cyan)}.hero__role{align-items:center;color:var(--text);display:flex;font-family:var(--font-mono);font-size:.85rem;gap:10px}.hero__dot{background:var(--border-hover);border-radius:50%;display:inline-block;height:4px;width:4px}.hero__tagline{color:var(--text-muted);font-size:1rem;line-height:1.6;max-width:440px}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:12px}.anim-up{animation:slide-up .9s var(--ease-out) var(--d,0s) forwards;transform:translateY(110%)}@keyframes slide-up{to{transform:translateY(0)}}.anim-fade{animation:fade-up .8s var(--ease-out) var(--d,0s) forwards;opacity:0;transform:translateY(18px)}@keyframes fade-up{to{opacity:1;transform:translateY(0)}}.anim-line{animation:line-draw .7s var(--ease-out) var(--d,0s) forwards;width:0}@keyframes line-draw{to{width:64px}}.hero__socials{align-items:center;display:none;gap:16px;margin-top:4px}.hero__social-link{color:var(--text-muted);display:flex;transition:color .3s,transform .3s}.hero__social-link:hover{color:var(--text-bright);transform:translateY(-2px)}.hero__social-link--donate{color:var(--amber)}.hero__social-link--donate:hover{color:var(--rose)}.hero__socials-sep{background:var(--border-hover);height:18px;width:1px}.sidebar{align-items:center;bottom:0;display:flex;flex-direction:column;gap:20px;position:fixed;z-index:50}.sidebar--left{left:28px}.sidebar--right{right:28px}.sidebar__icon{color:var(--text-muted);display:flex;transition:color .3s var(--ease),transform .3s var(--ease)}.sidebar__icon:hover{color:var(--cyan);transform:translateY(-3px)}.sidebar__icon--donate{color:var(--text-muted)}.sidebar__icon--donate:hover{color:var(--rose)}.sidebar__divider{background:var(--border-hover);border-radius:50%;height:3px;width:3px}.sidebar__line{background:var(--border);height:80px;width:1px}.sidebar__email{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:1px;transition:color .3s;writing-mode:vertical-rl}.sidebar__email:hover{color:var(--cyan)}@media (min-width:1201px) and (prefers-reduced-motion:no-preference){html.sidebar-entrance .sidebar__line{animation:sidebar-vline-in var(--sidebar-line-dur,.88s) cubic-bezier(.16,1,.32,1) both;transform-origin:bottom center}html.sidebar-entrance .sidebar--left .sidebar__divider,html.sidebar-entrance .sidebar--left .sidebar__icon{animation:sidebar-side-item-in .78s cubic-bezier(.16,1,.32,1) both;animation-delay:var(--sidebar-stagger-delay,0s)}html.sidebar-entrance .sidebar__email{animation:sidebar-email-reveal .85s cubic-bezier(.16,1,.32,1) both;animation-delay:var(--sidebar-stagger-delay,0s)}}@keyframes sidebar-vline-in{0%{opacity:0;transform:scaleY(0)}22%{opacity:1}to{opacity:1;transform:scaleY(1)}}@keyframes sidebar-side-item-in{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}@keyframes sidebar-email-reveal{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.btn{align-items:center;border:1px solid transparent;border-radius:999px;cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:.82rem;font-weight:500;gap:8px;letter-spacing:.3px;padding:13px 28px;transition:all .35s var(--ease)}.btn--primary{background:var(--text-bright);border-color:var(--text-bright);color:var(--bg)}.btn--primary:hover{background:transparent;box-shadow:0 0 30px var(--card-shadow);color:var(--text-bright)}.btn--primary svg{transition:transform .3s var(--ease)}.btn--primary:hover svg{transform:translateX(3px)}.btn--ghost{background:transparent;border-color:var(--border);color:var(--text-muted)}.btn--ghost:hover{border-color:var(--text-muted);color:var(--text-bright)}.pwa-sheet{align-items:flex-end;display:flex;inset:0;justify-content:center;pointer-events:none;position:fixed;z-index:10002}.pwa-sheet.is-visible{pointer-events:auto}.pwa-sheet__backdrop{background:rgba(0,0,0,.4);inset:0;opacity:0;position:absolute;transition:opacity .25s var(--ease)}.pwa-sheet.is-visible .pwa-sheet__backdrop{opacity:1}.pwa-sheet__panel{align-self:flex-end;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 40px rgba(0,0,0,.4);margin:0 auto calc(24px + var(--safe-bottom));max-width:440px;opacity:0;padding:20px 24px 24px;position:relative;transform:translateY(20px);transition:transform .3s var(--ease-out),opacity .25s var(--ease);width:100%}.pwa-sheet.is-visible .pwa-sheet__panel{opacity:1;transform:translateY(0)}.pwa-sheet__handle{background:var(--border);border-radius:2px;height:4px;margin:0 auto 18px;width:40px}.pwa-sheet__content{margin-bottom:18px}.pwa-sheet__title{color:var(--text-bright);font-family:var(--font-display);font-size:1rem;font-weight:600}.pwa-sheet__desc{color:var(--text-muted);font-size:.85rem;line-height:1.5;margin-top:5px}.pwa-sheet__actions{display:flex;gap:10px}.pwa-sheet__btn{border:1px solid var(--border);border-radius:12px;cursor:pointer;flex:1;font-size:.85rem;font-weight:500;padding:10px 16px;transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease),transform .12s var(--ease)}.pwa-sheet__btn:active{transform:scale(.97)}.pwa-sheet__btn--ghost{background:transparent;color:var(--text-muted)}.pwa-sheet__btn--primary{background:var(--cyan);border-color:transparent;color:#041019;font-weight:600}.pwa-sheet__btn--ghost:hover{border-color:var(--border-hover);color:var(--text-bright)}.pwa-sheet__btn--primary:hover{background:#33e5ff}@media (max-width:480px){.pwa-sheet__backdrop{display:none}.pwa-sheet__panel{align-self:end;border-bottom:none;border-left:none;border-radius:20px 20px 0 0;border-right:none;margin:0;max-height:none;max-width:none;overflow-y:visible;padding:12px 20px calc(16px + var(--safe-bottom));touch-action:pan-x;transition:transform .3s var(--ease-out),opacity .25s var(--ease)}.pwa-sheet__panel.is-dragging{transition:none}.pwa-sheet__handle{background:var(--border);border-radius:2px;cursor:grab;display:block;height:4px;margin:0 auto 12px;touch-action:none;width:36px}.pwa-sheet__content{margin-bottom:12px}.pwa-sheet__title{font-size:.88rem}.pwa-sheet__desc{font-size:.78rem}.pwa-sheet__btn{font-size:.82rem;padding:10px 14px}}.ticker{background:var(--bg-surface);border-bottom:1px solid var(--border);border-top:1px solid var(--border);overflow:hidden;padding:18px 0;position:relative;transition:background .35s var(--ease),border-color .35s var(--ease);white-space:nowrap}.ticker:after,.ticker:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:100px;z-index:2}.ticker:before{background:linear-gradient(90deg,var(--bg-surface),transparent);left:0}.ticker:after{background:linear-gradient(270deg,var(--bg-surface),transparent);right:0}.ticker__track{animation:ticker-scroll 40s linear infinite;display:inline-flex;gap:0}.ticker__item{align-items:center;color:var(--text-muted);display:inline-flex;font-family:var(--font-mono);font-size:.78rem;gap:7px;letter-spacing:1px;padding:0 12px;text-transform:uppercase}.ticker__item i{color:var(--text-muted);font-size:1.15em;opacity:.7}.ticker__sep{color:var(--border-hover);font-size:.6rem;line-height:1.7rem;padding:0 4px}@keyframes ticker-scroll{0%{transform:translateX(0)}to{transform:translateX(-33.333%)}}.bento{display:grid;gap:14px;grid-auto-rows:min-content;grid-template-columns:repeat(4,1fr)}.bento__card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:6px;padding:20px 22px;transition:border-color .35s var(--ease),transform .35s var(--ease),background .35s var(--ease)}.bento__card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.bento__card--wide{grid-column:span 2;padding:24px}.bento__card--accent{background:linear-gradient(135deg,rgba(0,224,255,.04),rgba(168,85,247,.04))}.bento__card--quote{background:var(--bg-surface);border-style:dashed;cursor:pointer;grid-column:span 2;justify-content:center}.bento__card--quote:hover{border-color:var(--cyan)}@keyframes cardFlipOut{0%{transform:perspective(600px) rotateY(0)}to{transform:perspective(600px) rotateY(90deg)}}@keyframes cardFlipIn{0%{transform:perspective(600px) rotateY(-90deg)}to{transform:perspective(600px) rotateY(0)}}.bento__card--quote.flipping-out{animation:cardFlipOut .25s ease-in forwards}.bento__card--quote.flipping-in{animation:cardFlipIn .25s ease-out forwards}.bento__bio{color:var(--text);font-size:.95rem;line-height:1.75}.bento__bio--muted{color:var(--text-muted);font-size:.9rem}.bento__label{color:var(--text-muted);font-family:var(--font-mono);font-size:.7rem;letter-spacing:1.5px;text-transform:uppercase}.bento__value{color:var(--text-bright);font-family:var(--font-display);font-size:1.05rem;font-weight:600}.bento__value--glow{color:var(--lime)}.bento__quote{color:var(--text-bright);font-family:var(--font-display);font-size:.95rem;font-style:italic;font-weight:600;line-height:1.55;word-wrap:break-word;overflow-wrap:break-word}.bento__quote-author{font-size:.72rem}.bento__quote-author,.journey__subtitle{color:var(--text-muted);font-family:var(--font-mono)}.journey__subtitle{font-size:.82rem;margin-bottom:48px;margin-top:-32px}.journey__subtitle .code-muted{color:var(--cyan)}.git-log{display:flex;flex-direction:column;position:relative}.git-log__spine{background:var(--border-hover);border-radius:999px;bottom:0;left:50%;opacity:.75;pointer-events:none;position:absolute;top:0;transform:translateX(-50%) scaleY(0);transform-origin:top center;transition:left .7s var(--ease-out);width:2px;will-change:transform,left;z-index:0}@media (min-width:769px){.git-log--intro .git-log__spine{left:14px;transform:translateX(-50%) scaleY(0);transform-origin:top center}.git-log--intro .git-log__entry{column-gap:16px;grid-template-columns:28px 1fr}.git-log--intro .git-log__line{grid-column:1;width:28px}.git-log--intro .git-log__entry--left .git-log__content,.git-log--intro .git-log__entry--right .git-log__content{grid-column:2;justify-self:start;margin-inline:0;max-width:min(100%,560px);text-align:left}.git-log--intro .git-log__entry--left .git-log__meta{flex-direction:row;justify-content:flex-start}.git-log--intro .git-log__entry--right .git-log__meta{padding-top:22px}.git-log--intro .git-log__entry--left .git-log__year--rail,.git-log--intro .git-log__entry--right .git-log__year--rail{left:100%;margin-left:var(--git-year-inset);margin-right:0;right:auto;text-align:left}}.git-log__entry{--git-side-gap:18px;--git-year-inset:12px;align-items:start;column-gap:var(--git-side-gap);display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);position:relative}.git-log__line{align-items:center;display:flex;flex-direction:column;flex-shrink:0;grid-column:2;padding-top:0;position:relative;width:28px;z-index:1}.git-log__dot{background:var(--bg-card);border:2px solid var(--border-hover);border-radius:50%;flex-shrink:0;height:12px;transform:scale(0);transition:border-color .3s,background .3s,box-shadow .3s;width:12px;z-index:2}.git-log__dot.active{transform:scale(1);transition:transform .4s cubic-bezier(.34,1.56,.64,1),border-color .3s,background .3s,box-shadow .3s}.git-log__entry:hover .git-log__dot{border-color:var(--cyan);box-shadow:0 0 10px rgba(0,224,255,.25)}.git-log__dot--head{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 12px rgba(0,224,255,.4)}.git-log__content{grid-column:3;opacity:0;padding-bottom:40px;position:relative;transform:translateY(16px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);z-index:1}.git-log__content.active{opacity:1;transform:translateY(0)}.git-log__entry--left .git-log__content{grid-column:1;justify-self:end;margin-inline-end:calc(var(--git-year-inset) - var(--git-side-gap));max-width:min(100%,520px);text-align:right;width:fit-content}.git-log__entry--right .git-log__content{grid-column:3;justify-self:start;margin-inline-start:calc(var(--git-year-inset) - var(--git-side-gap));max-width:min(100%,520px);text-align:left;width:fit-content}.git-log__entry:last-child .git-log__content{padding-bottom:0}.git-log__meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding-top:22px}.git-log__hash{background:rgba(251,191,36,.08);border-radius:4px;color:var(--amber);font-family:var(--font-mono);font-size:.78rem;padding:2px 8px}.git-log__branch{color:var(--purple);font-family:var(--font-mono);font-size:.72rem}.git-log__kind{border:1px solid var(--border-hover);border-radius:999px;color:var(--cyan);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;padding:2px 7px;text-transform:uppercase}.git-log__year{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem}.git-log__year--rail{color:var(--text-muted);font-size:.68rem;letter-spacing:.06em;line-height:1;pointer-events:none;position:absolute;top:6px;transform:translateY(-50%);white-space:nowrap;z-index:3}.git-log__entry--left .git-log__year--rail{left:auto;margin-right:var(--git-year-inset);right:100%;text-align:right}.git-log__entry--right .git-log__year--rail{left:100%;margin-left:var(--git-year-inset);right:auto;text-align:left}.git-log__entry--left .git-log__meta{flex-direction:row-reverse;justify-content:flex-start}.git-log__entry--right .git-log__meta{padding-top:36px}.git-log__title{color:var(--text-bright);font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin-bottom:8px;margin-top:0}.git-log__desc{color:var(--text-muted);font-size:.9rem;line-height:1.6;max-width:520px}.services__lede{color:var(--text-muted);font-family:var(--font-mono);font-size:.84rem;line-height:1.5;margin:-8px 0 36px;max-width:40rem}.services__lede .hl{color:var(--cyan)}.svc__grid{align-items:stretch;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.svc__gallery{margin:0;position:relative}.svc__gallery:after,.svc__gallery:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:34px;z-index:4}.svc__gallery:before{background:linear-gradient(90deg,var(--bg) 0,color-mix(in srgb,var(--bg) 65%,transparent) 55%,transparent 100%);left:0}.svc__gallery:after{background:linear-gradient(270deg,var(--bg) 0,color-mix(in srgb,var(--bg) 65%,transparent) 55%,transparent 100%);right:0}.svc__hint{filter:saturate(1.05);opacity:0;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:opacity .28s var(--ease),transform .28s var(--ease),filter .28s var(--ease);z-index:10}.svc__hint.is-visible{opacity:1}.svc__hint-chevron{animation:svcHintNudge 1.6s ease-in-out infinite;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg-card) 92%,transparent);border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:999px;box-shadow:0 14px 34px rgba(0,0,0,.35);color:var(--text-bright);display:grid;font-size:1rem;height:34px;line-height:1;place-items:center;position:relative;width:34px}@keyframes svcHintNudge{0%,to{transform:translateX(0)}50%{transform:translateX(6px)}}.svc__hint-icon{display:block}.svc__gallery-viewport{border-radius:18px;container-name:svc-gal;container-type:inline-size;margin:0;overflow-x:auto;overflow-y:hidden;padding:14px 6px 30px;scroll-behavior:smooth;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}@media (hover:none) and (pointer:coarse){.svc.reveal--visible:hover{transform:none}.svc:hover{border-color:var(--border);box-shadow:none}}@media (max-width:768px){.svc.reveal--visible:hover{transform:none}.svc:hover{box-shadow:none}}.svc__gallery-viewport::-webkit-scrollbar{display:none;height:0;width:0}.svc__gallery-viewport:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.svc__gallery-track{--svc-gap:16px;align-items:stretch;display:grid;gap:var(--svc-gap);grid-auto-columns:clamp(265px,calc(31.74603cqi - var(--svc-gap)*2/3.15),330px);grid-auto-flow:column;width:max-content}.svc__gallery-track .svc{min-width:0;scroll-snap-align:start}.svc__gallery-track .svc.reveal--visible:hover{z-index:2}@container svc-gal (max-width: 900px){.svc__gallery-track{grid-auto-columns:clamp(250px,calc((100cqi - var(--svc-gap))/2.15),340px)}}@container svc-gal (max-width: 520px){.svc__gallery-track{grid-auto-columns:calc(100cqi - 44px)}}.svc{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);position:relative;transition:opacity .68s cubic-bezier(.16,1,.3,1),transform .68s cubic-bezier(.16,1,.3,1),box-shadow .45s var(--ease),border-color .45s var(--ease),background .4s var(--ease)}.svc.reveal{transform:translateY(26px);transition-delay:calc(var(--i)*.14s)}.svc.reveal.reveal--visible{transform:translateY(0)}.svc:hover{border-color:var(--border-hover);box-shadow:0 16px 40px var(--card-shadow)}.svc__gallery .svc:hover{box-shadow:0 10px 24px var(--card-shadow)}[data-theme=light] .svc__gallery .svc:hover{border-color:var(--border-hover);box-shadow:0 6px 14px rgba(0,0,0,.06)}.svc.reveal--visible:hover{transform:translateY(-6px)}.svc__content{display:flex;flex-direction:column;gap:14px;height:100%;padding:28px 24px}.svc__cmd{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:.72rem;gap:8px;min-width:0;overflow:hidden;padding:8px 12px}.svc__prompt{color:var(--cyan);flex-shrink:0}.svc__cmd-scroll{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x}.svc__cmd-scroll::-webkit-scrollbar{display:none;height:0;width:0}.svc__typing{display:inline-block;max-width:0;overflow:hidden;transition:none;vertical-align:bottom;white-space:nowrap}.svc:hover .svc__typing{animation-delay:.08s;animation-duration:clamp(.5s,calc(var(--cmd-chars, 16)*38ms),2.6s);animation-fill-mode:forwards;animation-name:typeCmd;animation-timing-function:steps(var(--cmd-chars,16))}@keyframes typeCmd{0%{max-width:0}to{max-width:calc(var(--cmd-chars, 16)*1ch)}}@media (prefers-reduced-motion:reduce){.svc.reveal,.svc.reveal.reveal--visible{transform:none;transition-delay:0s}.svc:hover .svc__typing{animation:none;max-width:none}}.svc__title{color:var(--text-bright);font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.3px}.svc__desc{color:var(--text-muted);flex:1;font-size:.84rem;line-height:1.6}.svc__tools{border-top:1px solid var(--border);display:flex;gap:10px;margin-top:auto;padding-top:14px}.svc__tools i{color:var(--text-muted);font-size:1.2rem;transition:color .3s var(--ease),transform .3s var(--ease)}.svc:hover .svc__tools i{color:var(--text)}.svc__tools i:hover{color:var(--cyan);transform:scale(1.2)}.projects__grid{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.pcard{--pcard-radius:16px;aspect-ratio:16/9;border-radius:var(--pcard-radius);cursor:pointer;isolation:isolate;overflow:hidden;position:relative;transform-style:preserve-3d;transition:box-shadow .42s var(--ease),border-color .35s var(--ease)}.pcard:hover{box-shadow:0 16px 36px var(--card-shadow),0 0 0 1px var(--border-hover);transform:translateY(-6px)}.pcard__visual{backface-visibility:hidden;background:var(--bg-surface);border-radius:inherit;inset:0;overflow:hidden;position:absolute;transform:translateZ(0);z-index:1}.pcard__visual img{height:100%;object-fit:cover;transition:transform .62s cubic-bezier(.22,1,.36,1),filter .45s var(--ease),opacity .6s ease;width:100%}.pcard__img{filter:blur(12px) saturate(1.2);opacity:0;transform:scale(1.06)}.pcard__img.is-loaded{filter:blur(0) saturate(1);opacity:1;transform:scale(1)}.pcard:hover .pcard__visual img:not(.is-loaded){filter:blur(14px) saturate(1.2) brightness(.4);transform:scale(1.06)}.pcard:hover .pcard__visual img.is-loaded{filter:brightness(.4) blur(2.2px);transform:scale(1.045)}.pcard__ph{align-items:center;background:linear-gradient(135deg,var(--bg-surface) 0,var(--bg-elevated) 100%);color:var(--text-muted);display:flex;font-family:var(--font-display);font-size:1.4rem;font-weight:700;height:100%;justify-content:center;letter-spacing:-.5px;transition:filter .4s var(--ease);width:100%}.pcard:hover .pcard__ph{filter:brightness(.45) blur(2px)}.pcard__label{align-items:center;background:linear-gradient(0deg,rgba(0,0,0,.72) 0,rgba(0,0,0,.35) 60%,transparent);border-bottom-left-radius:var(--pcard-radius);border-bottom-right-radius:var(--pcard-radius);bottom:0;display:flex;gap:10px;left:0;padding:20px 20px 16px;position:absolute;right:0;transition:opacity .3s var(--ease);z-index:3}.pcard:hover .pcard__label{opacity:0}.pcard__num{color:hsla(0,0%,100%,.6);font-family:var(--font-mono);font-size:.72rem;font-weight:300;text-shadow:0 1px 3px rgba(0,0,0,.5)}.pcard__name{color:#fff;font-family:var(--font-display);font-size:1rem;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.5)}.pcard__overlay{backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);background:linear-gradient(0deg,rgba(0,0,0,.55) 0,rgba(0,0,0,.15) 50%,transparent);border-radius:inherit;clip-path:inset(0 round var(--pcard-radius));display:flex;flex-direction:column;inset:0;justify-content:flex-end;opacity:0;overflow:hidden;padding:24px;pointer-events:none;position:absolute;transition:opacity .38s var(--ease),backdrop-filter .38s var(--ease);z-index:4}.pcard:hover .pcard__overlay{backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);opacity:1;pointer-events:auto}.pcard__title{color:#fff;font-family:var(--font-display);font-size:1.2rem;font-weight:700;margin-bottom:6px;text-shadow:0 1px 6px rgba(0,0,0,.5);transform:translateY(12px);transition:transform .4s var(--ease-out)}.pcard:hover .pcard__title{transform:translateY(0)}.pcard__desc{color:hsla(0,0%,100%,.85);font-size:.82rem;line-height:1.55;margin-bottom:12px;text-shadow:0 1px 4px rgba(0,0,0,.4);transform:translateY(12px);transition:transform .4s .04s var(--ease-out)}.pcard:hover .pcard__desc{transform:translateY(0)}.pcard__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;transform:translateY(12px);transition:transform .4s .08s var(--ease-out)}.pcard:hover .pcard__tags{transform:translateY(0)}.pcard__tags span{backdrop-filter:blur(4px);background:rgba(168,85,247,.35);border-radius:20px;color:hsla(0,0%,100%,.9);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.4px;padding:3px 10px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.pcard__actions{display:flex;gap:8px;opacity:.94;transform:translateY(12px);transition:transform .42s .12s var(--ease-out),opacity .35s var(--ease)}.pcard:hover .pcard__actions{opacity:1;transform:translateY(0)}.pcard__btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:color-mix(in srgb,hsla(0,0%,100%,.16) 80%,transparent);border:1px solid hsla(0,0%,100%,.22);border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.18);color:hsla(0,0%,100%,.95);display:inline-flex;font-family:var(--font-body);font-size:.76rem;font-weight:600;gap:6px;justify-content:center;letter-spacing:.01em;min-height:34px;padding:7px 14px;transition:transform .24s var(--ease),background .24s var(--ease),border-color .24s var(--ease),color .24s var(--ease),box-shadow .24s var(--ease)}.pcard__btn:hover{background:hsla(0,0%,100%,.23);border-color:hsla(0,0%,100%,.38);box-shadow:0 5px 14px rgba(0,0,0,.22);transform:translateY(-1px)}.pcard__btn:focus-visible{outline:2px solid hsla(0,0%,100%,.7);outline-offset:2px}.pcard__btn--live{background:linear-gradient(135deg,color-mix(in srgb,var(--cyan) 90%,#fff) 0,color-mix(in srgb,var(--cyan) 72%,#53d9ff) 100%);border-color:transparent;box-shadow:0 6px 16px color-mix(in srgb,var(--cyan) 28%,transparent);color:#021a21}.pcard__btn--live:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--cyan) 96%,#fff) 0,color-mix(in srgb,var(--cyan) 78%,#53d9ff) 100%);border-color:transparent;box-shadow:0 8px 18px color-mix(in srgb,var(--cyan) 38%,transparent)}.contact__layout{align-items:start;display:grid;gap:48px;grid-template-columns:1.1fr .9fr}.contact__form{display:flex;flex-direction:column;gap:20px}.contact__form-heading{color:var(--text-bright);font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:4px}.form__group{display:flex;flex-direction:column;gap:6px}.contact__captcha{margin-top:-2px}.contact__captcha[hidden]{display:none}.form__label{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase}.form__input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-bright);font-family:var(--font-body);font-size:.92rem;outline:none;padding:14px 16px;transition:border-color .3s var(--ease),box-shadow .3s var(--ease),background .35s var(--ease),color .35s var(--ease);width:100%}.form__input::placeholder{color:var(--text-muted);opacity:.6}.form__input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,224,255,.08)}.contact__form.was-validated .form__input:invalid{border-color:var(--rose);box-shadow:0 0 0 3px color-mix(in srgb,var(--rose) 18%,transparent);color:var(--rose)}.contact__form.was-validated .form__input:invalid::placeholder{color:color-mix(in srgb,var(--rose) 70%,var(--text-muted));opacity:.9}.form__textarea{min-height:120px;resize:vertical}.form__trap{height:1px!important;left:-10000px!important;overflow:hidden!important;position:absolute!important;width:1px!important}.contact__status{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;min-height:1.1em}.contact__status--ok{color:var(--lime)}.contact__status--err{color:var(--rose)}.btn--full{justify-content:center;margin-top:4px;width:100%}.contact__info{display:flex;flex-direction:column;gap:28px}.contact__info-text{color:var(--text-muted);font-size:.95rem;line-height:1.7}.contact__emails{display:flex;flex-direction:column;gap:10px}.contact__email-link{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:3px;padding:14px 16px;transition:border-color .3s}.contact__email-link:hover{border-color:var(--cyan)}.contact__email-label{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase}.contact__email-addr{color:var(--text);font-family:var(--font-mono);font-size:.82rem;word-break:break-all}.contact__socials{display:flex;flex-direction:column;gap:12px}.contact__socials-label{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase}.contact__socials-row{display:flex;flex-wrap:wrap;gap:12px}.contact__social-icon{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);display:flex;padding:10px;transition:all .3s var(--ease)}.contact__social-icon:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}.contact__donate{display:flex;flex-direction:column;gap:12px}.contact__donate-label{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase}.contact__donate-links{display:flex;flex-wrap:wrap;gap:10px}.contact__donate-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);display:inline-flex;font-family:var(--font-mono);font-size:.78rem;gap:8px;padding:10px 18px;transition:all .3s var(--ease)}.contact__donate-btn:hover{background:rgba(251,113,133,.06);border-color:var(--rose);color:var(--rose);transform:translateY(-2px)}.footer{border-top:1px solid var(--border);padding:32px 0 28px;transition:border-color .35s var(--ease),background .35s var(--ease)}.footer__grid{align-items:start;display:grid;gap:24px 48px;grid-template-columns:260px 1fr auto}.footer__brand{display:flex;flex-direction:column;gap:4px}.footer__name{color:var(--text-bright);font-family:var(--font-display);font-size:.88rem;font-weight:600;letter-spacing:-.2px}.footer__desc{color:var(--text-muted);font-size:.75rem;line-height:1.45;max-width:260px}.footer__copy{color:var(--text-muted);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.3px;margin-top:2px}.footer__icons{align-items:center;display:flex;gap:4px;margin-top:10px}.footer__icon-link{align-items:center;border-radius:5px;color:var(--text-muted);display:inline-flex;height:28px;justify-content:center;transition:color .2s,background .2s;width:28px}.footer__icon-link:hover{background:rgba(0,224,255,.06);color:var(--cyan)}.footer__icon-link svg{display:block}.footer__icon-sep{background:var(--border);flex-shrink:0;height:14px;margin:0 6px;width:1px}.footer__col{display:flex;flex-direction:column;gap:0}.footer__col-label{color:var(--text-bright);font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.8px;margin-bottom:4px;text-transform:uppercase}.footer__link{align-items:center;color:var(--text-muted);display:flex;font-size:.82rem;line-height:1.55;padding:6px 0;text-decoration:none;transition:color .2s}.footer__link:hover{color:var(--cyan)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal--visible{opacity:1;transform:translateY(0)}.reveal--delay-1{transition-delay:.1s}.reveal--delay-2{transition-delay:.2s}.reveal--delay-3{transition-delay:.3s}.pcard.reveal{--pcard-reveal-ease:cubic-bezier(0.22,1,0.36,1);transition:opacity 1.15s var(--pcard-reveal-ease),transform 1.15s var(--pcard-reveal-ease);transition-delay:calc(var(--i)*.15s)}.pcard.reveal.reveal--visible.pcard--tilt-ready{transition:opacity 1.15s var(--pcard-reveal-ease),transform .42s cubic-bezier(.22,1,.36,1),box-shadow .48s var(--ease),border-color .4s var(--ease)}.section__title .section__number{display:inline-block;transition:transform .6s var(--ease-out)}.reveal--visible .section__number{transform:translateX(0)}@media (max-width:1200px){.sidebar{display:none}.hero__socials{display:flex}}@media (max-width:900px){.bento{grid-template-columns:repeat(2,1fr)}.bento__card--quote,.bento__card--wide{grid-column:span 2}}@media (max-width:768px){.section{padding:90px 0}.nav__burger{display:block}.nav__bar>.nav__actions>.lang-switcher{display:none}.nav__inner{align-items:stretch;flex-direction:column;height:auto;min-height:64px}.nav__bar{align-items:center;display:flex;flex-shrink:0;height:64px;justify-content:space-between}.nav__links{background:transparent;border-bottom:1px solid transparent;display:flex;flex-direction:column;gap:20px;margin:0;max-height:0;overflow:hidden;padding:0;pointer-events:none;position:static;transition:max-height .5s cubic-bezier(.2,1,.36,1),padding .5s cubic-bezier(.2,1,.36,1),visibility 0s linear .5s,border-bottom-color .35s ease;visibility:hidden;width:100%}.nav__links.nav__links--open{border-bottom-color:var(--border);max-height:min(72vh,420px);padding:10px 0 22px;pointer-events:auto;transition-delay:0s,0s,0s,0s;visibility:visible}.nav__links .nav__link{font-size:.9rem}@media (prefers-reduced-motion:reduce){.nav__links,.nav__links.nav__links--open{transition-delay:0s!important;transition-duration:.01ms!important}}.bento{grid-template-columns:1fr}.bento__card--quote,.bento__card--wide{grid-column:span 1}.projects__grid,.svc__grid{grid-template-columns:1fr}.pcard{aspect-ratio:16/10}.git-log__spine{left:10px;transform:translateX(-50%) scaleY(0);transform-origin:top center}.git-log__entry{column-gap:8px;grid-template-columns:20px 1fr}.git-log__line{grid-column:1;width:20px}.git-log__content,.git-log__entry--left .git-log__content,.git-log__entry--right .git-log__content{grid-column:2;text-align:left}.git-log__entry--left .git-log__meta,.git-log__entry--right .git-log__meta{justify-content:flex-start}.git-log__entry--left .git-log__meta{flex-direction:row}.git-log__entry--left .git-log__year--rail,.git-log__entry--right .git-log__year--rail{left:100%;margin-left:8px;margin-right:0;right:auto;text-align:left}.git-log__entry--left .git-log__content{justify-self:start;max-width:none;width:auto}.git-log__entry--left .git-log__content,.git-log__entry--right .git-log__content{margin-inline:0}.contact__layout{gap:40px;grid-template-columns:1fr}.footer__grid{gap:24px 36px;grid-template-columns:1fr auto}.footer__brand{align-items:flex-start;grid-column:1/-1}.footer__icons{margin-top:8px}.lang-switcher--footer .lang-switcher__dropdown{left:50%;right:auto;transform:translateX(-50%)}.cursor-glow{display:none}}@media (max-width:480px){.container{padding:0 18px}.hero__actions{flex-direction:column;width:100%}.hero__actions .btn{justify-content:center;width:100%}.footer__grid{gap:20px;grid-template-columns:1fr}.footer__icons{flex-wrap:wrap}.lang-switcher--footer .lang-switcher__dropdown{left:0;min-width:0;right:0;transform:none;width:100%}}.error-page{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:120px 28px 80px;position:relative}.error-page__bg{inset:0;pointer-events:none;position:absolute}.error-page__blob{animation:blob-morph 10s ease-in-out infinite;background:linear-gradient(135deg,var(--cyan),var(--purple),var(--rose));border-radius:60% 40% 30% 70%/60% 30% 70% 40%;filter:blur(90px);height:min(400px,70vw);left:50%;opacity:var(--blob-opacity);position:absolute;top:40%;transform:translate(-50%,-50%);width:min(400px,70vw)}.error-page__content{align-items:center;display:flex;flex-direction:column;gap:0;position:relative;text-align:center;z-index:2}.error-page__code{color:var(--text-bright);font-family:var(--font-mono);font-size:clamp(5rem,18vw,12rem);font-weight:500;letter-spacing:.06em;line-height:1;margin-bottom:12px;position:relative}.error-page__code:after,.error-page__code:before{content:attr(data-text);inset:0;position:absolute}.error-page__code:before{animation:glitch404Top 3s linear infinite alternate-reverse;clip-path:inset(0 0 65% 0);color:var(--cyan)}.error-page__code:after{animation:glitch404Bot 2.5s linear infinite alternate-reverse;clip-path:inset(60% 0 0 0);color:var(--rose)}@keyframes glitch404Top{0%{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,1px)}80%{transform:translate(2px,-1px)}to{transform:translate(0)}}@keyframes glitch404Bot{0%{transform:translate(0)}25%{transform:translate(1px,1px)}50%{transform:translate(-2px,-1px)}75%{transform:translate(1px,1px)}to{transform:translate(0)}}.error-page__title{color:var(--text-bright);font-family:var(--font-display);font-size:clamp(1.2rem,3vw,1.6rem);font-weight:600;margin-bottom:10px}.error-page__desc{color:var(--text-muted);font-family:var(--font-mono);font-size:clamp(.78rem,1.5vw,.9rem);line-height:1.6;margin-bottom:28px;max-width:440px}.error-page__prompt{color:var(--cyan);font-weight:500}.error-page__actions{display:flex;gap:12px;margin-bottom:40px}.error-page__hint{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;opacity:.6}.error-page__code-val{color:var(--rose);font-weight:500}.error-page__terminal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:6px;margin-bottom:28px;max-width:440px;padding:16px 20px;text-align:left;width:100%}.error-page__term-line{animation:termFadeIn .3s var(--ease) forwards;color:var(--text-muted);font-family:var(--font-mono);font-size:.78rem;opacity:0}.error-page__term-line--delay1{animation-delay:.8s}.error-page__term-line--delay2{animation-delay:1.5s}@keyframes termFadeIn{to{opacity:1}}.error-page__cursor{animation:cursorBlink .8s step-end infinite;color:var(--cyan)}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.error-page__trap-link{border-bottom:1px dashed var(--cyan);color:var(--cyan);padding-bottom:1px;transition:color .3s,border-color .3s}.error-page__trap-link:hover{border-color:var(--rose);color:var(--rose)}@media (max-width:480px){.error-page__actions{flex-direction:column;width:100%}.error-page__actions .btn{justify-content:center;width:100%}}.pow{align-items:center;display:flex;inset:0;justify-content:center;opacity:1;padding:1.5rem;position:fixed;transition:opacity .5s var(--ease),visibility .5s;z-index:10000}.pow--hidden{opacity:0;pointer-events:none;visibility:hidden}.pow__backdrop{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--pow-backdrop);inset:0;position:absolute}.pow__card{backdrop-filter:blur(18px);background:var(--pow-card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 80px var(--card-shadow);max-width:420px;overflow:hidden;padding:1.8rem 1.6rem 1.5rem;position:relative;width:100%}.pow__scan{animation:powScan 2.2s ease-in-out infinite;background:linear-gradient(90deg,transparent,rgba(0,224,255,.08),rgba(168,85,247,.06),transparent);inset:0;pointer-events:none;position:absolute}@keyframes powScan{0%{opacity:0;transform:translateX(-60%)}10%{opacity:.6}50%{opacity:.8}90%{opacity:.6}to{opacity:0;transform:translateX(60%)}}.pow__header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.pow__icon-wrap{flex-shrink:0;height:48px;position:relative;width:48px}.pow__icon-glow{background:linear-gradient(135deg,rgba(0,224,255,.35),rgba(168,85,247,.25),rgba(251,113,133,.3));filter:blur(10px);opacity:.6}.pow__icon-glow,.pow__icon-orbit{border-radius:12px;inset:0;position:absolute}.pow__icon-orbit{animation:powOrbit 2.6s linear infinite;background:var(--bg-card);border:1px solid var(--border)}@keyframes powOrbit{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pow__icon{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;color:var(--cyan);display:flex;height:48px;justify-content:center;position:relative;width:48px}.pow__label{color:var(--text-muted);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.pow__title{color:var(--text-bright);font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:-.01em}.pow__desc{color:rgba(180,180,204,.75);font-size:.875rem;line-height:1.5;margin-bottom:1.2rem}.pow__bar{background:var(--bg-surface);border:1px solid var(--border);border-radius:99px;height:6px;margin-bottom:1rem;overflow:hidden}.pow__bar-fill{animation:powGradient 1.6s ease infinite;background:linear-gradient(90deg,var(--cyan),var(--purple),var(--rose));background-size:200% 200%;border-radius:99px;height:100%;width:0}@keyframes powGradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.pow__status{font-size:.78rem}.pow__ip,.pow__status{color:var(--text-muted);font-family:var(--font-mono)}.pow__ip{font-size:.68rem;letter-spacing:.02em;margin-top:.6rem}@media (prefers-reduced-motion:reduce){.pow__bar-fill,.pow__icon-orbit,.pow__scan{animation:none!important}}.ad-banner iframe{height:auto;max-width:100%}.ad-banner{display:none}@media (max-width:768px){.ad-banner--mobile{display:block}}@media (min-width:769px) and (max-width:1199px){.ad-banner--leaderboard{display:block}}@media (min-width:1200px){.ad-banner--skyscraper{display:block}}.fab{align-items:center;background:transparent;border:none;border-radius:50%;bottom:32px;cursor:pointer;display:flex;height:44px;justify-content:center;opacity:0;pointer-events:none;position:fixed;right:24px;transform:translateY(8px);transition:opacity .35s var(--ease),transform .35s var(--ease),pointer-events 0s .35s;width:44px;z-index:10000}.fab--visible{opacity:1;pointer-events:auto;transform:translateY(0);transition:opacity .35s var(--ease),transform .35s var(--ease),pointer-events 0s 0s}.fab__ring{height:calc(100% + 8px);left:-4px;pointer-events:none;position:absolute;top:-4px;width:calc(100% + 8px)}.fab__ring-track{opacity:.5;stroke:var(--border)}.fab__ring-fill{stroke:var(--cyan);stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .08s linear}.fab__icon{color:var(--text-muted);height:18px;position:relative;transition:color .3s var(--ease),transform .3s var(--ease);width:18px;z-index:1}.fab:before{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:color-mix(in srgb,var(--bg-card) 90%,transparent);border-radius:50%;content:"";inset:4px;position:absolute;z-index:0}@media (hover:hover) and (pointer:fine){.fab:hover .fab__icon{color:var(--cyan);transform:translateY(-1px)}}.fab:active{transform:translateY(0) scale(.92)!important}.fab:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}@media (max-width:768px){.fab{bottom:24px;right:16px}}@media (prefers-reduced-motion:reduce){.fab,.fab--visible{transition:opacity .01ms,pointer-events 0s}.fab__icon,.fab__ring-fill{transition:none}}@keyframes cookieSlideUp{0%{filter:blur(4px);opacity:0;transform:translateY(100%) scale(.96)}60%{filter:blur(0);opacity:1}80%{transform:translateY(-3px) scale(1.005)}to{filter:blur(0);opacity:1;transform:translateY(0) scale(1)}}@keyframes cookieSlideDown{0%{filter:blur(0);opacity:1;transform:translateY(0)}to{filter:blur(3px);opacity:0;transform:translateY(110%)}}@keyframes cookieIconWiggle{0%,to{transform:rotate(0deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(2deg)}}.cookie-consent{bottom:calc(16px + var(--safe-bottom, 0px));left:50%;max-width:620px;opacity:0;pointer-events:none;position:fixed;transform:translateX(-50%) translateY(100%);width:calc(100% - 32px);z-index:10001}.cookie-consent[hidden]{display:block!important}.cookie-consent--visible{animation:cookieSlideUp .65s cubic-bezier(.22,1,.36,1) forwards;pointer-events:auto}.cookie-consent--visible .cookie-consent__icon{animation:cookieIconWiggle .6s ease .8s both}.cookie-consent--hiding{animation:cookieSlideDown .4s cubic-bezier(.55,0,1,.45) forwards;pointer-events:none}.cookie-consent__inner{align-items:center;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);background:rgba(12,12,22,.72);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 0 0 1px rgba(0,224,255,.04),0 8px 32px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.05);display:flex;gap:14px;overflow:hidden;padding:14px 18px 14px 16px;position:relative}.cookie-consent__inner:before{background:linear-gradient(90deg,transparent,rgba(0,224,255,.35),transparent);content:"";height:1px;left:20%;pointer-events:none;position:absolute;right:20%;top:0}.cookie-consent__inner:after{background:radial-gradient(ellipse at center,rgba(0,224,255,.12),transparent 70%);bottom:-12px;content:"";filter:blur(4px);height:12px;left:15%;pointer-events:none;position:absolute;right:15%}.cookie-consent__icon{align-items:center;background:linear-gradient(135deg,rgba(0,224,255,.1),rgba(168,85,247,.08));border:1px solid rgba(0,224,255,.12);border-radius:10px;color:var(--cyan);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.cookie-consent__icon svg{height:18px;width:18px}.cookie-consent__text{flex:1;min-width:0}.cookie-consent__title{color:var(--text-bright);font-family:var(--font-display);font-size:.82rem;font-weight:600;letter-spacing:.5px;line-height:1.2;margin-bottom:2px;text-transform:uppercase}.cookie-consent__desc{color:var(--text-muted);font-family:var(--font-body);font-size:.78rem;line-height:1.45;margin:0}.cookie-consent__actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.cookie-consent__accept{background:linear-gradient(135deg,var(--cyan),#00b8d4);border:none;border-radius:var(--radius-sm);box-shadow:0 0 12px rgba(0,224,255,.25),0 2px 6px rgba(0,0,0,.3);color:#060609;cursor:pointer;font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.8px;overflow:hidden;padding:8px 18px;position:relative;text-transform:uppercase;transition:transform .2s var(--ease),box-shadow .3s var(--ease),filter .2s}.cookie-consent__accept:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}@media (hover:hover) and (pointer:fine){.cookie-consent__accept:hover{box-shadow:0 0 20px rgba(0,224,255,.35),0 4px 12px rgba(0,0,0,.3);transform:translateY(-1px)}.cookie-consent__accept:hover:after{left:100%}}.cookie-consent__accept:active{transform:translateY(0) scale(.97)}.cookie-consent__accept:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.cookie-consent__decline{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.5px;padding:8px 14px;text-transform:uppercase;transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}@media (hover:hover) and (pointer:fine){.cookie-consent__decline:hover{background:hsla(0,0%,100%,.03);border-color:var(--border-hover);color:var(--text)}}.cookie-consent__decline:active{transform:scale(.97)}.cookie-consent__decline:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.cookie-consent__close{align-items:center;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;position:absolute;right:8px;top:6px;transition:color .2s var(--ease),background .2s var(--ease);width:24px}@media (hover:hover) and (pointer:fine){.cookie-consent__close:hover{background:hsla(0,0%,100%,.06);color:var(--text)}}.cookie-consent__close:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}@media (max-width:480px){.cookie-consent{bottom:calc(10px + var(--safe-bottom, 0px));left:10px;right:10px;transform:none;width:auto}.cookie-consent__inner{flex-wrap:wrap;gap:10px;padding:14px}.cookie-consent__text{flex-basis:100%;order:1}.cookie-consent__icon{order:0}.cookie-consent__actions{display:grid;gap:8px;grid-template-columns:1fr 1fr;order:2;width:100%}.cookie-consent__accept,.cookie-consent__decline{padding:10px 0;text-align:center;width:100%}.cookie-consent__close{right:6px;top:8px}}@media (prefers-reduced-motion:reduce){.cookie-consent--visible{opacity:1}.cookie-consent--hiding,.cookie-consent--visible{animation:none;transform:none;transition:opacity .01ms}.cookie-consent--hiding{opacity:0}.cookie-consent--visible .cookie-consent__icon{animation:none}}