@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.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/7178b3e590c64307-s.11.cyxs5p-0z~.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.16t1db8_9y2o~.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/4fa387ec64143e14-s.0q3udbd2bu5yp.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/bbc41e54d2fcbd21-s.0gw~uztddq1df.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.0.q-h669a_dqa.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"}
:root{--bg:#0e1116;--surface:#161b22;--surface-alt:#1f2630;--text:#e6edf3;--text-muted:#9ba7b4;--accent:#58a6ff;--border:#2d333b}[data-theme=light]{--bg:#f3efe8;--surface:#ece7dd;--surface-alt:#e3ddd2;--text:#171412;--text-muted:#6f655d;--accent:#171412;--border:#c8bdb0}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:20px;font-family:Inter,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.reveal{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.pg{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;overflow:hidden}.nav{background:var(--surface);justify-content:flex-end;align-items:center;gap:22px;min-height:54px;padding:10px 40px;display:flex}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a{color:var(--text-muted);cursor:pointer;align-items:center;font-size:12px;line-height:1;transition:color .25s;display:inline-flex}.nav-links a:hover{color:var(--text)}.theme-toggle{border:1px solid var(--border);height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:11px;line-height:1;transition:border-color .2s,color .2s,background-color .2s;display:inline-flex}.theme-toggle:hover{color:var(--text);border-color:var(--text-muted);background:color-mix(in srgb, var(--surface) 65%, var(--text) 35%)}.nav-cta{background:var(--accent);color:#e9e3d7;border-radius:20px;justify-content:center;align-items:center;height:28px;padding:6px 16px;font-size:11px;font-weight:500;line-height:1;transition:transform .2s,box-shadow .2s;display:inline-flex}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 18px #58a6ff59}.hero{background:var(--surface);border-bottom:1.5px solid var(--border);padding:48px 40px 0;position:relative;overflow:hidden}.hero:before{content:"";filter:blur(18px);z-index:0;background:radial-gradient(circle at 15% 30%,#58a6ff54 0%,#0000 45%),radial-gradient(circle at 80% 25%,#56c4ff33 0%,#0000 44%),radial-gradient(circle at 50% 85%,#8260ff40 0%,#0000 52%);animation:20s ease-in-out infinite alternate heroGradientShift;position:absolute;inset:-40% -10%}[data-theme=light] .hero:before{filter:blur(10px);opacity:1;background:radial-gradient(circle at 12% 25%,#7a532d6b 0%,#0000 48%) 0 0/155% 155%,radial-gradient(circle at 82% 22%,#a476485c 0%,#0000 46%) 100% 0/165% 165%,radial-gradient(circle at 52% 82%,#6d5a8c42 0%,#0000 54%) 50% 100%/145% 145%,linear-gradient(130deg,#fff3 0%,#fff0 56%) 50%/120% 120%;animation:14s ease-in-out infinite alternate heroGradientShiftLight}.hero:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#161b22e0 0%,#161b2294 40%,#161b224d 68%,#161b22ad 100%);position:absolute;inset:0}[data-theme=light] .hero:after{background:linear-gradient(90deg,#ece7ddb3 0%,#ece7dd3d 42%,#ece7dd14 68%,#ece7dd6b 100%)}@keyframes heroGradientShiftLight{0%{background-position:0 0,100% 0,50% 100%,50%}to{background-position:20% 18%,78% 22%,45% 72%,40% 55%}}.hero-top{z-index:2;justify-content:space-between;align-items:flex-start;gap:24px;display:flex;position:relative}.hero-profile{flex-direction:column;flex:none;align-items:flex-end;gap:8px;display:flex}.hero-profile-image{aspect-ratio:1;object-fit:cover;object-position:center 24%;border:1px solid #ffffff3d;border-radius:999px;width:clamp(140px,18vw,220px);height:auto;box-shadow:0 10px 26px #00000047}.hero-label{letter-spacing:.14em;color:var(--text-muted);text-transform:uppercase;margin-bottom:20px;font-size:10px}.hero-headline{color:var(--text);letter-spacing:-.02em;font-size:clamp(48px,9vw,72px);font-weight:500;line-height:.95}.hero-headline .outlined{-webkit-text-stroke:1.5px var(--text);color:#0000}.hero-bottom{z-index:2;justify-content:space-between;align-items:flex-end;gap:20px;padding:0 0 30px;display:flex;position:relative}@keyframes heroGradientShift{0%{transform:translate(0,0)scale(1)}50%{transform:translate(2%,-2%)scale(1.05)}to{transform:translate(-2%,2%)scale(1.02)}}.hero-desc{color:var(--text-muted);max-width:420px;font-size:13px;line-height:1.7}.hero-btns{gap:8px;display:flex}.btn-dark{background:var(--accent);color:#e9e3d7;border-radius:20px;padding:9px 20px;font-size:12px;font-weight:500;transition:transform .2s,box-shadow .2s}.btn-dark:hover{transform:translateY(-1px);box-shadow:0 8px 18px #58a6ff59}.btn-bare{color:var(--text-muted);border-bottom:.5px solid var(--text-muted);border-radius:0;padding:9px 0;font-size:12px;transition:color .2s}.btn-bare:hover{color:var(--text)}.marquee-strip{white-space:nowrap;background:#0b0f14;padding:12px 0;overflow:hidden}.marquee-inner{width:max-content;animation:18s linear infinite scroll;display:flex}.marquee-track{flex-shrink:0;justify-content:space-around;min-width:100%;display:flex}.marquee-item{color:var(--text);letter-spacing:.1em;text-transform:uppercase;border-right:.5px solid #ffffff26;padding:0 32px;font-size:11px;font-weight:500}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.projects{background:var(--surface);border-bottom:1.5px solid var(--border);padding:40px 32px}.sec-header{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.sec-title{letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;font-size:11px}.sec-count{color:var(--text-muted);font-size:11px}.proj-big{border:1.5px solid var(--border);border-radius:12px;grid-template-columns:.8fr 1.2fr;margin-bottom:10px;transition:transform .28s,box-shadow .28s;display:grid;overflow:hidden}.proj-big:hover{transform:translateY(-2px);box-shadow:0 10px 24px #1a1a1a1f}.proj-left{background:#10161d;flex-direction:column;justify-content:space-between;min-height:190px;padding:24px;display:flex}.proj-left-cover{background-position:50%;background-size:cover;position:relative;overflow:hidden}.proj-left-cover:before{content:"";background:linear-gradient(160deg,#080d124d 0%,#080d128c 58%,#080d12bd 100%);position:absolute;inset:0}.proj-left-cover>*{z-index:1;position:relative}.proj-num{color:#ffffff14;letter-spacing:-.04em;margin-bottom:10px;font-size:52px;font-weight:500;line-height:1}.proj-left-cover .proj-num{color:#ffffff47;text-shadow:0 4px 16px #00000059}[data-cover-tone=light] .proj-num{color:#ffffff8c;text-shadow:0 3px 12px #00000040}.proj-name-big{color:#fff;letter-spacing:-.02em;margin-bottom:6px;font-size:24px;font-weight:500}.proj-type{letter-spacing:.1em;color:#ffffff59;text-transform:uppercase;font-size:10px}[data-cover-tone=light] .proj-type{color:#ffffffeb;text-shadow:0 2px 12px #00000073}.proj-right{background:var(--surface-alt);flex-direction:column;justify-content:space-between;padding:20px;display:flex}.proj-desc-txt{color:var(--text);flex:1;font-size:13px;line-height:1.6}.proj-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.proj-actions{flex-direction:column;display:flex}.proj-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.proj-thumb{aspect-ratio:16/9;appearance:none;border:1px solid var(--border);cursor:zoom-in;background:#10161d;border-radius:6px;padding:0;transition:transform .2s;position:relative;overflow:hidden}.proj-thumb:hover{transform:translateY(-1px)}.proj-thumb-image{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.lightbox{z-index:1000;background:#000000c7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox-inner{max-width:min(1200px,100%);max-height:min(85vh,100%);position:relative}.lightbox-image{object-fit:contain;border:1px solid #fff3;border-radius:12px;width:100%;height:auto;max-height:85vh}.lightbox-close{background:var(--surface);width:32px;height:32px;color:var(--text);cursor:pointer;border:none;border-radius:999px;font-size:22px;line-height:1;position:absolute;top:-14px;right:-14px}.ptag{border:.5px solid var(--border);color:var(--text-muted);background:0 0;border-radius:20px;padding:4px 10px;font-size:10px}.proj-cta{width:fit-content;margin-top:12px;font-size:12px;font-weight:500}.proj-cta-primary{letter-spacing:.02em;color:#e9e3d7;background:var(--accent);border:1px solid var(--accent);border-radius:999px;align-self:flex-end;padding:10px 18px;font-size:13px;font-weight:600;transition:transform .2s,box-shadow .2s,background-color .2s,color .2s;box-shadow:0 10px 22px #58a6ff47}.proj-cta-primary:hover{background:#7db8ff;transform:translateY(-2px);box-shadow:0 14px 26px #58a6ff6b}.proj-cta-muted{color:var(--text-muted);border-bottom:.5px solid var(--border);padding-bottom:2px}.about{background:var(--surface-alt);border-bottom:1.5px solid var(--border);grid-template-columns:1fr 1fr;gap:48px;padding:48px 40px;display:grid}.about-big-text{color:var(--text);letter-spacing:-.01em;font-size:22px;font-weight:500;line-height:1.4}.about-big-text em{color:var(--text-muted);font-style:normal}.about-details{flex-direction:column;justify-content:center;display:flex}.about-row-item{border-bottom:.5px solid var(--border);justify-content:space-between;align-items:baseline;padding:14px 0;display:flex}.about-row-item:first-child{border-top:.5px solid var(--border)}.akey{color:var(--text-muted);font-size:11px}.aval{color:var(--text);font-size:12px;font-weight:500}.cta-section{background:#0b0f14;justify-content:space-between;align-items:center;gap:24px;padding:44px 40px;display:flex}.cta-big{color:#fff;letter-spacing:-.02em;font-size:clamp(32px,6vw,40px);font-weight:500;line-height:1.1}.cta-big em{-webkit-text-stroke:1px #fff6;color:#0000;font-style:normal}.cta-right{text-align:right;flex-direction:column;justify-content:center;align-items:flex-end;gap:10px;min-width:180px;margin-left:auto;display:flex}.cta-btn-cream{background:var(--accent);color:#e9e3d7;border-radius:20px;padding:10px 24px;font-size:12px;font-weight:500;transition:transform .2s,box-shadow .2s}.cta-btn-cream:hover{transform:translateY(-1px);box-shadow:0 8px 18px #58a6ff59}[data-theme=light] .marquee-strip{background:#171412}[data-theme=light] .marquee-item{color:#f3efe8}[data-theme=light] .nav-cta,[data-theme=light] .proj-cta-primary,[data-theme=light] .cta-btn-cream,[data-theme=light] .btn-dark{color:#f3efe8;background:#171412;border-color:#171412}[data-theme=light] .nav-cta:hover,[data-theme=light] .proj-cta-primary:hover,[data-theme=light] .cta-btn-cream:hover,[data-theme=light] .btn-dark:hover{background:#2a2420;box-shadow:0 8px 18px #17141238}.cta-sub{color:var(--text-muted);text-align:right;width:100%;font-size:11px}.footer{background:var(--surface);border-top:.5px solid var(--border);justify-content:space-between;align-items:center;padding:20px 40px;display:flex}.foot-name{color:var(--text-muted);font-size:12px}.foot-links{gap:20px;display:flex}.foot-links a{color:var(--text-muted);font-size:11px;transition:color .2s}.foot-links a:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.reveal,.reveal.is-visible,.marquee-inner,.proj-big,.btn-dark,.nav-cta,.cta-btn-cream{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}@media (max-width:900px){body{padding:10px}.nav,.hero,.projects,.about,.cta-section,.footer{padding-left:20px;padding-right:20px}.hero-top,.hero-bottom,.about,.cta-section,.footer{flex-direction:column;align-items:flex-start;gap:20px}.about{grid-template-columns:1fr}.hero-profile{order:-1;align-self:center;align-items:center;width:100%}.hero-top{align-items:center}.hero-top>div{width:100%}.hero-label,.hero-headline{text-align:center}.hero-bottom{align-items:flex-start}.hero-profile-image{width:min(220px,60vw)}.proj-big{grid-template-columns:1fr}.cta-right{text-align:center;align-items:center;width:100%;margin-left:0}.cta-section{align-items:center}.cta-big{text-align:center;width:100%}}
