@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.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.0jzbimsg8vl84.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.0-wfv7uh4i7h9.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.0nx0ww8fni_q3.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.09~u27dqhyhd6.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.0zgw-jeven.3w.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.0wkzw~je483f-.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.0rhz0arwfsn~5.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.0l76wvqk9d84w.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.0k4k9394f2q-k.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.08e28id.o-okb.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:300;font-display:swap;src:url(../media/7e832ad540183e91-s.0pw-43bjt5~5_.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:300;font-display:swap;src:url(../media/2094fb60fd9c8287-s.13c6n_dh74ayc.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:300;font-display:swap;src:url(../media/c875c6f5d3e977ac-s.p.0g_ng0t~d_b9n.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:400;font-display:swap;src:url(../media/41e95f694c5c4549-s.0r1jrq7neqdsq.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:400;font-display:swap;src:url(../media/6c55a692938ebbbc-s.0g6rbszwfgn9y.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:400;font-display:swap;src:url(../media/a218039a3287bcfd-s.p.17-1enzs_j91b.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:500;font-display:swap;src:url(../media/bdc7e24a509eb931-s.0apt5mko2.qn3.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.0ek5sshv8wk3m.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.0uvzar8hswo3p.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.1110aazvokzp..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.0esuu2f5si~v8.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.12skym0rqknxy.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.0carvq6u72s58.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.106do9xzbuago.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.0~mcdl10zdfb3.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_402b5cd-module__yrpiSG__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_402b5cd-module__yrpiSG__variable{--font-poppins:"Poppins", "Poppins Fallback"}
:root{--bg:#f6f4ef;--surface:#fff;--surface-2:#faf8f3;--ink:#14151a;--ink-2:#4a4d5a;--ink-3:#8a8d99;--line:#14151a14;--line-2:#14151a0d;--accent:#0682d4;--accent-2:#90d2ff;--accent-soft:#e3f1fc;--accent-ink:#0682d4;--accent-grad:linear-gradient(135deg, #90d2ff 0%, #0682d4 100%);--radius:14px;--radius-lg:20px;--shadow-sm:0 1px 2px #14151a0a;--shadow-md:0 4px 16px #14151a0f;--shadow-lg:0 12px 40px #14151a14;--sans:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", sans-serif;--serif:var(--font-poppins), ui-sans-serif, system-ui, -apple-system, sans-serif;--display:var(--font-poppins), ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:var(--font-geist-mono), ui-monospace, "SF Mono", Menlo, monospace;--sidebar-w:260px;--pad:48px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em;min-height:100vh;margin:0;padding:0;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:0;font-family:inherit}::selection{background:var(--accent-soft);color:var(--accent-ink)}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg);border-right:1px solid var(--line);flex-direction:column;gap:28px;height:100vh;padding:32px 24px 28px;display:flex;position:sticky;top:0}.profile{align-items:center;gap:14px;display:flex}.avatar{color:#fff;letter-spacing:-.02em;width:56px;height:56px;box-shadow:0 0 0 3px var(--surface), 0 0 0 4px var(--line);background:linear-gradient(135deg,#90d2ff 0%,#0682d4 100%);border-radius:50%;flex-shrink:0;place-items:center;font-size:18px;font-weight:600;display:grid;overflow:hidden}.avatar img{object-fit:cover;object-position:center 20%;width:100%;height:100%;display:block}.profile .who{flex-direction:column;min-width:0;line-height:1.25;display:flex}.profile .name{letter-spacing:-.02em;color:var(--ink);font-size:16.5px;font-weight:600}.profile .role{color:var(--ink-2);letter-spacing:-.005em;font-size:13px}.nav{flex-direction:column;gap:4px;display:flex}.nav-item{color:var(--ink-2);text-align:left;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;width:100%;padding:11px 14px;font-size:14.5px;font-weight:500;transition:background .16s,color .16s,border-color .16s;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--accent-soft);color:var(--accent-ink);border-color:color-mix(in oklab, var(--accent) 20%, transparent)}.nav-item .ico{color:currentColor;opacity:.85;place-items:center;width:18px;height:18px;display:inline-grid}.nav-item.active .ico{opacity:1}.sidebar .spacer{flex:1}.status{color:var(--ink-2);align-items:center;gap:8px;padding-left:4px;font-size:13px;display:flex}.status .dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse;box-shadow:0 0 0 4px #22c55e38;box-shadow:0 0 0 4px lab(70.2187% -57.9808 39.4382/.22)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.85)}}.hire-btn{color:#fff;letter-spacing:-.01em;box-shadow:0 6px 18px color-mix(in oklab, var(--accent) 35%, transparent);background:linear-gradient(135deg,#90d2ff 0%,#0682d4 100%);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-size:15px;font-weight:600;transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s;display:flex}.hire-btn:hover{box-shadow:0 10px 26px color-mix(in oklab, var(--accent) 45%, transparent);transform:translateY(-1px)}.hire-btn:active{transform:translateY(0)}.main{padding:56px var(--pad) 80px;max-width:1180px}.page-head{flex-direction:column;gap:8px;margin-bottom:40px;display:flex}.page-head h1{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:52px;font-weight:600;line-height:1.05}.page-head .sub{color:var(--ink-2);letter-spacing:-.005em;max-width:640px;font-size:16px}.page-head .kicker{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px;font-size:11.5px}.page{animation:.38s cubic-bezier(.2,.7,.2,1) both pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.project-stack{flex-direction:column;gap:24px;display:flex}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s;display:block;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in oklab, var(--accent) 14%, var(--line));transform:translateY(-2px)}.project-card .media{aspect-ratio:16/9;background:linear-gradient(135deg, var(--surface-2) 0%, var(--bg) 100%);place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.slot-placeholder{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border:1px dashed var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;font-size:11.5px}.project-card .meta{flex-direction:column;gap:10px;padding:22px 26px 26px;display:flex}.project-card .meta-top{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.project-card .title{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-size:24px;font-weight:600;line-height:1.2}.project-card .url{font-family:var(--mono);color:var(--ink-3);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.project-card:hover .url svg{transform:translate(2px,-2px)}.project-card .url svg{transition:transform .22s}.project-card .blurb{color:var(--ink-2);letter-spacing:-.005em;font-size:14.5px}.project-card .tags{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.tag{background:var(--accent-soft);color:var(--accent-ink);letter-spacing:-.005em;border-radius:999px;align-items:center;padding:5px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.project-card.featured .media{aspect-ratio:16/9}.project-card.featured .title{font-size:30px}.project-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.project-grid .project-card .title{font-size:21px}.section{flex-direction:column;gap:22px;margin-top:56px;display:flex}.section:first-child{margin-top:0}.section-title{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:30px;font-weight:600}.exp-list{flex-direction:column;gap:14px;display:flex}.exp-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:64px 1fr 220px;gap:24px;padding:24px 26px;display:grid}.exp-row.current{background:var(--accent-soft);border-color:color-mix(in oklab, var(--accent) 18%, transparent)}.exp-mark{background:var(--bg);border:1px solid var(--line);width:56px;height:56px;font-family:var(--mono);color:var(--ink-2);letter-spacing:.04em;text-align:center;border-radius:14px;place-items:center;padding:4px;font-size:11px;line-height:1.15;display:grid}.exp-row.current .exp-mark{background:var(--surface);color:var(--accent-ink)}.exp-body h3{letter-spacing:-.01em;color:var(--ink);margin:0 0 8px;font-size:17px;font-weight:600}.exp-body p{color:var(--ink-2);letter-spacing:-.005em;max-width:64ch;margin:0;font-size:14.5px}.exp-side{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;display:flex}.exp-side .when{color:var(--ink);font-size:14px;font-weight:500}.exp-row.current .exp-side .when{background:var(--surface);color:var(--accent-ink);border-radius:999px;padding:3px 10px;font-size:12.5px}.exp-side .where{color:var(--ink-2);align-items:center;gap:4px;font-size:13px;display:inline-flex}.skills-stack{flex-direction:column;gap:28px;display:flex}.skill-group{flex-direction:column;gap:14px;display:flex}.skill-group-head{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:12px;font-size:16px;font-weight:600;display:inline-flex}.skill-group-head .ico{background:var(--surface);border:1px solid var(--line);width:32px;height:32px;color:var(--ink-2);border-radius:10px;place-items:center;display:grid}.skill-subgroups{flex-direction:column;gap:18px;margin-top:2px;display:flex}.skill-subgroup{flex-direction:column;gap:10px;display:flex}.skill-subgroup-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11.5px}.skill-chips{flex-wrap:wrap;gap:10px;display:flex}.skill-chip{background:var(--accent-soft);color:var(--accent-ink);letter-spacing:-.005em;border:1px solid color-mix(in oklab, var(--accent) 14%, transparent);border-radius:999px;align-items:center;padding:10px 18px;font-size:14.5px;font-weight:500;display:inline-flex}.contact-grid{grid-template-columns:1.2fr 1fr;gap:24px;margin-top:8px;display:grid}.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:16px;padding:36px 40px;display:flex}.contact-card.big{background:radial-gradient(120% 90% at 0% 0%, #90d2ff8c 0%, #90d2ff00 60%), radial-gradient(60% 70% at 10% 0%, #0682d42e 0%, #0682d400 70%), var(--surface);border-color:#0000}.contact-card h2{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:38px;font-weight:600;line-height:1.1}.contact-card p{color:var(--ink-2);max-width:36ch;margin:0;font-size:15px}.contact-meta{color:var(--ink-3);font-size:13px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin-top:8px}.contact-list{flex-direction:column;gap:14px;margin-top:4px;display:flex}.contact-list .row{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:14px;padding:14px 18px;transition:background .18s,border-color .18s,transform .2s;display:flex}.contact-list .row:hover{background:var(--accent-soft);border-color:color-mix(in oklab, var(--accent) 22%, transparent);transform:translate(2px)}.contact-list .ico{background:var(--bg);border:1px solid var(--line);width:38px;height:38px;color:var(--ink-2);border-radius:10px;place-items:center;display:grid}.contact-list .row:hover .ico{background:var(--surface);color:var(--accent-ink);border-color:color-mix(in oklab, var(--accent) 18%, transparent)}.contact-list .row .lbl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.contact-list .row .val{color:var(--ink);letter-spacing:-.005em;font-size:15px}.contact-list .row .arr{color:var(--ink-3);margin-left:auto;transition:transform .2s,color .2s}.contact-list .row:hover .arr{color:var(--accent-ink);transform:translate(2px,-2px)}.coming{grid-template-columns:1fr 1fr;gap:24px;margin-top:16px;display:grid}.coming-card{aspect-ratio:4/3;border:1.5px dashed color-mix(in oklab, var(--accent) 28%, var(--line));border-radius:var(--radius-lg);background:repeating-linear-gradient(45deg, transparent 0 14px, color-mix(in oklab, var(--accent) 6%, transparent) 14px 15px), var(--surface);text-align:center;place-items:center;gap:8px;padding:28px;display:grid}.coming-card .ttl{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-size:24px;font-weight:600}.coming-card .sub{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11.5px}.gfx-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.gfx-grid .tile{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);place-items:center;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s;display:grid;position:relative;overflow:hidden}.gfx-grid .tile:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.gfx-grid .tile.wide{grid-column:span 2}.gfx-grid .tile.square{aspect-ratio:1}.gfx-grid .tile.portrait{aspect-ratio:3/4}.gfx-grid .tile.landscape{aspect-ratio:4/3}.gfx-grid .tile .cap{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#14151a8c;border-radius:999px;padding:5px 10px;font-size:11px;position:absolute;bottom:14px;left:14px}.social-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.social-grid .tile{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);place-items:center;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s;display:grid;position:relative;overflow:hidden}.social-grid .tile:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.gfx-masonry{columns:3;column-gap:16px}.gfx-masonry-item{break-inside:avoid;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);margin-bottom:16px;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s;overflow:hidden}.gfx-masonry-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.gfx-masonry-item img{width:100%;height:auto;display:block}.home-hero{background:radial-gradient(80% 110% at 100% 0%, #90d2ff8c 0%, #90d2ff00 60%), radial-gradient(50% 80% at 90% 10%, #0682d42e 0%, #0682d400 70%), var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);border-bottom:none;border-left:none;grid-template-columns:1.4fr auto;align-items:end;gap:32px;margin-bottom:40px;padding:44px 48px;display:grid}.home-hero .eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);align-items:center;gap:8px;margin-bottom:14px;font-size:11.5px;display:inline-flex}.home-hero .eyebrow:before{content:"";opacity:.6;background:currentColor;width:18px;height:1px}.home-hero h1{font-family:var(--serif);letter-spacing:-.025em;color:var(--ink);margin:0 0 18px;font-size:56px;font-weight:600;line-height:1.02}.home-hero h1 em{color:var(--accent-ink);font-style:normal;font-weight:600}.home-hero p{color:var(--ink-2);letter-spacing:-.005em;max-width:56ch;margin:0;font-size:16px}.home-hero .quick-stats{text-align:right;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);flex-direction:column;gap:14px;font-size:11px;display:flex}.home-hero .quick-stats .stat .num{font-family:var(--serif);color:var(--ink);letter-spacing:-.02em;text-transform:none;margin-bottom:4px;font-size:34px;font-weight:600;line-height:1;display:block}@media (max-width:1080px){:root{--sidebar-w:232px;--pad:36px}.home-hero{padding:36px}.home-hero h1{font-size:44px}.page-head h1{font-size:42px}.gfx-masonry{columns:2}}@media (max-width:720px){.app{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.main{padding:32px 24px 60px}.project-grid,.contact-grid,.coming,.gfx-grid,.social-grid,.home-hero{grid-template-columns:1fr!important}.gfx-masonry{columns:2}.exp-row{grid-template-columns:56px 1fr}.exp-side{text-align:left;flex-direction:row;grid-column:1/-1;align-items:flex-start;gap:16px}}
