@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2)format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2)format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2)format("woff2-variations");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-400-normal-Bh0R7Dhr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-ext-500-normal-C9ShMxGR.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-500-normal-CEVyPk4Y.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-vietnamese-500-normal-BvH7FW2L.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");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}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--bg-deep:#05060a;--text:#eef0f5;--text-2:#c9cfdb;--muted:#aab1c2;--accent:#ec7a45;--accent-ink:#140a04;--brand-red:#a8263b;--glass:#080a1266;--glass-blur:14px;--line:#ffffff1f;--line-2:#ffffff24;--line-strong:#ffffff4d;--accent-line:#ec7a45b3;--danger:#f06a6a;--success:#5fd39a;--font-sans:"Archivo Variable", "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--radius-card:22px;--radius-tile:18px;--radius-pill:999px;--ease-out:cubic-bezier(.2, .8, .2, 1)}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}a{color:var(--text)}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--accent-ink)}.grecaptcha-badge{visibility:hidden}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.glass{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius-card);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.label{font:400 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}.label--accent{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.55}.mono{font-family:var(--font-mono)}.nowrap{white-space:nowrap}.btn{border-radius:var(--radius-pill);min-height:44px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:15px;text-decoration:none;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.btn:hover{color:inherit}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover:not(:disabled){background:var(--text);color:var(--accent-ink)}.btn--outline{border-color:var(--line-strong)}.btn--outline:hover:not(:disabled){background:var(--text);color:var(--bg-deep)}.btn--danger{border-color:var(--line-strong)}.btn--danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.btn--link{min-height:0;color:var(--accent);align-self:flex-start;padding:0}.btn--link:hover:not(:disabled){color:var(--text)}.btn--lg{min-height:50px;padding:0 26px;font-size:16px}.btn--sm{min-height:36px;padding:0 16px;font-size:14px}.btn--xs{min-height:30px;padding:0 12px;font-size:13px}.form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field__label{font:400 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.field__error{color:var(--danger);font-size:13px}.input,.select,.textarea{border:1px solid var(--line);width:100%;min-height:48px;color:var(--text);font:inherit;background:#ffffff0a;border-radius:14px;outline:none;padding:0 16px;font-size:16px;transition:border-color .2s,background .2s}.textarea{resize:vertical;min-height:140px;padding:14px 16px;line-height:1.55}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-line);background:#ffffff0f}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.select option{background:var(--bg-deep)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;display:grid}.form-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:2px 0 0}.check--boxed{border:1px solid var(--line);color:var(--text-2);border-radius:14px;padding:14px 16px}.check--boxed a{color:var(--accent)}.fieldset{border:1px solid var(--line);border-radius:14px;margin:0;padding:16px}.fieldset legend{font:400 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 6px}.notice{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;padding:12px 16px;font-size:14px;line-height:1.55}.notice--error{color:#ffd1d1;border-color:#f06a6a80}.notice--success{color:#cdf5e1;border-color:#5fd39a80}.loading{place-items:center;padding:48px 0;display:grid}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{color:var(--muted);margin:0;padding:32px 0}.boot{background:var(--bg);min-height:100vh}.logo{border-radius:8px;display:block}.logo-link{border-radius:8px;display:inline-flex}.lang-pill{border-radius:var(--radius-pill);border:1px solid var(--line-strong);color:var(--muted);font:400 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;padding:9px 16px;transition:border-color .3s,color .3s}.lang-pill:hover{border-color:var(--text)}.lang-pill__on{color:var(--text)}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.home{--u:min(calc(100vw / 1280), calc(100vh / 760));--pad:calc(48 * var(--u));color:#eef0f5;font-family:var(--font-sans);background:#000;position:fixed;inset:0;overflow:hidden}@supports (height:100dvh){.home{--u:min(calc(100vw / 1280), calc(100dvh / 760))}}.home__gl{width:100%;height:100%;display:block;position:absolute;inset:0}.home__flash{opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.home__mono{font:400 max(10px, calc(12 * var(--u))) var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#aab1c2}.home__mono--accent,.home__accent{color:#ec7a45}.home__nav{z-index:2;padding:max(calc(30 * var(--u)), env(safe-area-inset-top,0px)) var(--pad) calc(30 * var(--u));justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.home__logo{width:max(28px, calc(36 * var(--u)));height:max(28px, calc(36 * var(--u)));border-radius:calc(8 * var(--u));display:block}.home__links{gap:calc(28 * var(--u));font-size:max(12px, calc(14 * var(--u)));display:flex}.home__links a{color:#c9cfdb;text-decoration:none;transition:color .3s}.home__links a:hover{color:#ec7a45}.home__lang{padding:calc(9 * var(--u)) calc(16 * var(--u));color:#aab1c2;font:400 max(10px, calc(12 * var(--u))) var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:999px;transition:border-color .3s}.home__lang:hover{border-color:#eef0f5}.home__lang-on{color:#eef0f5}.home__scroll{scrollbar-width:none;overscroll-behavior:contain;position:absolute;inset:0;overflow-y:hidden}.home__scroll::-webkit-scrollbar{display:none}.home__card{border-radius:calc(22 * var(--u));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080a1266;border:1px solid #ffffff1f}.home__hero{height:100%;position:relative}.home__hero-copy{left:var(--pad);bottom:calc(56 * var(--u));max-width:calc(900 * var(--u));gap:calc(22 * var(--u));flex-direction:column;display:flex;position:absolute}.home__name{font-size:calc(136 * var(--u));letter-spacing:-.045em;font-variation-settings:"wght" 800;margin:0;font-weight:800;line-height:.9}.home__line{display:block;overflow:hidden}.home__line>span{will-change:transform;display:block}.home__line--first{padding:calc(14 * var(--u)) 0 calc(22 * var(--u));margin-bottom:calc(-22 * var(--u))}.home__line--last{padding:calc(14 * var(--u)) 0 calc(26 * var(--u));margin-bottom:calc(-26 * var(--u))}.home__tagline{max-width:calc(460 * var(--u));font-size:max(15px, calc(20 * var(--u)));color:#c9cfdb;text-wrap:pretty;margin:0;line-height:1.45}.home__meta{right:var(--pad);bottom:calc(58 * var(--u));align-items:flex-end;gap:calc(8 * var(--u));flex-direction:column;display:flex;position:absolute}.home__about{min-height:100%;padding:0 var(--pad);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.home__about-card{gap:calc(28 * var(--u));padding:calc(40 * var(--u));flex-direction:column;display:flex}.home__about-text{font-size:max(18px, calc(36 * var(--u)));letter-spacing:-.02em;font-variation-settings:"wght" 450;text-wrap:pretty;margin:0;font-weight:450;line-height:1.18}.home__buttons{gap:calc(12 * var(--u));flex-wrap:wrap;display:flex}.home__btn{padding:calc(13 * var(--u)) calc(22 * var(--u));font-size:max(13px, calc(15 * var(--u)));cursor:pointer;border-radius:999px;text-decoration:none;transition:background .3s,color .3s}.home__btn--outline{color:#eef0f5;border:1px solid #ffffff4d}.home__btn--outline:hover{color:#05060a;background:#eef0f5}.home__btn--accent{color:#140a04;background:#ec7a45}.home__btn--accent:hover{color:#140a04;background:#eef0f5}.home__projects{min-height:100%;padding:calc(120 * var(--u)) var(--pad) calc(80 * var(--u));gap:calc(36 * var(--u));flex-direction:column;display:flex}.home__projects-head{justify-content:space-between;align-items:flex-end;display:flex}.home__projects-head .home__mono{padding-bottom:calc(10 * var(--u))}.home__projects-title{font-size:calc(112 * var(--u));letter-spacing:-.045em;font-variation-settings:"wght" 750;margin:0;font-weight:750;line-height:.9}.home__projects-side{align-items:flex-end;gap:calc(28 * var(--u));display:flex}.home__rail-controls{gap:calc(10 * var(--u));display:flex}.home__rail-btn{width:max(38px, calc(46 * var(--u)));height:max(38px, calc(46 * var(--u)));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#eef0f5;font:400 max(15px, calc(17 * var(--u))) var(--font-mono);cursor:pointer;background:#080a1266;border:1px solid #ffffff38;border-radius:999px;transition:border-color .3s,color .3s,opacity .3s}.home__rail-btn:hover:not(:disabled),.home__rail-btn:focus-visible{color:#ec7a45;border-color:#ec7a45;outline:none}.home__rail-btn:disabled{opacity:.3;cursor:default}.home__rail{gap:calc(18 * var(--u));margin:calc(-14 * var(--u)) calc(-1 * var(--pad));padding:calc(14 * var(--u)) var(--pad);scroll-padding-inline:var(--pad);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;display:flex;position:relative;overflow:auto hidden}.home__rail::-webkit-scrollbar{display:none}.home__rail.is-dragging{cursor:grabbing;scroll-snap-type:none;-webkit-user-select:none;user-select:none}.home__rail-track{background:#ffffff1f;height:1px;position:relative;overflow:hidden}.home__rail-thumb{background:#ec7a45;width:100%;position:absolute;inset:0 auto 0 0}.home__tile{flex:0 0 max(252px, calc(270 * var(--u)));scroll-snap-align:start;perspective:calc(1400 * var(--u));border-radius:calc(18 * var(--u));cursor:pointer;outline:none;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.home__rail.is-dragging .home__tile{cursor:grabbing}.home__tile:hover{transform:translateY(calc(-8 * var(--u)))}.home__tile-inner{height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.8,.2,1);position:relative}.home__tile.is-flipped .home__tile-inner,.home__tile:focus-visible .home__tile-inner{transform:rotateY(180deg)}@media (hover:hover){.home__rail:not(.is-dragging) .home__tile:hover .home__tile-inner{transform:rotateY(180deg)}}.home__tile-face{border-radius:calc(18 * var(--u));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);backface-visibility:hidden;background:#080a1266;border:1px solid #ffffff1f;transition:border-color .3s}.home__tile:hover .home__tile-face,.home__tile:focus-visible .home__tile-face,.home__tile.is-flipped .home__tile-face{border-color:#ec7a45b3}.home__tile-front{gap:calc(12 * var(--u));height:100%;padding:calc(14 * var(--u));flex-direction:column;display:flex}.home__tile-image{aspect-ratio:3/4;border-radius:calc(12 * var(--u));justify-content:center;align-items:center;gap:calc(10 * var(--u));padding:calc(16 * var(--u));text-align:center;font:400 max(10px, calc(11 * var(--u))) var(--font-mono);color:#aab1c2;background:repeating-linear-gradient(135deg,#ffffff0d 0 10px,#ffffff17 10px 20px);flex-direction:column;display:flex;position:relative}.home__tile-index{font:400 max(10px, calc(11 * var(--u))) var(--font-mono);letter-spacing:.1em;color:#ec7a45}.home__tile-image .home__tile-index{top:calc(14 * var(--u));left:calc(14 * var(--u));position:absolute}.home__tile-hint{right:calc(14 * var(--u));bottom:calc(14 * var(--u));letter-spacing:.1em;text-transform:uppercase;transition:color .3s;position:absolute}.home__tile:hover .home__tile-hint{color:#ec7a45}.home__tile-stat{font-family:var(--font-sans);font-size:max(24px, calc(40 * var(--u)));letter-spacing:-.03em;font-variation-settings:"wght" 750;color:#eef0f5;font-weight:750;line-height:1}.home__tile-caption{letter-spacing:.04em;text-transform:uppercase;max-width:18ch;line-height:1.5}.home__tile-row{justify-content:space-between;align-items:baseline;gap:calc(8 * var(--u));display:flex}.home__tile-name{font-size:max(14px, calc(19 * var(--u)));font-variation-settings:"wght" 600;margin:0;font-weight:600;line-height:1.2}.home__tile-year{white-space:nowrap;font:400 max(10px, calc(11 * var(--u))) var(--font-mono);color:#aab1c2;flex:none}.home__tile-back{gap:calc(10 * var(--u));padding:calc(16 * var(--u));scrollbar-width:thin;background:#080a12c7;flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto;transform:rotateY(180deg)}.home__tile-back-head{align-items:baseline;gap:calc(10 * var(--u));padding-bottom:calc(10 * var(--u));border-bottom:1px solid #ffffff1f;display:flex}.home__tile-back-name{font-size:max(14px, calc(17 * var(--u)));font-variation-settings:"wght" 600;font-weight:600;line-height:1.2}.home__tile-block{gap:calc(4 * var(--u));flex-direction:column;display:flex}.home__tile-label{font:400 max(10px, calc(10.5 * var(--u))) var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#aab1c2}.home__tile-plain{font-size:max(12px, calc(13 * var(--u)));color:#eef0f5;margin:0;line-height:1.42}.home__tile-pro{font:400 max(10px, calc(11 * var(--u))) / 1.5 var(--font-mono);color:#aab1c2;margin:0}.home__tile-tags{gap:calc(6 * var(--u));flex-wrap:wrap;margin:auto 0 0;padding:0;list-style:none;display:flex}.home__tile-tags li{padding:calc(4 * var(--u)) calc(9 * var(--u));font:400 max(9.5px, calc(10 * var(--u))) var(--font-mono);letter-spacing:.04em;color:#eef0f5;white-space:nowrap;border:1px solid #ffffff29;border-radius:999px}.home__experience{min-height:100%;padding:0 var(--pad);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;display:grid}.home__exp-card{padding:calc(36 * var(--u)) calc(40 * var(--u));flex-direction:column;display:flex}.home__exp-head{margin-bottom:calc(18 * var(--u));justify-content:space-between;align-items:baseline;display:flex}.home__exp-title{font-size:calc(64 * var(--u));letter-spacing:-.04em;font-variation-settings:"wght" 750;margin:0;font-weight:750;line-height:1}.home__exp-row{grid-template-columns:calc(150 * var(--u)) minmax(0, 1fr) minmax(0, 1fr);align-items:baseline;gap:calc(12 * var(--u));padding:calc(20 * var(--u)) 0;border-top:1px solid #ffffff24;transition:color .3s;display:grid}.home__exp-row:hover{color:#ec7a45}.home__exp-years{font:400 max(10px, calc(12 * var(--u))) var(--font-mono);color:#aab1c2}.home__exp-role{font-size:max(15px, calc(22 * var(--u)));font-variation-settings:"wght" 600;font-weight:600}.home__exp-org{font-size:max(15px, calc(22 * var(--u)));color:#aab1c2}.home__contact{min-height:100%;padding:calc(130 * var(--u)) var(--pad) max(calc(36 * var(--u)), env(safe-area-inset-bottom,0px));flex-direction:column;justify-content:space-between;display:flex}.home__contact-main{text-align:center;align-items:center;gap:calc(34 * var(--u));flex-direction:column;display:flex}.home__contact-title{font-size:calc(124 * var(--u));letter-spacing:-.05em;font-variation-settings:"wght" 800;margin:0;font-weight:800;line-height:.92}.home__contact-cta{display:flex}.home__cta{padding:calc(20 * var(--u)) calc(32 * var(--u));color:#140a04;font:inherit;font-size:max(16px, calc(24 * var(--u)));cursor:pointer;background:#ec7a45;border:0;border-radius:999px;transition:background .3s}.home__cta:hover{background:#eef0f5}.home__footer{padding-top:calc(20 * var(--u));font-size:max(12px, calc(13 * var(--u)));color:#aab1c2;border-top:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:16px;display:flex}.home__social{gap:calc(22 * var(--u));display:flex}.home__social a{color:#eef0f5;text-decoration:none}.home__footer-right{justify-content:flex-end;align-items:center;gap:calc(18 * var(--u));flex-wrap:wrap;display:flex}.home__footer-right a{color:#aab1c2;text-decoration:none}.home__footer-right a:hover,.home__social a:hover{color:#ec7a45}.home__credit{opacity:.6;font-size:.85em}.home__hud{left:var(--pad);bottom:calc(40 * var(--u));pointer-events:none;font:400 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;flex-direction:column;gap:8px;display:none;position:absolute}.home__skip{top:max(calc(24 * var(--u)), env(safe-area-inset-top,0px));right:calc(32 * var(--u));z-index:3;padding:calc(9 * var(--u)) calc(16 * var(--u));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:400 max(10px, calc(12 * var(--u))) var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#00000059;border:1px solid #ffffff59;border-radius:999px;position:absolute}.contact-dialog{color:#eef0f5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#080a12c7;border:1px solid #ffffff1f;border-radius:22px;width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);padding:clamp(22px,4vw,36px);overflow-y:auto}.contact-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.contact-dialog__head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.contact-dialog__close{color:#eef0f5;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:50%;width:40px;height:40px;font-size:22px;line-height:1;transition:background .3s,color .3s}.contact-dialog__close:hover{color:#05060a;background:#eef0f5}.contact-dialog__title{letter-spacing:-.04em;font-variation-settings:"wght" 800;margin:0;font-size:clamp(34px,6vw,48px);font-weight:800;line-height:.95}.contact-dialog__lead{color:#c9cfdb;margin:0 0 4px;line-height:1.5}.contact-dialog__done{flex-direction:column;align-items:flex-start;gap:16px;padding:12px 0 4px;display:flex}.contact-dialog__recaptcha{color:#aab1c2;margin:0;font-size:12px;line-height:1.5}.contact-dialog__recaptcha a{color:#c9cfdb}@media (width<=760px),(orientation:portrait) and (width<=1100px){.home{--pad:20px}.home__nav{padding:max(18px, env(safe-area-inset-top,0px)) var(--pad) 18px}.home__links{display:none}.home__hero-copy{right:var(--pad);gap:16px;max-width:none;bottom:104px}.home__name{font-size:min(15vw,132px)}.home__line--first,.home__line--last{padding-top:8px}.home__tagline{max-width:32ch;font-size:17px}.home__meta{left:var(--pad);flex-direction:row;gap:16px;bottom:40px;right:auto}.home__about,.home__experience{padding:96px var(--pad);grid-template-columns:minmax(0,1fr)}.home__about>div:first-child,.home__experience>div:last-child{display:none}.home__about-card{border-radius:20px;gap:20px;padding:24px}.home__about-text{font-size:min(6.4vw,34px)}.home__btn{padding:12px 20px;font-size:15px}.home__projects{padding:96px var(--pad) 64px;gap:24px}.home__projects-head{flex-direction:column;align-items:flex-start;gap:8px}.home__projects-title{font-size:min(16vw,112px)}.home__projects-side{justify-content:space-between;align-items:center;width:100%}.home__rail{gap:12px;margin-block:-12px;padding-block:12px}.home__tile{flex-basis:min(76vw,300px)}.home__tile,.home__tile-face{border-radius:16px}.home__tile-front{gap:10px;padding:10px}.home__tile-image{gap:10px;padding:16px}.home__tile-image .home__tile-index{top:14px;left:14px}.home__tile-hint{bottom:14px;right:14px}.home__tile-back{gap:14px;padding:20px}.home__tile-back-head{gap:10px;padding-bottom:12px}.home__tile-block,.home__tile-tags{gap:6px}.home__tile-tags li{padding:4px 10px}.home__exp-card{border-radius:20px;padding:24px 20px}.home__exp-title{font-size:min(12vw,64px)}.home__exp-row{grid-template-columns:minmax(0,1fr);gap:4px;padding:16px 0}.home__exp-role,.home__exp-org{font-size:18px}.home__contact{padding:96px var(--pad) max(28px, env(safe-area-inset-bottom,0px));gap:48px}.home__contact-main{gap:24px}.home__contact-title{font-size:min(13.5vw,124px)}.home__cta{padding:16px 26px;font-size:18px}.home__footer{flex-direction:column;align-items:flex-start;gap:14px}.home__footer-right{justify-content:flex-start}.home__skip{top:max(16px, env(safe-area-inset-top,0px));right:16px}}@media (hover:none){.home__meta-cursor{display:none}.home__tile:hover{transform:none}.home__rail{cursor:auto}}@media (prefers-reduced-motion:reduce){.home__tile,.home__tile-inner,.home__btn,.home__cta{transition:none}}.site-page{background:radial-gradient(1000px 520px at 80% -10%, #ec7a451a, transparent 60%), radial-gradient(800px 460px at -10% 100%, #4266aa1f, transparent 60%), var(--bg);flex-direction:column;min-height:100vh;display:flex}.site-page__bar{padding:max(24px, env(safe-area-inset-top,0px)) clamp(16px, 4vw, 48px) 24px;justify-content:space-between;align-items:center;gap:16px;display:flex}.site-page__actions{align-items:center;gap:18px;display:flex}.site-page__back{font:400 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none}.site-page__main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:0 clamp(16px,4vw,48px) 72px}.legal{flex-direction:column;gap:12px;padding:clamp(24px,5vw,48px);display:flex}.legal__title{letter-spacing:-.045em;font-variation-settings:"wght" 800;margin:4px 0 0;font-size:clamp(40px,8vw,72px);font-weight:800;line-height:.95}.prose{color:var(--text-2);margin-top:16px;font-size:16px;line-height:1.7}.prose h2{color:var(--text);letter-spacing:-.01em;font-variation-settings:"wght" 650;margin:32px 0 8px;font-size:22px;font-weight:650}.prose p,.prose ul{margin:0 0 12px}.prose ul{padding-left:22px}.prose a{color:var(--accent)}.prose strong{color:var(--text)}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;gap:24px;min-height:60vh;display:flex}.not-found__title{letter-spacing:-.045em;font-variation-settings:"wght" 800;max-width:14ch;margin:0;font-size:clamp(44px,9vw,112px);font-weight:800;line-height:.92}
