@font-face{font-family:Rubik;font-style:normal;font-weight:300;font-display:swap;src:url(../media/098850a6eb1f8577-s.1e7lfzpvfrh7f.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:300;font-display:swap;src:url(../media/6dac7af80352e41b-s.1-avrnevmoafi.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:Rubik;font-style:normal;font-weight:300;font-display:swap;src:url(../media/21445b8bd0ec5702-s.1n1ntp5se85-_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:300;font-display:swap;src:url(../media/87c7f5b5afcd23bd-s.p.0kf5m0zv7sxld.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:300;font-display:swap;src:url(../media/d25394c5b8ff78eb-s.0ongx-zmnmtio.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:Rubik;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c9f6ebf08ddd616b-s.p.0sv86lbjkn8rn.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:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/098850a6eb1f8577-s.1e7lfzpvfrh7f.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6dac7af80352e41b-s.1-avrnevmoafi.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:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/21445b8bd0ec5702-s.1n1ntp5se85-_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/87c7f5b5afcd23bd-s.p.0kf5m0zv7sxld.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d25394c5b8ff78eb-s.0ongx-zmnmtio.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:Rubik;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c9f6ebf08ddd616b-s.p.0sv86lbjkn8rn.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:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/098850a6eb1f8577-s.1e7lfzpvfrh7f.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6dac7af80352e41b-s.1-avrnevmoafi.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:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/21445b8bd0ec5702-s.1n1ntp5se85-_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/87c7f5b5afcd23bd-s.p.0kf5m0zv7sxld.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d25394c5b8ff78eb-s.0ongx-zmnmtio.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:Rubik;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c9f6ebf08ddd616b-s.p.0sv86lbjkn8rn.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:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/098850a6eb1f8577-s.1e7lfzpvfrh7f.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6dac7af80352e41b-s.1-avrnevmoafi.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:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/21445b8bd0ec5702-s.1n1ntp5se85-_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/87c7f5b5afcd23bd-s.p.0kf5m0zv7sxld.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d25394c5b8ff78eb-s.0ongx-zmnmtio.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:Rubik;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c9f6ebf08ddd616b-s.p.0sv86lbjkn8rn.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:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/098850a6eb1f8577-s.1e7lfzpvfrh7f.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6dac7af80352e41b-s.1-avrnevmoafi.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:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/21445b8bd0ec5702-s.1n1ntp5se85-_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/87c7f5b5afcd23bd-s.p.0kf5m0zv7sxld.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d25394c5b8ff78eb-s.0ongx-zmnmtio.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:Rubik;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c9f6ebf08ddd616b-s.p.0sv86lbjkn8rn.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:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(../media/098850a6eb1f8577-s.1e7lfzpvfrh7f.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(../media/6dac7af80352e41b-s.1-avrnevmoafi.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:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(../media/21445b8bd0ec5702-s.1n1ntp5se85-_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(../media/87c7f5b5afcd23bd-s.p.0kf5m0zv7sxld.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(../media/d25394c5b8ff78eb-s.0ongx-zmnmtio.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:Rubik;font-style:normal;font-weight:800;font-display:swap;src:url(../media/c9f6ebf08ddd616b-s.p.0sv86lbjkn8rn.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:Rubik Fallback;src:local(Arial);ascent-override:89.06%;descent-override:23.81%;line-gap-override:0.0%;size-adjust:104.98%}.rubik_b838d0bf-module__wGO2ma__className{font-family:Rubik,Rubik Fallback;font-style:normal}.rubik_b838d0bf-module__wGO2ma__variable{--font-rubik:"Rubik", "Rubik Fallback"}
:root{--ink:#1f211a;--ink-2:#2b2d24;--cream:#ebe6dc;--cream-2:#e1dbcf;--muted:#b9b4a8;--dim:#6b6a5c;--accent:#ce6234;--paper:#34372c;--ease:cubic-bezier(.2, .7, .2, 1)}@supports (color:lab(0% 0 0)){:root{--accent:lab(54.796% 41.7798 46.109)}}*{box-sizing:border-box}html,body{background:var(--ink);margin:0}body{color:var(--cream);font-family:var(--font-rubik), Rubik, sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}::selection{background:var(--accent);color:var(--ink)}img{max-width:100%}.cv{background:var(--ink);min-height:100vh}[data-pin]{position:sticky;top:0}#top{z-index:1}#about{z-index:2}#experience{z-index:3;overflow-anchor:none}.projects{z-index:4}#education{z-index:5}#contact{z-index:6}[data-pin-inner]{transform-origin:50% 0;position:relative}[data-pin-shade]{z-index:6;opacity:0;pointer-events:none;border-radius:inherit;background:#000;position:absolute;inset:0}html:has(.intro){overflow:hidden}.intro{z-index:200;background:var(--cream);width:100%;color:var(--ink);text-align:start;cursor:pointer;clip-path:inset(0);border:0;flex-direction:column;justify-content:space-between;gap:28px;margin:0;padding:7vh 7vw 6vh;display:flex;position:fixed;inset:0}.intro[data-leave="1"]{animation:.72s cubic-bezier(.7,0,.2,1) forwards intro-shut}@keyframes intro-shut{to{clip-path:inset(50% 0)}}.intro-top{justify-content:space-between;align-items:baseline;gap:24px;font-size:14px;font-weight:600;display:flex}.intro-top b{font-variant-numeric:tabular-nums;color:var(--accent);font-size:22px;font-weight:600}.intro h2{letter-spacing:-.045em;margin:0;font-size:clamp(52px,8.4vw,128px);font-style:italic;font-weight:700;line-height:.92}.intro h2 span{animation:intro-line .8s var(--ease) both;display:block}.intro h2 span:nth-child(2){animation-delay:80ms}.intro h2 span:nth-child(3){animation-delay:.16s}@keyframes intro-line{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.intro-meter{background:#1f211a29;height:2px}.intro-meter i{background:var(--accent);height:100%;transform-origin:var(--origin,right);display:block;transform:scaleX(0)}html:has(.lang-shift){overflow:hidden}.lang-shift{z-index:230;background:var(--cream);width:100%;color:var(--ink);text-align:start;cursor:pointer;clip-path:inset(0);border:0;flex-direction:column;justify-content:space-between;gap:28px;margin:0;padding:7vh 7vw 6vh;animation:.5s cubic-bezier(.7,0,.2,1) both lang-open;display:flex;position:fixed;inset:0}.lang-shift[data-leave="1"]{animation:.58s cubic-bezier(.7,0,.2,1) forwards lang-shut}@keyframes lang-open{0%{clip-path:inset(50% 0)}to{clip-path:inset(0)}}@keyframes lang-shut{0%{clip-path:inset(0)}to{clip-path:inset(50% 0)}}.lang-shift-top{justify-content:space-between;align-items:baseline;gap:24px;font-size:14px;font-weight:600;display:flex}.lang-shift-top b{letter-spacing:.14em;color:var(--accent);font-size:22px;font-weight:600}.lang-shift h2{letter-spacing:-.055em;margin:0;font-size:clamp(92px,16vw,220px);font-style:italic;font-weight:700;line-height:.86}.lang-shift h2 span{animation:intro-line .55s var(--ease) both;display:inline-block}.lang-shift-meter{background:#1f211a29;height:2px}.lang-shift-meter i{background:var(--accent);height:100%;transform-origin:var(--origin,left);animation:lang-meter .7s var(--ease) .28s forwards;display:block;transform:scaleX(0)}@keyframes lang-meter{to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.intro,.lang-shift{display:none}}.nav{z-index:50;pointer-events:none;justify-content:flex-end;align-items:center;gap:12px;display:flex;position:fixed;top:16px;left:16px;right:16px}.nav>*{pointer-events:auto}.nav-pills,.pdf-btn,.lang-btn{cursor:pointer;border:0}.nav-side{pointer-events:auto;align-items:center;gap:8px;display:flex}.nav-tools{align-items:center;gap:8px;display:flex}.nav-pills{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1f211ab8;border-radius:40px;flex-wrap:wrap;justify-content:flex-end;gap:4px;padding:5px;display:flex}.nav-pills a{color:var(--cream);background:0 0;border-radius:40px;padding:8px 14px;font-size:13px;transition:background .25s,color .25s}.nav-pills a:hover{background:var(--cream);color:var(--ink)}.lang-btn,.pdf-btn{border-radius:40px;padding:10px 16px;font-size:13px;font-weight:600;transition:background .25s,color .25s}.lang-btn{background:var(--accent);color:var(--ink)}.lang-btn:disabled{opacity:.7;cursor:progress}.pdf-btn{background:var(--cream);color:var(--ink)}.pdf-btn:hover,.lang-btn:hover{filter:brightness(1.06)}.pdf-btn:disabled{opacity:.7;cursor:progress}.dots{inset-inline-end:22px;z-index:49;mix-blend-mode:difference;flex-direction:column;gap:10px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.dots a{box-sizing:border-box;width:8px;height:8px;transition:height .5s var(--ease), background .3s;border:1.5px solid #fff;border-radius:8px;display:block}.dots a[data-on="1"]{background:#fff;height:26px}.hero{color:#fff;background:#0f100c;height:100vh;min-height:640px;position:relative;overflow:hidden}.hero-photo{transform-origin:50% 40%;position:absolute;inset:-4% 0 0}.hero-photo img{object-fit:cover;object-position:54% 26%}.cv[dir=rtl] .hero-photo img{transform:translate(-12%)translateY(12%)scale(1.28)}.cv[dir=ltr] .hero-photo img{transform:translate(15%)translateY(20%)scale(1.34)}.hero-shade{pointer-events:none;background:linear-gradient(#0a0a088c 0%,#0a0a0800 32% 52%,#0a0a08d1 100%);position:absolute;inset:0}.spine{inset-block:0;pointer-events:none;justify-content:center;align-items:flex-end;width:64px;padding-bottom:4vh;display:flex;position:absolute;left:0}.spine span{writing-mode:vertical-rl;letter-spacing:.4em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:600;transform:rotate(180deg)}.hero-copy{top:15vh;pointer-events:none;flex-direction:column;gap:10px;max-width:62vw;display:flex;position:absolute;inset-inline-start:7vw}.kicker{font-size:clamp(16px,1.4vw,22px);font-style:italic;font-weight:500}.hero-copy h1{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(44px,6.2vw,112px);font-style:italic;font-weight:700;line-height:.98}.hero-bottom{inset-inline:7vw;flex-direction:column;gap:5vh;display:flex;position:absolute;bottom:max(4vh,84px)}.expertise{flex-direction:column;gap:14px;display:flex}.expertise a{color:#ffffffd1;transition:gap .35s var(--ease), color .3s;align-self:flex-start;align-items:center;gap:14px;font-size:clamp(18px,1.5vw,24px);display:flex}.expertise a:hover{color:#fff;gap:26px}.cv[dir=rtl] .expertise{align-items:flex-end}.cv[dir=rtl] .expertise a{align-self:flex-end}.stats{border-top:1px solid #ffffff2e;grid-template-columns:repeat(4,minmax(0,1fr));padding-right:max(0px,248px - 7vw);display:grid}.stats div{border-inline-start:1px solid #ffffff2e;flex-direction:column;gap:4px;min-width:0;padding:16px 16px 8px;display:flex}.stats strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(28px,2.6vw,48px);font-weight:600;line-height:1}.stats span{opacity:.75;font-size:13px}.nav-pills a:focus-visible,.pdf-btn:focus-visible,.lang-btn:focus-visible{outline:2px solid var(--cream);outline-offset:3px}.about-sheet,.edu-sheet,.contact-sheet,.exp-sheet{transform-origin:50% 0;position:relative}.about-sheet{background:var(--ink-2);min-height:100vh;color:var(--cream);border-radius:28px 28px 0 0;padding:18vh 6vw 14vh;overflow:hidden;box-shadow:0 -30px 60px #0000004d}.about-photo{top:0;width:48vw;height:min(120vh,1100px);-webkit-mask-image:linear-gradient(var(--mask,to right), #000 30%, transparent 92%);-webkit-mask-image:linear-gradient(var(--mask,to right), #000 30%, transparent 92%);mask-image:linear-gradient(var(--mask,to right), #000 30%, transparent 92%);border-start-start-radius:28px;position:absolute;inset-inline-start:0;overflow:hidden}.about-photo .fade{position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.about-photo [data-par-y]{filter:grayscale()contrast(1.1)brightness(.78);mix-blend-mode:luminosity;position:absolute;inset:-8% 0}.about-photo img{object-fit:cover;object-position:center 20%}.about-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:5vw;display:grid;position:relative}.about-copy{grid-column:2}.statement{letter-spacing:-.03em;flex-wrap:wrap;column-gap:.26em;margin:0;font-size:clamp(30px,4vw,66px);font-weight:500;line-height:1.1;display:flex}.statement span{opacity:.18;transition:opacity .25s linear}.about-prose{flex-direction:column;gap:22px;max-width:40rem;margin-top:36px;display:flex}.about-prose p{color:var(--muted);text-wrap:pretty;margin:0;font-size:17px;font-weight:300;line-height:1.7}.about-prose bdi{unicode-bidi:isolate}.exp-sheet{min-height:100vh}.exp-panel{background:var(--cream);min-height:100vh;color:var(--ink);padding:16vh 6vw 14vh;position:relative}.section-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:8vh;display:flex}.section-head h2,.skills-block h2,.contact-title{letter-spacing:-.055em;margin:0;font-weight:800;line-height:.82}.section-head h2{font-size:clamp(64px,10vw,180px)}.section-head span{color:var(--dim);font-size:15px;font-weight:500}.exp-list{flex-direction:column;gap:12px;display:flex}.exp-card{cursor:pointer;text-align:start;width:100%;color:inherit;background:var(--cream-2);transition:border-radius .7s var(--ease), opacity .45s;border:0;border-radius:18px;position:relative;overflow:hidden}.exp-card[data-hot="1"]{border-radius:30px}.exp-card[data-open="1"]{border-radius:44px}.exp-sweep{background:var(--accent);transform-origin:var(--origin,left);transition:transform .7s cubic-bezier(.7,0,.2,1);position:absolute;inset:0;transform:scaleX(0)}.exp-card[data-hot="1"] .exp-sweep,.exp-card[data-open="1"] .exp-sweep{transform:scaleX(1)}.exp-glow{pointer-events:none;background:radial-gradient(360px circle at var(--mx,-400px) var(--my,-400px), #ffffff52, transparent 65%);position:absolute;inset:0}.exp-row,.exp-detail{align-items:center;gap:24px;display:grid;position:relative}.exp-row{grid-template-columns:76px minmax(0,1fr) auto 52px;padding:22px 26px}.logo{background:var(--cream);width:76px;height:76px;transition:transform .7s var(--ease);border-radius:50%;place-items:center;display:grid;overflow:hidden;box-shadow:0 0 0 1px #1f211a1f}.exp-card[data-hot="1"] .logo,.exp-card[data-open="1"] .logo{transform:rotate(-10deg)scale(1.08)}.logo a{place-items:center;width:100%;height:100%;display:grid}.logo img{object-fit:contain;object-position:center;width:66%;height:66%}.exp-role{flex-direction:column;gap:8px;min-width:0;display:flex}.exp-role h3{letter-spacing:-.035em;margin:0;font-size:clamp(22px,2.4vw,40px);font-weight:600;line-height:1.05}.idx{opacity:.6;unicode-bidi:isolate;margin-inline-end:14px;font-size:13px;font-weight:600}.w-iso{unicode-bidi:isolate}.exp-role p,.exp-time{margin:0;font-size:15px;font-weight:500}.exp-time{white-space:nowrap;font-size:14px;font-weight:600}.plus{border:1.5px solid var(--ink);width:52px;height:52px;transition:transform .5s var(--ease), background .3s, color .3s;border-radius:50%;place-items:center;font-size:26px;font-weight:300;display:grid}.exp-card[data-hot="1"] .plus,.exp-card[data-open="1"] .plus{background:var(--ink);color:var(--cream)}.exp-card[data-open="1"] .plus{transform:rotate(45deg)}.exp-fold{transition:grid-template-rows .7s var(--ease);grid-template-rows:0fr;display:grid}.exp-card[data-open="1"] .exp-fold{grid-template-rows:1fr}.exp-fold-in{overflow:hidden}.exp-detail{opacity:0;grid-template-columns:76px minmax(0,1fr);padding:6px 26px 34px;transition:opacity .5s .15s}.exp-card[data-open="1"] .exp-detail{opacity:1}.exp-detail .summary{text-wrap:pretty;max-width:68ch;margin:0;font-size:17px;line-height:1.7}.points{border-top:1px solid color-mix(in oklab, currentColor 18%, transparent);flex-direction:column;gap:14px;max-width:68ch;margin:18px 0 0;padding:16px 0 0;list-style:none;display:flex}.points li{text-wrap:pretty;grid-template-columns:10px minmax(0,1fr);column-gap:12px;font-size:15.5px;line-height:1.7;display:grid}.exp-detail [data-w]{opacity:.18;transition:opacity .3s linear}.points li:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;margin-top:.55em}.projects{background:var(--ink);color:var(--cream);position:relative}.projects-frame{flex-direction:column;gap:3vh;height:100vh;padding:clamp(80px,11vh,120px) 0 max(4vh,84px);display:flex;position:sticky;top:0;overflow:hidden}.projects-head{justify-content:space-between;align-items:flex-end;gap:24px;padding:0 6vw;display:flex}.projects-head h2{letter-spacing:-.055em;margin:0;font-size:clamp(44px,min(6vw,11vh),120px);font-weight:800;line-height:.82}.projects-head p{max-width:760px;color:var(--muted);text-wrap:pretty;margin:16px 0 0;font-size:15px;font-weight:300;line-height:1.55}.meter{flex-direction:column;align-items:flex-end;gap:12px;min-width:180px;display:flex}.meter b{font-weight:600}.meter b span{opacity:.45}.bar{background:#ebe6dc2e;width:180px;height:2px}.bar i{background:var(--accent);height:100%;transform-origin:var(--origin,left);display:block;transform:scaleX(0)}.track{will-change:transform;flex:1;align-items:stretch;gap:3vw;width:max-content;min-height:0;padding:0 6vw;display:flex}.project{background:var(--ink-2);border-radius:26px;grid-template-columns:minmax(0,11fr) minmax(0,9fr);width:min(86vw,1360px);height:100%;max-height:800px;display:grid;overflow:hidden}.shots{background:#141510;position:relative;overflow:hidden}.shot-stage{position:absolute;inset:24px 24px 104px}.shot-stage img{object-fit:contain;object-position:50% 42%;width:100%;height:100%;transition:opacity .7s ease, transform 1.2s var(--ease);position:absolute;inset:0}.shot-no{top:22px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1f211abf;border-radius:40px;padding:8px 14px;font-size:13px;font-weight:600;position:absolute;inset-inline-start:22px}.shot-zoom{display:none}.thumbs{bottom:22px;gap:10px;display:flex;position:absolute;inset-inline-start:22px}.thumbs button{all:unset;cursor:pointer;outline-offset:3px;opacity:.55;border-radius:10px;outline:2px solid #0000;width:96px;height:60px;overflow:hidden}.thumbs button[data-on="1"]{outline-color:var(--cream);opacity:1}.thumbs img{object-fit:cover;object-position:50% 0;width:100%;height:100%;display:block}.project-copy{scrollbar-width:thin;scrollbar-color:#ebe6dc73 transparent;flex-direction:column;gap:18px;padding:clamp(24px,3vw,48px);display:flex;overflow:auto}.project-copy::-webkit-scrollbar{width:10px}.project-copy::-webkit-scrollbar-track{background:0 0;margin-block:28px}.project-copy::-webkit-scrollbar-thumb{background:#ebe6dc61 padding-box padding-box;border:3px solid #0000;border-radius:99px}.project-copy::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box;border:3px solid #0000}.meta{color:var(--accent);flex-wrap:wrap;gap:12px;font-size:13px;font-weight:500;display:flex}.project-copy h3{letter-spacing:-.045em;margin:0;font-size:clamp(34px,3.6vw,62px);font-weight:700;line-height:.95}.project-copy .desc{color:#cfcabe;text-wrap:pretty;margin:0;font-size:16px;font-weight:300;line-height:1.65}.block-label{letter-spacing:.04em;opacity:.6;font-size:12px;font-weight:600}.highlights{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.highlights li{grid-template-columns:18px minmax(0,1fr);gap:8px;font-size:14px;line-height:1.55;display:grid}.highlights i{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-top:8px}.pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pair div,.lesson{flex-direction:column;gap:8px;display:flex}.pair div{background:var(--paper);border-radius:16px;padding:18px;font-size:14px;line-height:1.55}.lesson{border-inline-start:2px solid var(--accent);padding-inline-start:18px;font-size:14px;line-height:1.6}.stack{flex-wrap:wrap;gap:6px;display:flex}.stack span{border:1px solid #ebe6dc40;border-radius:40px;padding:6px 12px;font-size:13px}.links{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.links a{border-radius:40px;align-items:center;gap:12px;padding:14px 22px;font-size:14px;font-weight:600;transition:gap .35s,background .3s,color .3s;display:flex}.links a.solid{background:var(--cream);color:var(--ink)}.links a.solid:hover{background:var(--accent);gap:22px}.links a.ghost{border:1px solid #ebe6dc59}.links a.ghost:hover{background:var(--cream);color:var(--ink);gap:22px}.edu-sheet{min-height:100vh}.edu-panel{background:var(--cream);min-height:100vh;color:var(--ink);flex-direction:column;gap:12vh;padding:16vh 6vw 10vh;display:flex;position:relative;overflow:hidden}.edu-list{border-bottom:1px solid #1f211a33}.edu-row{border-top:1px solid #1f211a33;grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:center;gap:5vw;padding:8vh 0;display:grid}.edu-row:nth-child(2n){grid-template-columns:minmax(0,7fr) minmax(0,4fr)}.edu-row:nth-child(2n) .edu-info{order:2}.edu-info{flex-direction:column;gap:18px;display:flex}.edu-info .when{color:var(--dim);gap:14px;font-size:13px;font-weight:600;display:flex}.edu-info h3{letter-spacing:-.04em;margin:0;font-size:clamp(28px,3vw,48px);font-weight:600;line-height:1}.edu-info .org{font-size:15px;font-weight:500}.edu-info .note{color:var(--dim);max-width:420px;font-size:15px;line-height:1.6}.grade{background:var(--ink);color:var(--cream);border-radius:40px;align-self:flex-start;padding:7px 14px;font-size:13px;font-weight:600}.enlarge{all:unset;cursor:pointer;border:1.5px solid var(--ink);border-radius:40px;align-self:flex-start;align-items:center;gap:12px;margin-top:8px;padding:12px 20px;font-size:14px;font-weight:600;transition:background .3s,color .3s,gap .35s;display:flex}.enlarge:hover{background:var(--ink);color:var(--cream);gap:20px}.go{border-top:1.5px solid;border-right:1.5px solid;flex:none;width:.55em;height:.55em;display:inline-block;transform:translateY(-.05em)rotate(45deg)}.cert{aspect-ratio:1600/1131;transform:rotate(var(--tilt,-1.2deg));transition:transform .9s var(--ease);background:#d8d1c3;overflow:hidden;box-shadow:0 2px 3px #1f211a14,0 50px 80px -45px #1f211a99}.edu-row:nth-child(2n) .cert{--tilt:1.2deg}.cert:hover{transform:rotate(0)scale(1.025)}.cert img{object-fit:cover;width:100%;height:100%;display:block}.skills-wrap{align-items:center;min-height:78vh;display:flex;position:relative}.skills-block{z-index:1;flex-direction:column;gap:6vh;width:56%;display:flex;position:relative}.skills-block h2{font-size:clamp(48px,6vw,110px)}.skill-row{border-top:1px solid #1f211a33;grid-template-columns:140px minmax(0,1fr);gap:20px;padding:20px 0;display:grid}.skill-row b{color:#ac430e;color:lab(43.1506% 42.4189 50.2921);font-size:14px}.skill-row span{flex-wrap:wrap;gap:6px 18px;font-size:16px;display:flex}.illustration{inset-inline-end:-6vw;aspect-ratio:1195/896;mix-blend-mode:multiply;pointer-events:none;width:min(62vw,1100px);-webkit-mask-image:linear-gradient(var(--mask-end,to right), transparent 0%, #000 38%);-webkit-mask-image:linear-gradient(var(--mask-end,to right), transparent 0%, #000 38%);mask-image:linear-gradient(var(--mask-end,to right), transparent 0%, #000 38%);position:absolute;bottom:-8vh}.illustration div{position:absolute;inset:0;-webkit-mask-image:radial-gradient(closest-side,#000 60%,#0000 100%);mask-image:radial-gradient(closest-side,#000 60%,#0000 100%)}.illustration img{object-fit:cover;width:100%;height:100%}.lightbox{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:zoom-out;background:#0f100ceb;border:0;justify-content:center;align-items:center;padding:5vw;display:flex;position:fixed;inset:0}.lightbox img{max-width:100%;max-height:100%;box-shadow:0 60px 120px -40px #000c}.lightbox span{top:24px;color:var(--cream);font-size:14px;font-weight:600;position:absolute;inset-inline-end:28px}.shot-view{z-index:240;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));color:var(--cream);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f100cf0;flex-direction:column;gap:14px;display:flex;position:fixed;inset:0}.shot-view-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.shot-view-bar b{letter-spacing:-.03em;font-size:18px;display:block}.shot-view-bar span{letter-spacing:.08em;color:var(--muted);margin-top:2px;font-size:12px;display:block}.shot-view-x{background:#ebe6dc1f;border:0;border-radius:50%;flex:none;width:42px;height:42px;position:relative}.shot-view-x:before,.shot-view-x:after{content:"";background:var(--cream);width:14px;height:1.5px;position:absolute;top:50%;left:50%}.shot-view-x:before{transform:translate(-50%,-50%)rotate(45deg)}.shot-view-x:after{transform:translate(-50%,-50%)rotate(-45deg)}.shot-view-frame{touch-action:pan-y pinch-zoom;background:#141510;border-radius:22px;flex:1;min-height:0;position:relative;overflow:hidden}.shot-view-strip{will-change:transform;height:100%;display:flex}.shot-view-strip img{object-fit:contain;background:#141510;flex:0 0 100%;width:100%;height:100%}.shot-nav{z-index:1;width:42px;height:42px;color:var(--cream);background:#1f211ab8;border:0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.shot-prev{inset-inline-start:10px}.shot-next{inset-inline-end:10px}.shot-nav .go{width:.55em;height:.55em}.shot-prev .go{transform:rotate(-135deg)}.shot-next .go,.cv[dir=rtl] .shot-prev .go,.shot-view[dir=rtl] .shot-prev .go{transform:rotate(45deg)}.cv[dir=rtl] .shot-next .go,.shot-view[dir=rtl] .shot-next .go{transform:rotate(-135deg)}.shot-nav[data-off="1"]{opacity:.28;pointer-events:none}.shot-view-dots{justify-content:center;gap:6px;display:flex}.shot-view-dots button{background:0 0;border:0;border-radius:99px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.shot-view-dots button:after{content:"";background:var(--cream);opacity:.4;border-radius:99px;width:7px;height:7px}.shot-view-dots button[data-on="1"]:after{opacity:1;background:var(--accent);width:18px}.contact-sheet{background:var(--accent);min-height:100vh;color:var(--ink);border-radius:28px 28px 0 0;flex-direction:column;justify-content:space-between;gap:8vh;padding:18vh 6vw max(4vh,88px);display:flex;overflow:hidden;box-shadow:0 -30px 60px #0000004d}.contact-photo{top:0;aspect-ratio:660/530;mix-blend-mode:multiply;filter:grayscale()contrast(1.15);width:min(58vw,1000px);-webkit-mask-image:linear-gradient(var(--mask-end,to right), transparent 0%, #000 45%);-webkit-mask-image:linear-gradient(var(--mask-end,to right), transparent 0%, #000 45%);mask-image:linear-gradient(var(--mask-end,to right), transparent 0%, #000 45%);position:absolute;inset-inline-end:0}.contact-photo div{position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 60%,#0000 100%);mask-image:linear-gradient(#000 60%,#0000 100%)}.contact-photo img{object-fit:cover;width:100%;height:100%}.contact-illu{display:none}.contact-title{letter-spacing:-.06em;flex-wrap:wrap;align-items:flex-end;column-gap:.24em;margin:0;font-size:clamp(72px,11vw,230px);line-height:.86;display:flex;position:relative}.contact-word{display:inline-flex}.contact-word>span{padding-bottom:.08em;display:inline-block;overflow:hidden}.contact-title i{transform-origin:50% 100%;font-style:normal;display:inline-block;transform:translateY(105%)}.contact-list{flex-direction:column;display:flex;position:relative}.contact-list a{transition:padding .4s var(--ease), background .3s, border-radius .4s;border-top:1px solid #1f211a59;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;display:flex}.contact-list a:hover{background:var(--ink);color:var(--cream);border-radius:60px;padding-inline:22px}.contact-list small{min-width:100px;font-size:14px;font-weight:600}.contact-list b{letter-spacing:-.03em;flex:1;font-size:clamp(22px,3vw,46px);font-weight:500}.contact-list em{font-size:28px;font-style:normal}.foot-tools{display:none}.foot{justify-content:space-between;gap:24px;padding-right:max(0px,248px - 6vw);font-size:13px;font-weight:500;display:flex;position:relative}.hed-catch{z-index:70;opacity:0;transition:opacity .55s var(--ease);background:#0f100c1f;border:0;position:fixed;inset:0}.hed-catch[data-open="1"]{opacity:1}.hed-panel{z-index:80;width:min(440px,100vw - 32px);color:var(--cream);-webkit-backdrop-filter:blur(28px);opacity:0;transition:opacity .55s var(--ease), transform .55s var(--ease);background:linear-gradient(165deg,#ebe6dc38,#1f211ad1 22%);border:1px solid #ebe6dc47;border-radius:28px;flex-direction:column;display:flex;position:fixed;inset:16px 16px 16px auto;overflow:hidden;transform:translateY(18px)scale(.96);box-shadow:inset 0 1px #ebe6dc57,0 24px 70px #0f100c38}.hed-panel[dir=ltr],.hed-panel[dir=rtl]{transform-origin:100% 100%}.hed-panel[data-open="1"]{opacity:1;transform:none}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.hed-panel{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}}.hed-head,.hed-form{align-items:center;gap:12px;padding:18px 18px 14px;display:flex}.hed-head{justify-content:space-between}.hed-actions{align-items:center;gap:8px;display:flex}.hed-head strong{letter-spacing:-.04em;font-size:28px;font-style:italic;font-weight:700}.hed-head button,.hed-form button{cursor:pointer;background:var(--accent);color:var(--ink);border:0;border-radius:40px;padding:8px 14px;font-weight:600}.hed-head button.hed-reset{color:var(--cream);background:0 0;padding-inline:10px}.hed-head button.hed-reset:disabled{opacity:.35;cursor:default}.hed-log{flex-direction:column;flex:1;gap:18px;padding:8px 22px 18px;display:flex;overflow:auto}.hed-log p{text-wrap:pretty;margin:0;font-size:16px;line-height:1.6}.hed-log .who{color:var(--accent);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.hed-log .mine,.hed-log .agent{white-space:pre-wrap;unicode-bidi:plaintext;width:fit-content;max-width:88%;padding:12px 14px}.hed-log .mine{background:var(--accent);color:var(--ink);border-radius:18px 18px 4px;margin-left:auto}.hed-log .agent{color:var(--cream);background:#ebe6dc1a;border:1px solid #ebe6dc29;border-radius:18px 18px 18px 4px;margin-right:auto}.suggest{flex-direction:column;gap:8px;display:flex}.suggest button{text-align:start;color:var(--cream);cursor:pointer;background:0 0;border:1px solid #ebe6dc33;border-radius:16px;padding:12px 14px;line-height:1.4}.suggest button:hover{border-color:var(--accent)}.hed-note{color:var(--muted);font-size:12px}.hed-log .hed-think{transform-origin:0 100%;width:fit-content;animation:hed-in .45s var(--ease) both;background:#ebe6dc0f;border-radius:18px 18px 18px 4px;align-items:center;gap:10px;margin-right:auto;padding:10px 14px;display:flex}.hed-log .mine{transform-origin:100% 100%;animation:hed-in .45s var(--ease) both}.hed-log .agent{transform-origin:0 100%;animation:hed-in .55s var(--ease) both}.suggest button{animation:hed-rise .5s var(--ease) both}.suggest button:nth-child(2){animation-delay:60ms}.suggest button:nth-child(3){animation-delay:.12s}.suggest button:nth-child(4){animation-delay:.18s}@keyframes hed-in{0%{opacity:0;transform:translateY(12px)scale(.94)}to{opacity:1;transform:none}}@keyframes hed-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hed-dots{align-items:center;gap:5px;height:12px;display:inline-flex}.hed-dots i{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:.9s ease-in-out infinite hed-dot}.hed-dots i:nth-child(2){animation-delay:.15s}.hed-dots i:nth-child(3){animation-delay:.3s}@keyframes hed-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.hed-form{border-top:1px solid #ebe6dc1f}.hed-form[hidden]{display:none}.hed-gate{animation:hed-rise .4s var(--ease) both;border-top:1px solid #ebe6dc1f;flex-direction:column;gap:10px;padding:16px 18px 18px;display:flex}.hed-gate strong{font-size:16px;font-weight:600}.hed-gate small{color:#ebe6dc99;font-size:13px;line-height:1.45}.hed-gate label{flex-direction:column;gap:4px;display:flex}.hed-gate label span{color:#ebe6dc9e;font-size:12px;font-weight:600}.hed-gate input{color:var(--cream);font:inherit;background:#ebe6dc14;border:1px solid #ebe6dc47;border-radius:14px;outline:none;min-width:0;padding:10px 12px;font-size:16px;transition:border-color .25s,background .25s}.hed-gate input:focus{border-color:var(--accent);background:#ebe6dc1f}.hed-gate em{color:var(--accent);font-size:12px;font-style:normal}.hed-gate-row{align-items:center;gap:10px;margin-top:2px;display:flex}.hed-gate button{cursor:pointer;background:var(--accent);color:var(--ink);border:0;border-radius:40px;padding:10px 18px;font-weight:600}.hed-gate button.hed-gate-back{color:#ebe6dca8;background:0 0;padding-inline:4px}.hed-credit{color:#ebe6dc8c;margin:0;padding:0 18px 12px;font-size:12px;line-height:1.4}.exp-role a:hover{text-decoration:underline}.hed-form textarea{color:var(--cream);resize:none;min-width:0;min-height:24px;max-height:132px;font:inherit;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:16px;line-height:1.5;overflow-y:auto}.hed-form textarea::placeholder{color:#ebe6dc9e;opacity:1}.hed-form textarea:disabled,.hed-form button:disabled{opacity:.45;cursor:default}.hed-mark{z-index:45;width:max-content;max-width:calc(100vw - 32px);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(16px);box-shadow:none;background:#ebe6dceb;border:1px solid #ebe6dcb3;border-radius:999px;flex-direction:row-reverse;align-items:center;gap:8px;padding:5px 5px 5px 14px;display:flex;position:fixed;bottom:16px;right:16px}.hed-mark:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hed-mark b{letter-spacing:-.04em;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:15px;font-style:italic;font-weight:700;line-height:1;display:grid;position:relative}.hed-mark b:after{content:"";border:1.5px solid #0000;border-top-color:var(--accent);border-radius:50%;animation:9s linear infinite hed-spin;position:absolute;inset:-3px}.hed-mark small{text-align:start;max-width:11rem;font-size:12px;font-weight:600;line-height:1.25}@keyframes hed-spin{to{transform:rotate(360deg)}}@media (max-width:900px){html{scroll-padding-top:16px}.nav,.dots,.spine{display:none}.intro,.lang-shift{padding:max(28px, env(safe-area-inset-top)) 22px max(24px, env(safe-area-inset-bottom))}.intro h2{font-size:clamp(40px,11vw,64px)}.lang-shift h2{font-size:clamp(56px,16vw,96px)}.hero{min-height:100svh;height:100svh!important}.hero-photo{aspect-ratio:auto;height:auto;inset:16% 0 0;-webkit-mask-image:linear-gradient(#0000 0%,#000 11% 48%,#0000 78%);mask-image:linear-gradient(#0000 0%,#000 11% 48%,#0000 78%)}.cv[dir=rtl] .hero-photo img,.cv[dir=ltr] .hero-photo img{object-fit:cover;object-position:center 32%;transform:none}.hero-copy{max-width:none;inset-inline:22px;top:max(22px, env(safe-area-inset-top))}.hero-copy h1{font-size:clamp(34px,9.4vw,52px)}.hero-bottom{inset-inline:22px;bottom:calc(84px + env(safe-area-inset-bottom));gap:22px}.expertise a{font-size:16px}.stats{grid-template-columns:1fr 1fr;padding-left:0;padding-right:0}.stats div{padding:12px 10px 8px}.stats strong{font-size:clamp(26px,8vw,40px)}.stats span{font-size:12px;line-height:1.35}.about-photo{border-radius:22px;width:100%;height:46vh;position:relative;-webkit-mask-image:linear-gradient(#000 72%,#0000 100%);mask-image:linear-gradient(#000 72%,#0000 100%)}.about-grid,.edu-row,.edu-row:nth-child(2n),.project,.pair,.exp-detail,.skill-row{grid-template-columns:1fr}.about-copy{grid-column:1}.statement{font-size:clamp(26px,7.2vw,40px)}.about-prose [data-w]{opacity:.18;transition:opacity .25s linear}.edu-row:nth-child(2n) .edu-info{order:0}.about-sheet,.exp-panel,.edu-panel,.contact-sheet{padding:48px 22px calc(96px + env(safe-area-inset-bottom))}.section-head,.projects-head{flex-direction:column;align-items:flex-start;gap:12px}.section-head h2,.contact-title,.skills-block h2{font-size:clamp(48px,14vw,76px)}.skills-wrap{flex-direction:column;align-items:stretch;gap:8vh;min-height:0;margin-top:12vh;display:flex}.skills-block{width:100%}.skill-row{grid-template-columns:minmax(72px,30%) minmax(0,1fr);gap:10px 16px;padding:14px 0}.illustration{display:none}.skills-wrap{gap:0;margin-top:28px}.contact-sheet{justify-content:flex-end;gap:22px;min-height:100svh;padding-top:0}.contact-title,.contact-list,.foot{z-index:1;position:relative}.contact-photo{aspect-ratio:auto;mix-blend-mode:multiply;filter:none;pointer-events:none;-webkit-mask-composite:source-in;border-radius:0;width:auto;height:min(66svh,620px);margin:0;position:absolute;inset:0 -14vw auto;overflow:visible;-webkit-mask-image:linear-gradient(#000 40%,#0000 78%),radial-gradient(62% 78% at 50% 30%,#000 48%,#0000 100%);mask-image:linear-gradient(#000 40%,#0000 78%),radial-gradient(62% 78% at 50% 30%,#000 48%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.contact-photo div{-webkit-mask-image:none;mask-image:none}.contact-photo .pencil{display:none}.contact-illu{object-fit:cover;object-position:center 22%;width:100%;height:100%;display:block}.projects-frame{height:auto;min-height:0;padding:24px 0 calc(96px + env(safe-area-inset-bottom));gap:16px;position:relative;top:auto;overflow:hidden}.projects-head,.track{padding-inline:16px}.meter{align-items:flex-start;width:min(100%,220px);min-width:0}.bar{width:100%}.track{touch-action:pan-y;align-items:stretch;gap:14px}.project{border-radius:22px;flex-direction:column;width:min(84vw,460px);height:auto;min-height:0;max-height:none;display:flex}.shots{flex-direction:column;gap:10px;height:auto;min-height:0;padding:10px;display:flex}.shot-stage{border-radius:16px;flex:none;height:min(46vh,440px);min-height:220px;margin:0;position:relative;inset:auto;overflow:hidden}.shot-stage img{object-fit:cover;object-position:center top}.shot-no{top:10px;z-index:2;inset-inline-start:10px}.shot-zoom{z-index:1;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:absolute;inset:0}.shot-zoom span{bottom:10px;color:var(--cream);background:#1f211ac7;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600;position:absolute;inset-inline-end:10px}.thumbs{z-index:2;justify-content:center;gap:4px;width:100%;display:flex;position:static}.thumbs button{opacity:1;background:0 0;border-radius:99px;outline:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.thumbs button:after{content:"";background:var(--cream);opacity:.4;border-radius:99px;width:7px;height:7px}.thumbs button[data-on="1"]:after{opacity:1;background:var(--accent);width:18px}.thumbs img,.exp-glow{display:none}.exp-card[data-hot="1"]:not([data-open="1"]){border-radius:18px}.exp-card[data-hot="1"]:not([data-open="1"]) .exp-sweep{transform:scaleX(0)}.exp-card[data-hot="1"]:not([data-open="1"]) .logo,.exp-card[data-open="1"] .logo{transform:none}.exp-card[data-hot="1"]:not([data-open="1"]) .plus{color:inherit;background:0 0}.exp-card[data-open="1"] .exp-sweep{transform:scaleX(1)}.project-copy{flex:auto;gap:14px;min-height:0;padding:16px;overflow:visible}.project-copy [data-w]{opacity:.18;transition:opacity .2s linear}.project-copy h3{font-size:clamp(28px,8vw,42px)}.exp-row{grid-template-columns:56px minmax(0,1fr) 44px;grid-template-areas:"logo role plus""logo time plus";align-items:start;gap:6px 12px;padding:16px 14px}.exp-row .logo{grid-area:logo;align-self:start;width:56px;height:56px}.exp-role{grid-area:role;gap:6px}.exp-role h3{text-wrap:balance;font-size:20px;line-height:1.15}.exp-role p{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.exp-time{white-space:nowrap;opacity:.7;grid-area:time;font-size:13px}.exp-row .plus{grid-area:plus;align-self:start;width:44px;height:44px;font-size:22px}.exp-detail{grid-template-columns:1fr;padding:2px 16px 24px}.exp-detail>span{display:none}.exp-detail .summary{font-size:16px;line-height:1.65}.points{gap:16px;margin-top:14px;padding-top:14px}.points li{font-size:15px;line-height:1.65}.logo{width:56px;height:56px}.contact-list a{gap:12px;padding:16px 0}.contact-list small{min-width:0}.contact-list b{overflow-wrap:anywhere;font-size:clamp(18px,5vw,28px)}.contact-list em{font-size:22px}.foot{flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:8px;padding-left:0;padding-right:0}.foot-tools{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.hed-mark{left:auto;right:12px;bottom:max(12px, env(safe-area-inset-bottom));max-width:calc(100vw - 24px)}.hed-mark small{max-width:min(11rem,100vw - 96px)}.hed-panel{top:max(10px, env(safe-area-inset-top));bottom:max(10px, env(safe-area-inset-bottom));border-radius:22px;width:auto;left:10px;right:10px}.hed-form{background:#ebe6dc14;border:1px solid #ebe6dc47;border-radius:22px;align-items:flex-end;gap:8px;margin:0 12px 12px;padding:8px 8px 8px 14px;transition:border-color .25s,background .25s}.hed-panel[dir=rtl] .hed-form{padding:8px 14px 8px 8px}.hed-form:focus-within{border-color:var(--accent);background:#ebe6dc1f}.hed-form textarea{padding:7px 0;font-size:16px}.hed-form button{flex:none;min-height:38px;padding:8px 16px}.hed-credit{padding-bottom:10px}.lightbox{padding:18px}.cert{transform:none}}@media (hover:none){.contact-list a:hover{color:inherit;background:0 0;border-radius:0;padding-inline:0}.cert:hover{transform:none}.enlarge:hover{color:inherit;background:0 0;gap:12px}.hed-mark:hover{transform:none}}@media (prefers-reduced-motion:reduce){.statement span,.about-prose [data-w],.project-copy [data-w],.exp-detail [data-w]{opacity:1!important}.contact-title i{transform:none!important}.exp-sweep,.exp-fold{transition:none}.hed-dots i{opacity:1;animation:none}.hed-log .mine,.hed-log .agent,.hed-log .hed-think,.suggest button,.hed-mark b:after{animation:none}.hed-panel,.hed-catch{transition:none}.hed-panel{opacity:1;transform:none}.hed-catch{opacity:1}}.adm{background:var(--ink);min-height:100vh;color:var(--cream);flex-direction:column;gap:16px;padding:22px clamp(14px,3vw,36px) 40px;display:flex}.adm-center{justify-content:center;align-items:center}.adm-login{background:#ebe6dc0d;border:1px solid #ebe6dc33;border-radius:22px;flex-direction:column;gap:12px;width:min(340px,100%);padding:24px;display:flex}.adm-login strong{letter-spacing:-.03em;font-size:24px;font-weight:700}.adm-login label,.adm-tools label{flex-direction:column;gap:4px;display:flex}.adm-login label span,.adm-tools label span{color:#ebe6dc99;font-size:12px;font-weight:600}.adm-login em{color:var(--accent);font-size:13px;font-style:normal}.adm input,.adm button{font:inherit;font-size:15px}.adm input{color:var(--cream);background:#ebe6dc14;border:1px solid #ebe6dc42;border-radius:12px;outline:none;min-width:0;padding:9px 12px}.adm input:focus{border-color:var(--accent)}.adm button{cursor:pointer;background:var(--accent);color:var(--ink);border:0;border-radius:40px;padding:9px 16px;font-weight:600}.adm button.adm-ghost{color:#ebe6dcb3;background:0 0;border:1px solid #ebe6dc38}.adm-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.adm-head>strong{letter-spacing:-.035em;font-size:26px;font-weight:700}.adm-tools{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.adm-tools>input{min-width:min(280px,100%)}.adm-note{color:var(--muted);margin:0;font-size:14px}.adm-body{flex:1;grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.adm-list{flex-direction:column;gap:8px;max-height:calc(100vh - 150px);margin:0;padding:0;list-style:none;display:flex;overflow:auto}.adm-list li{background:#ebe6dc0a;border:1px solid #ebe6dc29;border-radius:16px;align-items:flex-start;display:flex;overflow:hidden}.adm-list li[data-on="1"]{border-color:var(--accent)}.adm-list li>button:first-child{text-align:start;min-width:0;color:inherit;background:0 0;border-radius:0;flex-direction:column;flex:1;gap:3px;padding:12px 14px;font-weight:400;display:flex}.adm-list b{font-size:16px;font-weight:600}.adm-meta{color:#ebe6dc9e;font-size:12px}.adm-preview{color:#ebe6dccc;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.adm-del{color:#ebe6dcb3;background:0 0;border:1px solid #ebe6dc38;border-radius:50%;flex:none;width:32px;height:32px;margin:8px;padding:0;font-size:18px;font-weight:400;line-height:1}.adm-del:hover{color:var(--ink);background:var(--accent);border-color:var(--accent)}.adm-empty{color:var(--muted);border-style:dashed;padding:14px;font-size:14px}.adm-chat{background:#ebe6dc0a;border:1px solid #ebe6dc29;border-radius:18px;flex-direction:column;min-height:320px;max-height:calc(100vh - 150px);display:flex;overflow:hidden}.adm-chat>header{border-bottom:1px solid #ebe6dc1f;flex-direction:column;gap:2px;padding:14px 18px;display:flex}.adm-chat>header strong{font-size:18px;font-weight:600}.adm-chat>header span{color:#ebe6dc9e;font-size:12px}.adm-chat>.adm-note{padding:18px}.adm-log{direction:ltr;flex-direction:column;flex:1;align-items:stretch;gap:12px;padding:16px 18px;display:flex;overflow:auto}.adm-log p{white-space:pre-wrap;unicode-bidi:plaintext;width:fit-content;max-width:78%;margin:0;padding:10px 13px;font-size:15px;line-height:1.6}.adm-mine{background:var(--accent);color:var(--ink);border-radius:16px 16px 4px;align-self:flex-end;margin-left:auto;margin-right:0}.adm-agent{background:#ebe6dc1a;border:1px solid #ebe6dc29;border-radius:16px 16px 16px 4px;align-self:flex-start;margin-left:0;margin-right:auto}.adm-who{opacity:.7;margin-bottom:3px;font-size:11px;font-weight:600;display:block}.adm-at{opacity:.55;margin-top:4px;font-size:11px;display:block}@media (max-width:900px){.adm-body{grid-template-columns:1fr}.adm-list,.adm-chat{max-height:none}.adm-tools>input{width:100%}}
