@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.56c1f21e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3b336396.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.e3369375.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.a40b9a8b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.fe42ddf4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.29207c2f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bdc7e24a509eb931-s.43b0b13e.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0da9c7f357bd9d4d-s.b2288445.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8e6fa89aa22d24ec-s.p.3aec397d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0a7740363b4d4863-s.95e4158a.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f9d24ebef5d5292-s.bd593fbe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e2334d715941921e-s.p.d82a9aff.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b53057dbf91a7acf-s.c55744ae.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/798ea22d9983e047-s.b460e02c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/47fe1b7cd6e6ed85-s.p.855a563b.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../media/99ce71e74c11bc20-s.1db2973a.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../media/8cf1ea7b03cdeb83-s.da3cbacd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(../media/829ba4228c966254-s.p.a61bc753.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.poppins_d66ad28c-module__RFtW5q__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_d66ad28c-module__RFtW5q__variable{--font-display:"Poppins","Poppins Fallback"}
:root{--radius:18px;--font-body:var(--font-geist-sans),system-ui,sans-serif;--font-head:var(--font-display),var(--font-geist-sans),system-ui,sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,monospace}:root,html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080b18;--bg-soft:#11172b;--bg-rgb:8,11,24;--bg-soft-rgb:17,23,43;--surface:#ffffff0b;--surface-strong:#8e9cff1c;--line:#bac5ff24;--line-strong:#bac5ff42;--text:#f7f8ff;--text-rgb:247,248,255;--muted:#aab4d4;--faint:#727da3;--indigo:#8b5cf6;--indigo-rgb:139,92,246;--cyan:#2dd4f4;--cyan-rgb:45,212,244;--violet:#a78bfa;--violet-rgb:167,139,250;--on-accent:#06131b;--on-cyan:#06131b}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f9ff;--bg-soft:#eef1ff;--bg-rgb:248,249,255;--bg-soft-rgb:238,241,255;--surface:#4d60b40e;--surface-strong:#6253d61c;--line:#43529a29;--line-strong:#43529a47;--text:#151a31;--text-rgb:21,26,49;--muted:#596687;--faint:#7d89aa;--indigo:#6d4ae5;--indigo-rgb:109,74,229;--cyan:#087cba;--cyan-rgb:8,124,186;--violet:#7254de;--violet-rgb:114,84,222;--on-accent:#fff;--on-cyan:#fff}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f9ff;--bg-soft:#eef1ff;--bg-rgb:248,249,255;--bg-soft-rgb:238,241,255;--surface:#4d60b40e;--surface-strong:#6253d61c;--line:#43529a29;--line-strong:#43529a47;--text:#151a31;--text-rgb:21,26,49;--muted:#596687;--faint:#7d89aa;--indigo:#6d4ae5;--indigo-rgb:109,74,229;--cyan:#087cba;--cyan-rgb:8,124,186;--violet:#7254de;--violet-rgb:114,84,222;--on-accent:#fff;--on-cyan:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;margin:0;transition:background-color .42s,color .42s;overflow-x:hidden}@media (prefers-reduced-motion:reduce){body{transition:none}}a{color:inherit;text-decoration:none}img{max-width:100%}::selection{background:rgba(var(--cyan-rgb),.35);color:var(--on-cyan)}:focus-visible{outline:3px solid rgba(var(--cyan-rgb),.7);outline-offset:4px}.container{width:min(1160px,100% - 48px);margin-inline:auto}.icon{flex-shrink:0;width:1.05em;height:1.05em}.reveal{transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .85s cubic-bezier(.16,1,.3,1)}html.js .reveal{opacity:0;filter:blur(9px);will-change:opacity,transform,filter;transform:translateY(34px)scale(.985)}html.js .reveal.is-visible{opacity:1;filter:none;transform:none}.scroll-text{--text-delay:0s}html.js .reveal .scroll-text{will-change:opacity,transform,filter;transition:opacity .62s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1),filter .62s cubic-bezier(.16,1,.3,1)}html.js .reveal:not(.is-visible) .scroll-text{opacity:0;filter:blur(5px);transform:translateY(20px)}html.js .reveal.is-visible .scroll-text{opacity:1;filter:none;transition-delay:var(--text-delay);transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.scroll-text{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}}.grad-text{color:var(--cyan)}.text-reveal-line{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.text-reveal-line>span{transition:transform .76s cubic-bezier(.16,1,.3,1),opacity .52s;display:block}html.js .reveal:not(.is-visible) .text-reveal-line>span{opacity:0;transform:translateY(112%)}html.js .reveal.is-visible .text-reveal-line>span{opacity:1;transform:translateY(0)}html.js .reveal.is-visible .text-reveal-line:nth-child(2)>span{transition-delay:.13s}.site-header{z-index:50;border-bottom:1px solid #0000;transition:background .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;position:fixed;inset:0 0 auto}.site-header.is-scrolled{background:rgba(var(--bg-rgb),.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;height:76px;display:flex}.logo{font-family:var(--font-head);letter-spacing:-.01em;align-items:center;gap:.6rem;font-size:1.05rem;font-weight:700;display:inline-flex}.logo-image{border:1px solid var(--line-strong);width:46px;height:46px;box-shadow:0 7px 18px -10px rgba(var(--cyan-rgb),.85);background:#fff;border-radius:50%;flex:none;transition:border-color .24s,box-shadow .24s,transform .24s;overflow:hidden}.logo-image:hover{border-color:var(--cyan);box-shadow:0 10px 22px -10px rgba(var(--cyan-rgb),.8);transform:translateY(-2px)}.brand-avatar{object-fit:cover;object-position:center 46%;transform-origin:50% 46%;width:100%;height:100%;display:block;transform:scale(1.2)}.logo-mark{background:var(--cyan);width:10px;height:10px;box-shadow:0 0 18px rgba(var(--cyan-rgb),.62);border-radius:3px;animation:3.4s ease-in-out infinite logo-glow}@keyframes logo-glow{50%{box-shadow:0 0 8px rgba(var(--indigo-rgb),.45),0 0 25px rgba(var(--cyan-rgb),.7);transform:rotate(45deg)scale(1.12)}}.logo-accent{color:var(--muted)}.desktop-nav{align-items:center;gap:2.4rem;display:flex}.desktop-nav a{color:var(--muted);font-size:.9rem;font-weight:500;transition:color .2s;position:relative}.desktop-nav a:after{content:"";background:var(--cyan);transform-origin:0;border-radius:2px;height:1.5px;transition:transform .24s;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover{color:var(--text)}.desktop-nav a:hover:after{transform:scaleX(1)}.header-cta{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:.55rem;padding:.55rem 1.05rem;font-size:.82rem;font-weight:500;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.header-cta:hover{color:var(--text);border-color:var(--line-strong);background:var(--surface-strong)}.header-actions{align-items:center;gap:1rem;display:flex}.theme-toggle{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--muted);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:color .2s,border-color .2s,background .2s,transform .2s;display:inline-flex}.theme-toggle:hover{color:var(--text);border-color:var(--line-strong);background:var(--surface-strong);transform:translateY(-2px)rotate(10deg)}.theme-toggle .icon{width:1.1em;height:1.1em;font-size:1.05rem}.language-switcher{flex:none;position:relative}.language-toggle{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;transition:border-color .2s,background .2s,transform .2s;display:inline-flex}.language-toggle:hover,.language-toggle[aria-expanded=true]{border-color:var(--line-strong);background:var(--surface-strong);transform:translateY(-2px)}.flag-icon{border-radius:3px;width:22px;height:auto;display:block;overflow:hidden;box-shadow:0 1px 4px #0003}.language-menu{z-index:2;border:1px solid var(--line-strong);background:var(--bg-soft);border-radius:12px;gap:.15rem;min-width:9.6rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 18px 35px -24px #000000b8}.language-menu button{width:100%;color:var(--muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:.55rem;padding:.54rem .6rem;font-size:.78rem;transition:color .18s,background .18s;display:flex}.language-menu button:hover,.language-menu button[aria-checked=true]{background:var(--surface-strong);color:var(--text)}.language-menu .flag-icon{width:20px}.mobile-nav-theme-toggle{align-self:flex-start;margin-top:.6rem}.mobile-language-switcher{align-self:flex-start;margin-top:.35rem}.header-cta-dot{background:var(--cyan);width:7px;height:7px;box-shadow:0 0 0 0 rgba(var(--cyan-rgb),.5);border-radius:50%;animation:2.4s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(var(--cyan-rgb),.45)}70%{box-shadow:0 0 0 8px rgba(var(--cyan-rgb),0)}to{box-shadow:0 0 0 0 rgba(var(--cyan-rgb),0)}}.menu-toggle{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 10px;display:none}.menu-toggle span{background:var(--text);border-radius:2px;height:1.8px;transition:transform .26s,opacity .26s}.menu-toggle.is-open span:first-child{transform:translateY(3.4px)rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translateY(-3.4px)rotate(-45deg)}.mobile-nav{border:1px solid var(--line);border-radius:var(--radius);background:rgba(var(--bg-soft-rgb),.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;gap:.25rem;margin:0 24px;padding:.9rem;display:none}.mobile-nav a{color:var(--muted);border-radius:10px;padding:.7rem .9rem;font-size:.95rem}.mobile-nav a:hover{color:var(--text);background:var(--surface-strong)}.mobile-nav-cta{border-top:1px solid var(--line);font-family:var(--font-mono);margin-top:.35rem;color:var(--text)!important;font-size:.85rem!important}.hero{isolation:isolate;align-items:center;min-height:100svh;padding:130px 0 90px;display:flex;position:relative;overflow:hidden}.hero-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-bg:before,.hero-bg:after{content:"";pointer-events:none;position:absolute}.hero-bg:before{background:linear-gradient(105deg,transparent 12%,rgba(var(--indigo-rgb),.2)44%,rgba(var(--cyan-rgb),.16)68%,transparent 88%);filter:blur(28px);opacity:.85;border-radius:50%;width:min(72vw,980px);height:min(35vw,460px);animation:16s cubic-bezier(.45,0,.55,1) infinite alternate aurora-drift;top:8%;right:-18%;transform:rotate(-18deg)}.hero-bg:after{background:linear-gradient(180deg,transparent,rgba(var(--cyan-rgb),.32),transparent);width:1px;height:144%;box-shadow:0 0 28px rgba(var(--cyan-rgb),.3);opacity:.5;animation:11s ease-in-out infinite light-scan;top:-22%;left:49%;transform:rotate(26deg)}.orb{filter:blur(90px);opacity:.55;will-change:transform;border-radius:50%;position:absolute}.orb-a{background:radial-gradient(circle,rgba(var(--indigo-rgb),.4),transparent 70%);width:34rem;height:34rem;animation:15s ease-in-out infinite alternate orb-drift-a;top:-14rem;left:-10rem}.orb-b{background:radial-gradient(circle,rgba(var(--cyan-rgb),.22),transparent 70%);width:36rem;height:36rem;animation:18s ease-in-out infinite alternate orb-drift-b;bottom:-16rem;right:-8rem}@keyframes aurora-drift{to{opacity:1;transform:translate(-8%,10%)rotate(-8deg)scale(1.12)}}@keyframes light-scan{50%{opacity:.9;transform:translate(-16vw)rotate(26deg)}}@keyframes orb-drift-a{to{transform:translate(14%,13%)scale(1.16)}}@keyframes orb-drift-b{to{transform:translate(-14%,-12%)scale(1.12)}}.hero-grid{background:linear-gradient(rgba(var(--text-rgb),.035)1px,transparent 1px),linear-gradient(90deg,rgba(var(--text-rgb),.035)1px,transparent 1px);background-size:72px 72px;animation:28s linear infinite grid-drift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 50% 40%,#000 30%,#0000 75%);mask-image:radial-gradient(90% 70% at 50% 40%,#000 30%,#0000 75%)}@keyframes grid-drift{to{background-position:72px 72px,72px 72px}}.hero-layout{z-index:1;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:clamp(2.5rem,6vw,5rem);display:grid;position:relative}.hero-kicker{border:1px solid var(--line);background:var(--surface);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);box-shadow:inset 0 1px 0 rgba(var(--text-rgb),.06);border-radius:999px;align-items:center;gap:.65rem;margin:0 0 1.4rem;padding:.5rem 1.05rem;font-size:.78rem;display:inline-flex}.kicker-pulse{background:var(--cyan);width:8px;height:8px;box-shadow:0 0 12px rgba(var(--cyan-rgb),.8);border-radius:50%}.hero h1{font-family:var(--font-head);letter-spacing:-.015em;margin:0;font-size:clamp(2.9rem,6.4vw,4.9rem);font-weight:800;line-height:1.04}.hero-sub{max-width:34rem;color:var(--muted);margin:1.5rem 0 0;font-size:clamp(1.02rem,1.4vw,1.15rem);line-height:1.75}.hero-sub strong{color:var(--text);font-weight:600}.hero-actions{flex-wrap:wrap;align-items:center;gap:.9rem;margin-top:2.2rem;display:flex}.btn{border-radius:999px;align-items:center;gap:.55rem;padding:.85rem 1.55rem;font-size:.95rem;font-weight:600;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,background .3s,border-color .3s,color .3s;display:inline-flex}.btn-lg{padding:1.05rem 2rem;font-size:1.02rem}.btn-primary{background:var(--cyan);color:var(--on-accent);box-shadow:0 12px 30px -10px rgba(var(--cyan-rgb),.65),inset 0 1px 0 #ffffff61}.btn-primary:hover{box-shadow:0 20px 42px -12px rgba(var(--cyan-rgb),.8),0 0 0 5px rgba(var(--cyan-rgb),.1);transform:translateY(-3px)scale(1.015)}.btn-ghost{border:1px solid var(--line-strong);color:var(--text);background:var(--surface)}.btn-ghost:hover{background:var(--surface-strong);border-color:rgba(var(--indigo-rgb),.5);transform:translateY(-3px)}.hero-facts{border-top:1px solid var(--line);flex-wrap:wrap;gap:clamp(1.6rem,3.5vw,3rem);margin:3rem 0 0;padding-top:1.8rem;display:flex}.hero-facts dt{font-family:var(--font-head);letter-spacing:-.01em;color:var(--cyan);font-size:1.7rem;font-weight:700}.hero-facts dd{max-width:9.5rem;color:var(--muted);margin:.3rem 0 0;font-size:.82rem;line-height:1.45}.hero-stage-wrap{min-width:0}.hero-stage{perspective:1400px;height:clamp(24rem,42vw,31rem);position:relative}.stage-card{border-radius:var(--radius);will-change:transform;width:min(100%,30rem);transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s,z-index;display:block;position:absolute}.stage-card-1{z-index:3;animation:7s ease-in-out infinite float-a;top:6%;left:0;transform:rotate(-2deg)}.stage-card-2{z-index:2;filter:brightness(.82);width:min(88%,26rem);animation:8s ease-in-out infinite float-b;top:30%;right:0;transform:rotate(2.4deg)}.stage-card-3{z-index:1;filter:brightness(.62);width:min(78%,23rem);animation:9s ease-in-out infinite float-c;bottom:0;left:8%;transform:rotate(-4deg)}@keyframes float-a{50%{transform:rotate(-2deg)translate(8px,-13px)scale(1.012)}}@keyframes float-b{50%{transform:rotate(2.4deg)translate(-10px,-16px)scale(1.02)}}@keyframes float-c{50%{transform:rotate(-4deg)translate(7px,-10px)scale(1.015)}}.stage-card:hover{z-index:5;filter:brightness();animation-play-state:paused;transform:rotate(0)translateY(-8px)scale(1.02)}.shared-project-source{transition:opacity .12s linear,transform .45s cubic-bezier(.22,1,.36,1),filter .45s,z-index}.stage-label{border:1px solid var(--line-strong);background:rgba(var(--bg-rgb),.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);opacity:0;border-radius:999px;padding:.35rem .8rem;font-size:.72rem;transition:opacity .25s,transform .25s;position:absolute;bottom:-12px;left:14px;transform:translateY(4px)}.stage-card:hover .stage-label{opacity:1;transform:none}.stage-image{aspect-ratio:16/10;position:relative}.stage-image img{object-fit:cover;object-position:top}.browser-frame{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-soft);box-shadow:0 30px 70px -30px #010412d9,inset 0 1px 0 rgba(var(--text-rgb),.06);position:relative;overflow:hidden}.browser-frame:after,.github-graph:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(112deg,#0000 42%,#ffffff1f 50%,#0000 58%) 120% 0/250% 100%;position:absolute;inset:0}.stage-card:hover .browser-frame:after,.project-media:hover .browser-frame:after,.github-graph:hover:after{opacity:1;animation:.9s ease-out frame-shine}@keyframes frame-shine{to{background-position:-120% 0}}.browser-bar{border-bottom:1px solid var(--line);background:rgba(var(--text-rgb),.035);align-items:center;gap:.9rem;padding:.6rem .95rem;display:flex}.browser-dots{gap:6px;display:flex}.browser-dots span{background:rgba(var(--text-rgb),.16);border-radius:50%;width:9px;height:9px}.browser-frame:hover .browser-dots span:first-child{background:#f87171}.browser-frame:hover .browser-dots span:nth-child(2){background:#fbbf24}.browser-frame:hover .browser-dots span:nth-child(3){background:#34d399}.browser-url{background:rgba(var(--text-rgb),.08);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;color:var(--muted);border-radius:999px;flex:1;margin:0;padding:.28rem .85rem;font-size:.72rem;overflow:hidden}.browser-lock{border:1.4px solid rgba(var(--text-rgb),.25);border-radius:3px;width:8px;height:10px}.hero-scroll{border:1.6px solid var(--line-strong);z-index:1;border-radius:999px;width:26px;height:42px;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.hero-scroll span{background:var(--cyan);border-radius:4px;width:4px;height:8px;animation:1.8s ease-in-out infinite scroll-hint;position:absolute;top:8px;left:50%;transform:translate(-50%)}@keyframes scroll-hint{0%{opacity:1;transform:translate(-50%)}70%{opacity:0;transform:translate(-50%,14px)}to{opacity:0}}.marquee{border-block:1px solid var(--line);background:rgba(var(--text-rgb),.015);padding:1.05rem 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.marquee-track{gap:2.6rem;width:max-content;animation:36s linear infinite marquee;display:flex}.marquee-track span{font-family:var(--font-head);letter-spacing:.02em;color:var(--muted);white-space:nowrap;align-items:center;gap:2.6rem;font-size:.95rem;font-weight:500;display:inline-flex}.marquee-dot{background:rgba(var(--indigo-rgb),.7);border-radius:50%;width:5px;height:5px}@keyframes marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee-track,.stage-card,.hero-scroll span,.header-cta-dot,.logo-mark,.grad-text,.orb,.hero-bg:before,.hero-bg:after,.hero-grid,.timeline-dot,.contact-card:before,.browser-frame:after,.github-graph:after,.code-stage-label,.code-line{animation:none}}.section-kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.7rem;margin:0 0 1.3rem;font-size:.78rem;display:inline-flex}.section-kicker span{border:1px solid var(--line-strong);background:var(--surface);width:30px;height:30px;color:var(--cyan);border-radius:9px;place-items:center;font-size:.72rem;display:inline-grid}.section-head h2,.about h2,.contact h2{font-family:var(--font-head);letter-spacing:-.012em;margin:0;font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800;line-height:1.08}.projects{padding:clamp(5.5rem,10vw,8.5rem) 0}.section-head{margin-bottom:clamp(3rem,6vw,5rem)}.project-list{flex-direction:column;gap:clamp(4rem,8vw,6.5rem);display:flex}.project-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.project-row:nth-child(2n) .project-media{order:2}.project-media{border-radius:var(--radius);isolation:isolate;transition:transform .4s cubic-bezier(.22,1,.36,1);display:block;position:relative}.project-media:before{content:"";z-index:-1;border-radius:calc(var(--radius) + 2px);background:var(--cyan);opacity:0;filter:blur(18px);transition:opacity .4s;position:absolute;inset:-1px}.project-media:hover{transform:translateY(-8px)rotate(-.35deg)}.project-media:hover:before{opacity:.35}.project-image{aspect-ratio:16/10;position:relative;overflow:hidden}.project-image img{object-fit:cover;object-position:top;transition:transform .7s cubic-bezier(.22,1,.36,1)}.project-media:hover .project-image img{transform:scale(1.045)}.project-open{background:rgba(var(--bg-rgb),.85);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);opacity:0;border-radius:999px;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.8rem;font-weight:600;transition:opacity .28s,transform .28s;display:inline-flex;position:absolute;bottom:16px;right:16px;transform:translateY(8px)}.project-media:hover .project-open{opacity:1;transform:none}.project-scroll-morph{z-index:40;width:var(--morph-width,0px);height:var(--morph-height,0px);border-radius:var(--radius);pointer-events:none;transform:translate3d(var(--morph-x,-200vw),var(--morph-y,-200vh),0)rotate(var(--morph-rotate,0deg));will-change:width,height,transform,opacity;position:fixed;top:0;left:0;overflow:hidden}.morph-browser-frame{border:1px solid var(--line-strong);border-radius:inherit;background:var(--bg-soft);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 30px 70px -30px #010412d9}.morph-browser-bar{border-bottom:1px solid var(--line);background:rgba(var(--text-rgb),.035);flex:none;align-items:center;gap:.65rem;padding:.55rem .8rem;display:flex}.morph-browser-dots{gap:5px;display:flex}.morph-browser-dots i{background:rgba(var(--text-rgb),.16);border-radius:50%;width:8px;height:8px}.morph-browser-url{background:rgba(var(--text-rgb),.08);color:var(--muted);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:.22rem .7rem;font-size:.66rem;line-height:1.2;overflow:hidden}.morph-browser-preview{flex:1;min-height:0;position:relative}.morph-browser-preview img{object-fit:cover;object-position:top}.project-info{min-width:0}.project-number{font-family:var(--font-mono);color:var(--faint);letter-spacing:.1em;font-size:.85rem}.project-info h3{font-family:var(--font-head);letter-spacing:-.005em;margin:.55rem 0 0;font-size:clamp(1.6rem,3vw,2.15rem);font-weight:700}.project-highlight{color:var(--cyan);margin:.65rem 0 0;font-size:.88rem;font-weight:600}.project-desc{color:var(--muted);margin:1rem 0 0;font-size:.98rem;line-height:1.75}.tag-list{flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);background:var(--surface);font-family:var(--font-mono);color:var(--muted);border-radius:999px;padding:.38rem .85rem;font-size:.74rem}.project-link{color:var(--text);border-bottom:1px solid var(--line-strong);align-items:center;gap:.5rem;margin-top:1.7rem;padding-bottom:3px;font-size:.94rem;font-weight:600;transition:color .2s,border-color .2s,gap .2s;display:inline-flex}.project-link:hover{color:var(--cyan);border-color:var(--cyan);gap:.8rem}.about{border-top:1px solid var(--line);background:var(--bg-soft);padding:clamp(5.5rem,10vw,8.5rem) 0}.about-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(2.5rem,6vw,5rem);display:grid}.about-head{position:sticky;top:110px}.about-lead{font-family:var(--font-head);letter-spacing:0;margin:0;font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:600;line-height:1.55}.about-lead strong{color:var(--cyan)}.about-text{color:var(--muted);margin:1.5rem 0 0;font-size:1rem;line-height:1.8}.skills{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:2.6rem;padding:1.6rem}.skills-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem;font-size:.78rem}.skills ul{flex-wrap:wrap;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.skills li{border:1px solid var(--line);color:var(--text);background:rgba(var(--text-rgb),.02);border-radius:999px;padding:.48rem 1rem;font-size:.85rem;font-weight:500;transition:border-color .2s,background .2s,transform .2s}.skills li:hover{border-color:rgba(var(--cyan-rgb),.5);background:rgba(var(--cyan-rgb),.08);transform:translateY(-2px)}.journey{border-top:1px solid var(--line);background:var(--bg);padding:clamp(5.5rem,10vw,8.5rem) 0}.journey-layout{grid-template-columns:minmax(0,1fr) minmax(19rem,.68fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);display:grid}.timeline{margin:0;padding:.5rem 0 0;list-style:none;position:relative}.timeline:before{content:"";background:linear-gradient(180deg,transparent,var(--line-strong)8%,var(--line-strong)92%,transparent);width:1px;position:absolute;top:0;bottom:0;left:219px}.timeline-item{grid-template-columns:190px minmax(0,1fr);gap:clamp(2rem,5vw,4rem);padding:1.8rem 0;display:grid;position:relative}.timeline-dot{background:var(--bg);border:2px solid var(--cyan);width:11px;height:11px;box-shadow:0 0 0 5px rgba(var(--cyan-rgb),.12);border-radius:50%;animation:3.8s ease-in-out infinite timeline-pulse;position:absolute;top:2.35rem;left:214px}@keyframes timeline-pulse{50%{box-shadow:0 0 0 8px rgba(var(--cyan-rgb),0),0 0 17px rgba(var(--cyan-rgb),.72)}}.timeline-meta{flex-direction:column;align-items:flex-start;gap:.55rem;display:flex}.timeline-period{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);white-space:nowrap;font-size:.8rem}.timeline-kind{border:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);background:rgba(var(--cyan-rgb),.06);border-radius:999px;padding:.22rem .7rem;font-size:.72rem;font-weight:600}.timeline-content h3{font-family:var(--font-head);letter-spacing:0;margin:0;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700}.timeline-place{color:var(--muted);margin:.35rem 0 0;font-size:.92rem;font-weight:500}.timeline-desc{max-width:62ch;color:var(--muted);margin:.8rem 0 0;font-size:.96rem;line-height:1.75}.php-evolution{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--surface);box-shadow:0 24px 56px -42px rgba(var(--indigo-rgb),.55);align-self:start;padding:1rem;position:sticky;top:108px}.php-evolution.is-compact{display:none}.php-evolution-head{justify-content:space-between;align-items:center;gap:1rem;padding:.2rem .2rem .9rem;display:flex}.php-evolution-head p,.php-evolution-head span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.68rem}.php-evolution-head p{color:var(--muted)}.php-evolution-head span{color:var(--cyan)}.code-window{color:#dce6ff;background:#090e1e;border:1px solid #aebfff2e;border-radius:13px;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 18px 38px -28px #000c}.code-window-bar{color:#91a0c8;min-height:2.5rem;font-family:var(--font-mono);background:#0e1529;border-bottom:1px solid #aebfff1f;align-items:center;gap:.7rem;padding:.55rem .75rem;font-size:.66rem;display:flex}.code-window-dots{gap:4px;display:flex}.code-window-dots i{background:#4f5d82;border-radius:50%;width:7px;height:7px}.code-window-dots i:first-child{background:#fb7185}.code-window-dots i:nth-child(2){background:#fbbf24}.code-window-dots i:last-child{background:#34d399}.code-stage{min-height:23.5rem;padding:1.2rem 0}.code-stage-label{color:#6ee7f9;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 1rem .85rem;font-size:.7rem;animation:.44s cubic-bezier(.16,1,.3,1) both code-stage-in}.code-stage pre{font-family:var(--font-mono);margin:0;font-size:clamp(.62rem,1vw,.74rem);line-height:1.72;overflow:hidden}.code-stage code{min-width:0;display:block}.code-line{white-space:pre-wrap;grid-template-columns:2.45rem minmax(0,1fr);min-height:1.72em;padding-right:.75rem;animation:.46s cubic-bezier(.16,1,.3,1) both code-line-in;display:grid}.code-line>span:last-child{overflow-wrap:anywhere;min-width:0}.code-line-number{color:#485675;text-align:right;-webkit-user-select:none;user-select:none;padding-right:.75rem}.code-keyword{color:#c4b5fd}.code-variable{color:#7dd3fc}.code-string{color:#86efac}@keyframes code-stage-in{0%{opacity:0;transform:translateY(8px)}}@keyframes code-line-in{0%{opacity:0;transform:translate(-8px)}}.code-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.code-progress li{color:var(--faint);font-family:var(--font-mono);align-items:center;gap:.45rem;font-size:.65rem;line-height:1.3;transition:color .3s;display:flex}.code-progress li>span{border:1px solid var(--line-strong);border-radius:50%;flex:none;width:6px;height:6px;transition:background .3s,border-color .3s,box-shadow .3s}.code-progress li.is-active{color:var(--text)}.code-progress li.is-active>span{border-color:var(--cyan);background:var(--cyan);box-shadow:0 0 10px rgba(var(--cyan-rgb),.7)}@media (prefers-reduced-motion:reduce){.code-stage-label,.code-line{animation:none}}.journey-cta{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;margin-top:3rem;padding:1.6rem 1.8rem;display:flex}.journey-cta p{color:var(--muted);margin:0;font-size:.95rem}.github{border-top:1px solid var(--line);padding:clamp(5.5rem,10vw,8.5rem) 0}.github-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(2.5rem,6vw,5rem);display:grid}.github-lead{color:var(--muted);margin:0;font-size:1.4rem;line-height:1.5}.github-lead strong{color:var(--cyan);font-weight:700}.github-stats{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:1.6rem;margin:2.2rem 0;padding-top:1.8rem;display:grid}.github-stats dt{font-family:var(--font-head);letter-spacing:-.01em;color:var(--cyan);font-size:1.6rem;font-weight:700}.github-stats dd{color:var(--muted);margin:.3rem 0 0;font-size:.82rem;line-height:1.45}.github-graph-wrap{min-width:0}.github-graph{border-radius:var(--radius);border:1px solid var(--line-strong);background:#f6f8fa;padding:1.2rem;transition:transform .3s,box-shadow .3s,border-color .3s;display:block;position:relative;overflow:visible;box-shadow:0 30px 70px -30px #00000080}.github-graph:hover{border-color:rgba(var(--cyan-rgb),.5);transform:translateY(-6px)rotate(.35deg)}.github-graph img{border-radius:calc(var(--radius) - 8px);width:100%;height:auto;display:block}.github-walkers{z-index:3;--walker-height:clamp(14px,1.55vw,19px);height:var(--walker-height);clip-path:inset(-.6rem 0);pointer-events:none;position:absolute;top:clamp(-20px,-1.6vw,-14px);left:1.2rem;right:1.2rem;overflow:visible}.commit-walker{--walker-width:clamp(8px,.9vw,12px);z-index:1;width:var(--walker-width);height:var(--walker-height);color:#26a641;filter:drop-shadow(0 2px 2px #0e442938);transform-origin:bottom;position:absolute;bottom:0}.commit-walker-motion{width:100%;height:100%;animation:.46s ease-in-out infinite alternate commit-bob;display:block;position:relative}.commit-walker-body{aspect-ratio:1;background:currentColor;border-radius:2px;width:78%;position:absolute;top:1px;left:50%;transform:translate(-50%)}.commit-walker-arm,.commit-walker-leg{transform-origin:top;background:currentColor;border-radius:999px;width:2px;position:absolute;left:50%}.commit-walker-arm{height:39%;top:28%}.commit-walker-leg{height:35%;top:65%}.commit-walker-arm.is-left,.commit-walker-leg.is-left{margin-left:-27%;animation:.46s ease-in-out infinite alternate commit-limb-left}.commit-walker-arm.is-right,.commit-walker-leg.is-right{margin-left:27%;animation:.46s ease-in-out infinite alternate commit-limb-right}.walker-east{animation:walk-bounce var(--walk-duration)linear infinite;left:0}.walker-west{animation:walk-bounce var(--walk-duration)linear infinite reverse;left:0}.walker-one{--walk-duration:13s;color:#39d353;animation-delay:-3s}.walker-two{--walk-duration:17s;color:#0e4429;animation-delay:-9s}.walker-three{--walk-duration:20s;color:#26a641;animation-delay:-14s}.walker-four{--walk-duration:15s;color:#9be9a8;animation-delay:-6s}.walker-emerge{color:#1f883d;--walk-duration:18s;animation:walk-bounce var(--walk-duration)linear infinite;animation-delay:-5s;left:0}.walker-emerge .commit-walker-motion{animation-delay:.15s}.is-waving .commit-walker-arm.is-right{animation:.78s ease-in-out infinite commit-wave}.is-hopping .commit-walker-motion{animation:.74s ease-in-out infinite commit-hop}@keyframes walk-bounce{0%{left:0;transform:scaleX(1)}49.7%{left:calc(100% - var(--walker-width));transform:scaleX(1)}50%{left:calc(100% - var(--walker-width));transform:scaleX(-1)}99.7%{left:0;transform:scaleX(-1)}to{left:0;transform:scaleX(1)}}@keyframes commit-bob{to{transform:translateY(-2px)}}@keyframes commit-limb-left{to{transform:rotate(28deg)}}@keyframes commit-limb-right{to{transform:rotate(-28deg)}}@keyframes commit-wave{50%{transform:rotate(-75deg)}}@keyframes commit-hop{45%{transform:translateY(-5px)scaleY(1.06)}}@keyframes emerge-from-commit{0%,12%{opacity:0;transform:translateY(8px)scale(.5)}20%,80%{opacity:1;transform:translate(0)translateY(0)scale(1)}to{opacity:0;transform:translate(8rem)translateY(-5px)scale(.8)}}@media (prefers-reduced-motion:reduce){.commit-walker,.commit-walker-motion,.commit-walker-arm,.commit-walker-leg{animation:none!important}}.posts{border-top:1px solid var(--line);background:var(--bg-soft);padding:clamp(5.5rem,10vw,8.5rem) 0}.posts-head{margin-bottom:clamp(2.4rem,5vw,4rem)}.posts-preview{padding-block:clamp(3.5rem,6vw,5rem)}.posts-preview .posts-head{margin-bottom:clamp(1.5rem,3vw,2.25rem)}.posts-overview{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--surface);align-items:center;gap:clamp(1rem,2.5vw,1.5rem);padding:clamp(1.1rem,2.8vw,1.65rem);display:flex;box-shadow:0 18px 42px -38px #000000d9}.posts-overview>img{border:1px solid var(--line-strong);object-fit:cover;border-radius:50%;flex:none;width:4.75rem;height:4.75rem}.posts-overview>div{min-width:0}.posts-overview-kicker{color:#0a66c2;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.67rem;font-weight:700}.posts-overview h3{font-family:var(--font-head);margin:.3rem 0 0;font-size:clamp(1.02rem,2vw,1.2rem);line-height:1.2}.posts-overview p:not(.posts-overview-kicker){color:var(--muted);margin:.38rem 0 0;font-size:.88rem;line-height:1.5}.posts-overview .btn{white-space:nowrap;flex:none;margin-left:auto}@supports (view-transition-name:linkedin-profile-card){[data-linkedin-profile-source],[data-linkedin-profile-target]{view-transition-name:linkedin-profile-card}::view-transition-group(linkedin-profile-card){animation-duration:.72s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-old(linkedin-profile-card){animation:.72s cubic-bezier(.16,1,.3,1) both linkedin-profile-old}::view-transition-new(linkedin-profile-card){animation:.72s cubic-bezier(.16,1,.3,1) both linkedin-profile-new}}@keyframes linkedin-profile-old{to{opacity:0;filter:blur(3px)}}@keyframes linkedin-profile-new{0%{opacity:0;filter:blur(3px)}}.posts-page{padding-top:76px}.posts-page-section{min-height:calc(100svh - 76px)}.posts-page-title{font-family:var(--font-head);letter-spacing:-.05em;margin:0;font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800;line-height:1.05}.posts-page .section-kicker span{width:auto;min-width:30px;padding-inline:.55rem}.linkedin-posts-layout{grid-template-columns:minmax(15rem,.52fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.linkedin-profile-card{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:var(--surface);padding:1.35rem;scroll-margin-top:92px;position:sticky;top:108px}.linkedin-profile-image{border:1px solid var(--line-strong);object-fit:cover;width:100%;max-width:12rem;height:auto;box-shadow:0 14px 30px -20px rgba(var(--cyan-rgb),.72);border-radius:50%;margin:0 auto 1.3rem;display:block}.linkedin-profile-network{color:#0a66c2;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.linkedin-profile-card h3{font-family:var(--font-head);margin:.55rem 0 0;font-size:1.25rem;line-height:1.2}.linkedin-profile-card>p:not(.linkedin-profile-network){color:var(--muted);margin:.65rem 0 1.35rem;font-size:.88rem;line-height:1.55}.linkedin-profile-card .btn{justify-content:center;width:100%;padding:.72rem 1rem;font-size:.86rem}.linkedin-feed{gap:1.25rem;width:min(100%,44rem);display:grid}.linkedin-view-all{justify-self:start;margin-top:.35rem}.linkedin-post{border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:rgba(var(--bg-rgb),.58);overflow:hidden;box-shadow:0 18px 48px -38px #000000b3}.linkedin-post-author{align-items:flex-start;gap:.8rem;padding:1rem 1rem 0;display:flex}.linkedin-avatar{border:1px solid var(--line-strong);object-fit:cover;border-radius:50%;flex:none;width:46px;height:46px}.linkedin-post-author>div{min-width:0}.linkedin-post-author a:not(.linkedin-post-link){color:var(--text);font-size:.91rem;font-weight:700;transition:color .18s}.linkedin-post-author a:not(.linkedin-post-link):hover{color:var(--cyan)}.linkedin-post-author p,.linkedin-post-author span{color:var(--muted);margin:.18rem 0 0;font-size:.72rem;line-height:1.35;display:block}.linkedin-post-author span{color:var(--faint);font-family:var(--font-mono);letter-spacing:.04em;font-size:.65rem}.linkedin-post-link{border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;transition:background .18s,transform .18s;display:inline-flex}.linkedin-post-link:hover{background:#0a66c21f;transform:translateY(-2px)}.linkedin-icon{color:#0a66c2;letter-spacing:-.08em;font-family:Arial,sans-serif;font-size:1.22rem;font-weight:800}.linkedin-post-copy{padding:1rem}.linkedin-post-copy p{color:var(--text);white-space:pre-line;margin:0;font-size:.91rem;line-height:1.68}.linkedin-post-copy button{color:var(--cyan);cursor:pointer;background:0 0;border:0;margin-top:.65rem;padding:0;font-family:inherit;font-size:.84rem;font-weight:700}.linkedin-post-copy button:hover{color:var(--text)}.linkedin-media-main{aspect-ratio:16/9;border-block:1px solid var(--line);background:rgba(var(--text-rgb),.035);place-items:center;min-height:16rem;display:grid;position:relative;overflow:hidden}.linkedin-media-main.is-image{width:min(100%,30rem);min-height:0;margin-inline:auto}.linkedin-media-main.is-video{aspect-ratio:9/16;border:1px solid var(--line);background:#02040b;border-radius:10px;width:min(100%,24rem);min-height:0;margin-inline:auto}.linkedin-media-main>img{object-fit:contain}.linkedin-media-main video{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.linkedin-media-count{color:#fff;font-family:var(--font-mono);background:#070a16c7;border:1px solid #fff3;border-radius:999px;padding:.25rem .55rem;font-size:.66rem;position:absolute;bottom:.8rem;right:.8rem}.linkedin-media-thumbs{flex-wrap:wrap;gap:.45rem;padding:.75rem;display:flex}.linkedin-media-thumbs button{border:1px solid var(--line);background:var(--surface);cursor:pointer;opacity:.65;border-radius:7px;width:52px;height:38px;padding:0;transition:border-color .18s,opacity .18s,transform .18s;position:relative;overflow:hidden}.linkedin-media-thumbs button:hover,.linkedin-media-thumbs button.is-active{border-color:var(--cyan);opacity:1;transform:translateY(-2px)}.linkedin-media-thumbs img{object-fit:cover}.contact{padding:clamp(5.5rem,10vw,8.5rem) 0}.contact-card{border:1px solid var(--line-strong);background:var(--bg-soft);text-align:center;isolation:isolate;border-radius:26px;padding:clamp(2.8rem,6vw,5rem);position:relative;overflow:hidden}.contact-card:before{content:"";z-index:-1;background:rgba(var(--cyan-rgb),.16);filter:blur(52px);border-radius:50%;width:70%;height:260%;animation:13s ease-in-out infinite alternate contact-aurora;position:absolute;top:-120%;left:-25%;transform:rotate(22deg)}@keyframes contact-aurora{to{transform:translate(150%)rotate(22deg)}}.contact-card .section-kicker{justify-content:center;width:100%}.contact-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2.4rem;display:flex}.contact-mail{color:var(--muted);margin:1.8rem 0 0;font-size:.9rem}.contact-mail a{font-family:var(--font-mono);color:var(--text);border-bottom:1px solid var(--line-strong);transition:color .2s,border-color .2s}.contact-mail a:hover{color:var(--cyan);border-color:var(--cyan)}.footer{border-top:1px solid var(--line);padding:2rem 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-inner p{color:var(--muted);margin:0;font-size:.85rem}.footer-top{color:var(--muted);font-size:.85rem;font-weight:500;transition:color .2s}.footer-top:hover{color:var(--text)}@media (max-width:980px){.hero{padding-top:112px}.hero-layout{grid-template-columns:1fr}.hero-stage{flex-direction:column;gap:1.4rem;height:auto;display:flex}.stage-card,.stage-card-1,.stage-card-2,.stage-card-3{filter:none;width:100%;animation:none;position:static;transform:none}.stage-card-2,.stage-card-3,.stage-label{display:none}.project-row,.project-row:nth-child(2n){grid-template-columns:1fr}.project-row:nth-child(2n) .project-media{order:0}.about-layout{grid-template-columns:1fr}.about-head{position:static}.github-layout,.linkedin-posts-layout{grid-template-columns:1fr}.posts-overview{align-items:flex-start}.posts-overview .btn{align-self:center}.linkedin-profile-card{grid-template-columns:7.5rem minmax(0,1fr);align-items:center;column-gap:1.15rem;display:grid;position:static}.linkedin-profile-image{grid-row:span 3;width:7.5rem;margin:0}.linkedin-profile-card .btn{grid-column:2;width:fit-content}.linkedin-feed{width:min(100%,44rem)}.linkedin-view-all{justify-self:start}.journey-layout{grid-template-columns:1fr}.php-evolution:not(.is-compact){display:none}.php-evolution.is-compact{border-color:var(--line);width:100%;box-shadow:none;margin-top:1.25rem;padding:.7rem;display:block;position:static}.php-evolution.is-compact .code-stage{min-height:0;padding-block:.8rem}.php-evolution.is-compact .code-stage-label{margin:0 .8rem .55rem}.php-evolution.is-compact .code-stage pre{font-size:clamp(.59rem,2.1vw,.72rem)}.php-evolution.is-compact .code-window-bar{min-height:2.2rem}.php-evolution.is-compact .code-progress{display:none}.github-graph-wrap{order:-1}.timeline:before,.timeline-dot{display:none}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:.9rem;padding:1.6rem 0}.timeline-item:last-of-type{border-bottom:none}.timeline-meta{flex-direction:row;align-items:center}}@media (max-width:860px){.desktop-nav,.header-cta{display:none}.header-inner{gap:1rem;height:64px}.header-actions{gap:.55rem}.logo{gap:.45rem;font-size:.98rem}.logo-image{width:40px;height:40px}.logo-mark{width:9px;height:9px}.menu-toggle{border-radius:10px;width:40px;height:40px;padding-inline:9px;display:flex}.header-theme-toggle,.header-language-switcher .language-toggle{width:38px;height:38px}.mobile-nav{opacity:0;pointer-events:none;visibility:hidden;gap:.15rem;max-height:calc(100svh - 76px);margin:0;padding:.55rem;transition:opacity .24s,transform .24s,visibility 0s linear .24s;display:flex;position:absolute;top:calc(100% + .45rem);left:.75rem;right:.75rem;overflow-y:auto;transform:translateY(-8px);box-shadow:0 18px 35px -26px #000000a6}.mobile-nav.is-open{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;transform:none}.mobile-nav a{padding:.62rem .72rem;font-size:.9rem}.mobile-nav-cta{overflow-wrap:anywhere;font-size:.76rem!important}}@media (max-width:560px){.container{width:calc(100% - 40px)}.hero-facts{gap:1.4rem}.header-inner{height:58px}.logo{font-size:.9rem}.logo-image{width:36px;height:36px}.logo-mark{width:8px;height:8px}.menu-toggle{width:38px;height:38px}.hero{padding-top:92px}.php-evolution.is-compact .code-progress li{font-size:.6rem}.hero-actions .btn,.contact-actions .btn{justify-content:center;width:100%}.linkedin-profile-card{display:block}.posts-page{padding-top:58px}.posts-page-section{min-height:calc(100svh - 58px)}.posts-overview{grid-template-columns:4.25rem minmax(0,1fr);gap:.85rem 1rem;display:grid}.posts-overview>img{width:4.25rem;height:4.25rem}.posts-overview .btn{grid-column:1/-1;justify-content:center;width:100%;margin:.15rem 0 0}.linkedin-profile-image{width:6.5rem;margin:0 0 1rem}.linkedin-profile-card .btn{width:100%}.linkedin-post-author,.linkedin-post-copy{padding-inline:.85rem}.linkedin-view-all{justify-content:center;width:100%}.linkedin-media-main{min-height:12rem}.linkedin-media-main.is-image,.linkedin-media-main.is-video{width:100%;min-height:0}.linkedin-media-thumbs button{width:46px;height:34px}}
