@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-opsz-normal.D9N6E8K1.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-opsz-normal.IcJDqblK.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-opsz-normal.Cre6nC2_.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAAQgABAAAAAAB+wAAAPGAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEgAXBEICoJ8gkMLFAABNgIkAyIEIAWFCgdiDAcbhQbIPg1vjKH/SZAjGKk6g0Cz4ZDoqIq9ujYKvX+56LMpeKqx39u9+yKCiGazJpasMYQkFiKJSmhkKiQRqyQSleGnud+7DTG5L6jJGPdNJriH5JbwBBG6JVISgmK/170QegCQmWgmlyggSYrYRiVCU8mVdSoUqdZWfpsHE7m10AI7gL2xGtH/pVj0d/045f9hYeqMUicC2WdxoPzP5fhug8y4jw3gwAJO/G57a1i0nm8KMKFeYGdNPGoNsbVxiQSWuba48mH8gQtyCg5ZGAvDD5agO4oAPwBQQhhCgFe5RFRvaXUzOG0xggGcWMA/AWSTcAawAQKEpdyEm4qzANWCIApAGEIZSsgghakUSrjFgCREbxu/cRzQGwWAUWtGFiE8qqmDC6iWQ71FdfCqquouvdcYFiOuCtAtgPxPewaK0aS0ggxDgXLUnlIlIIClbUaH7BBxFsMkfAAIGOGXWNkB/QSAAgPiaALiLAwBgtyUU7EC+w6DKv6QgJ+R/PPNsuFpiK5bSEIxAA+AKMALZgHrgCwgDgCl77kplpAM67LJDJl10GcCuuhI+33L9mq73u62NvsWZu3rMWb3cgvn12x/P8lffyqb/HglnFmEf+rjy4X7/ql37b5+6vY78+HB0UP1UoRu7ouL/fbFUbnaWt23vt79XKns2uzimnswMDd4/sV5T+tRyfifEJTXp0rO6M72e3+7lt5c7R9a9l9j3tdUtXfNZMugZxqkJWfd0l8q27px4E9LcXRh+Fpfy289JTldsUkNKfimSnyrbqPraoPjv2PDRXk54d4RkT5h2QXVBUA1QMDF5ccP6u/k3oV4ABGgm/SiDaYEBEz6xGt/Ouacs1M038DXTWWO5d+ncE1S92PgXGCNBfLTfYd+nQZUqml3/MkRYQsLL6dd3AEtEiDg0c5CBh22pgT47TIkwwMcReIOIh9JUMFwg9HlDax62+CQNQdOtdrtQZ2kDgJ+SbAEww1e/LyL8uEFY4z0GAYVBAwdNVYbQk1JRcB/FpjwMsWJw2Nx1EwEvFg8NZ1YRhylOHVKVSvHMNAiDMpwjAQETytGI0JJpMPgtCI4PDUjAyxJrHgJkuK1sHjCUuBqyVKuWJE6WQVKqfrUwiJGJqO4dr4JliheogRYMxUC19bqGdFobDRUQGxZM7ZQHwtvPKSkdvNFA2KxD6bEIcTgSNEBUTYW8eKokr1jKFMRKOrzf9Xm4AHl3oPChBErDnE6uwc4MkSsRYM6Pr4g3g5MjC9Mtl1gRYF8TUNxOCXjk+JT/6qR+4TujRUA) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/hanken-grotesk-vietnamese-400-normal.BLrFBAHj.woff2) format("woff2"),url(/_astro/hanken-grotesk-vietnamese-400-normal.C-iWyKLC.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/hanken-grotesk-latin-ext-400-normal.DR7lHpW4.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-ext-400-normal.DI-aIsWt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/hanken-grotesk-latin-400-normal.BG6hkEXj.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-400-normal.CjyVwvJV.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAAQIABAAAAAACAQAAAOvAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAXBEICoJ8gkILFAABNgIkAyIEIAWFKAdiDAcbngYoLgpsW7F2EW5iaDHUuE4MfK2EiuDJv6h63X9mQfCkiMhBhsvo5EiaqbW2d/+I+KtIQl7tBEmQGRKRRIOu1qgM08UaQyggDm7nRPJEQ8yt/i+kPxzR/3NNvjVI8z4uSAc88SqLKssyHUVb097RKkT3pocLQBwwzNwaPrRPwsDGVWMcQ0JC6POwBxWoCUhCyEKguo4k4ImTfTHQv3MdVgf9CqgQiB2bkDroRCAUkqpCVUlDRHQ1D5JAyEKSJYGU4qidMYjDVkQilhfxV/yqRLoxLQXMUK3Eaqx0JRxVkEydutYguNe2j/N3/7OjjD5tAXQrxM/pRbRFEP1vS0MwOoKPbCliELZdqgpVFxoiFnfUoG4WEKX4FSRkNEQQ+IJTAbUDsClry2zfm5HaPlMBxKLylTdsMk58Oh9E7h2iQh1QDdQHVMcywAlAc0BDAEn61CcqhCiKKkXjYjt17Rq5VlpfK9essaPGtuqrVyaTPYvWbV+4EFc82GLJ4SPOvvlhjZsudlj0cm5z1LE76xb/63f4H3up+o2f9Fx8dDH2/HlnH2m6xk1ZuMYWNc6+eiJ9/fBDzvW/fNflgx0iu/P1135hTq0X9rzb8b2OffZaL/9ttxws1OTtcs2ifurg4aN54vRp2vBVpxF+zfPqLpPezVhxxNg+pnTtuPK4cx07sOdmLi627vZzbK74f/MIh3FRKIso5sp/ek5tZ9stN3vviznTbUYH/aNT55eOkyw+M4A7g1BFFb/4BK0uq3qaCKA26Xi+Rm22BYScFx5lvr6+ps7I36rm/B18emObqir5nt/W66/caaU8xXJTpJNusFD+f6j0OwWqxr/6J1HDioKXS30NAnrhg1DNQETNEDjokkBtj8miqIa3YiiA0D21IakdIBvtsbEwQklzh1DW1RbUNpgH6polYNfTq702JGLjxtIlUp1Y/T+ooTrma6hJqXPDpFSVZCTllBQUYfxyskpwNS4pdRU5dSROiAZMDqqiCINpQmkICaEyECVNGJQAqqRKoAFRIBTk4OOWKs38+GBCDkKSN2p7KQERManm13KxsQrWho5E+l+Aq0pBHtlMcudbNTRtQIb1TUgkRCTESGKKckhUeQgiZXmGgr0ZDlPUgECRsAZrLCjZ1sGlCWQ01AjVpCBIWm2QQhscSqioB0G+gpMNJkIr0xXKaujoKZIcOYooRbk8bv3K/ikdh3aXRCKzSD0pEVlkXes24Fju9xrSXuwQSUWKdTYSz6PSE8Ut) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAY8AA8AAAAAB7QAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAASwAAAGYrviSMR1NVQgAAAbwAAAAnAAAAKLj8uOpPUy8yAAAB5AAAAE0AAABgVnWVylNUQVQAAAI0AAAAOQAAAETlE8wbY21hcAAAAnAAAABCAAAAXEHQ4ltnYXNwAAACtAAAAAgAAAAIAAAAEGdseWYAAAK8AAABXgAAAXwE1rnAaGVhZAAABBwAAAA1AAAANiKkW4FoaGVhAAAEVAAAAB8AAAAkCFEBaWhtdHgAAAR0AAAAIQAAACIN/ACZbG9jYQAABJgAAAAUAAAAFAFhAextYXhwAAAErAAAABoAAAAgABwA5W5hbWUAAATIAAABIQAAAnQ1/F4xcG9zdAAABewAAABOAAAAYvVu8ckAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42j3HpQECQAAAwHvBNZOZgBWQRGQAtOA2Py7XTkBVV08cjMYTze3suteU4X4XEDar816Zz2RRWVAWtUFXRxAFSRAlUfjPAyrAB5UAeNpjYGRgYOBiUANCJhc3nxAGoZzEkjwGPgYQYAER//+DSABaSQVVAHjaY2Bh0mD8wsDKwMDUxRTBwMDgDaEZ4xg0GDUYUAE7EDPBOB4uzv4MBxgUFLYwv/h3kYGB+QWjvgID42SQHONbpp1ASoGBGQAXMA0gAAAAeNodxIEFgFAYBsD7/ooUhEZosUBFgEeLN0B0OBGjwvq/qec4W3C1/c4keotAhrzoRGUG4QO3sgTdAAAAeNpjYGBgAmJmIBYBkoxgmoXBA0jzMXAA5dgYFBgcGRYwHGRkUtjy/z9QHIX//8n/A/9T/zv+Z7wfBNSNAgBlvxJCAAAAAQAB//8AD3jaPIszeGxRGEX3f+7MOflebGOM58tnG7FdxahjN7HZt+mn/2KXqdM3URer3HutBQYZoHXahwQBKKGWUIcl1CLT7PkAZZ4v0v65y07jYAgCWDPzQeARoJBCNpdFOCQpiILTKKjx1fnBK1LrG5jv7OfCwik9P9/DxcVtJfUxJwiAgMARNh/+yrufw6/96kDIxTGLYsuIhwGYrU6nphq6YdMskRYueGREVJQi60Y056RZdEPXVKfTZuXCpeuKHBUVGSG4UCIp5UftWy6ZXjJ+vuBn9re+c7xNDSqL7TyfoQLBQxOeJXk+xmSkVP74WKr5S6a3AXrp+9gIf/+PH/39o+LsSsJbxf0vhxY+cxGZGO+NcXvlD+9eZOmJkdz8GYSn7AmZmA8SEG4o4mlD9TB7MjR0Qw6oXKpE4BWxOi9naiwCci+QYjvu7+2mr6qm5+rL9NjVXlVFVcXJCQCvfEkeAAB42mNgZGBgYGYOqfY4HxbPb/MVyH7BAAT3u+Q5wPSsr0n/A//9YxVlfgTksjEwgUQBcMANhAAAAHjaY2BkYGB+8e8iAwOry//Av96sokARVMABAJZ2BcAAeNpj/MNgxNTJwAfDjCwMDCDMZMAgwMDAoMugCwBW0wOhAAAAAAAAFAAvADsARgBGAEYAmQCmAL542mNgZGBg4GRoAOJkBlYwDwFYGBgBFx0BAgAAeNpiYGDgYZjGwMzAyMIJZB9ilIGyGRm0GD5B2UwMfAxPIGwgacewDMpmQVLDyiDF0ANohKy1KgiCKFi45aRIgrtDgrtrCs/d9e8p3OXs6b3VPjPP3MogoSe2c57xJ25wF/3P3CJ3P3On3PnMXRKckyXNHRn2KKkp4gQ5IkxIKpu7ISxFiZnX/HIUWWaCCTVIwWyOkjxOUU6pWaNR8ydsc8guzidJ2P8OBbMluWhk7MOma7mAM6zI0MsM40wypb7RCrtsssGJ9N+553JUSllf+NDV+6mv90PfhpkcdQqv9+9lmkltSro0ElZ/n3eKPgn9IPazRlmNGfOm+oNf3jTqNiusCzBO0Mo0E5pnR4+UFtXKdkxY97Z9jOiH7UP3TuVfYwAAAHjaY2BiAIP/7QwaDNgAJxCrMJxkZGJgZmRmZGFkZWRjc0wqSi1LZS/NyzQwcDQA0UYGTiacicmlJanJ+blJPCAZYwMzveTE4lQAH2ARFAAA) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/hanken-grotesk-vietnamese-500-normal.DxwlvJEc.woff2) format("woff2"),url(/_astro/hanken-grotesk-vietnamese-500-normal.DkDHNoXI.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/hanken-grotesk-latin-ext-500-normal.DLb9JDK8.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-ext-500-normal.BNvrJ0Ju.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/hanken-grotesk-latin-500-normal.DrDcrrxK.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-500-normal.Bo-NxEKf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAAQoABAAAAAACBQAAAPPAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAXBEICoJ8gkQLFAABNgIkAyIEIAWFOAdiDAcbsAYArgZscK1wkCT3IhFNYz5DPm7qldBpMgqe/7f7d5878wHPl+fTgfT+owOgTZ10qYRSldRmpU2VVAIBtVb23O0DgSLUxDaggFgCgYsH4vL58iGQsX8lwzz/N2ssW5itSTCXRf3EepFFaWB193xtOsLr/8L5w/mRXT/9/eStz9e8ZyvSAU88yqPKhpE04lG0VVOmwL/pw8X5dE4v9dEEsYPKnNkNQhGQDgAUITRCQKo63dTwvCVryFxtiQXIpAP+E4CsskcCJAMBQqckE8mUfDpoUkkoAEIjFI0iiILdyA0acLkGYMdOAD38izUkQB3SSbC4EJlLU2gg2JKA0nbB8MxyHqitvY3+nLrSFwzttchpCMi/2EMIBo1EvyrkU6CO2uZ0xQS4N1t8ko7Ip1dbSIOxnAAkWW0AQAEN5NMIvDwLQCY/nESGKZe8DDHjzh8YjMRXe50B4TcNEuLSQhLkAEgBkAtSwUawD5SDfACK+qW3RCck0pP0wqjtOztNy1CzGfH0NG/aitS5W9avT5tpOTs5Ce+cKuorV+y4+jHj8LumfP8AcA6Bolz3+LoB7/Io/dChpXr8Dn5+gnZcKWx9iTO2G0PG4RWW7NSxHl3f863TFp6ZkFbwoMm/P7ygJSJbTkrgowKoyhzz9Y9smyi8OB6IhoZKaj5vF/sX9n5Z6ZQsPDx9dfaCtPHUQ27GxAeD+8aXHZ/Ltbv9rIHMFWPzprZ39q0ZKC16pbHJf2H7maPefE68ORPLay4JwmUhmlkyiaojIEmSHyKDk53CBKRBHUL36sstQ4AWX9O+/ms9L6v7P4Vqn4CPh1B65KUXSkvcz4DEWyzjFimpsxbEqcuxv5M7OfzGQjgzgg5vpzpkghYtBKTopSuhsSymCMh0VZxEKcCjML4GoiOUAyUzpAPNtKeZuh1IUOo6SNTmOMjUbxnIVq6bmSNbDYtAusJ8SXyGSsWlPi+NVLBKkJ9FwEIxFj5uVuvZuTm5xKxm5+c2LcjHZoHHbF52AYb5IoJi7KK87f9iQqKGdeoUZRXhFhIT1SHKzadDUIRTp+XmWcIaq+Zuj0CyDpNFuGTBGIr36GDq0rPiHbHAHDOWp44ftar6TnE+FpF3zW34q2YEu2GPyNn9EkM3U7cuhjVc7Axe2QoM5ZFZOeBPiYtxCYqIMjSdscbJbTVL3KwOVkF+nfwsIojEN6OcReKiOrlEwN/OaWmmCIH/p8GCKaDOkxBDC5rokiCJiVOzKfxHJW0JuE1zytRf7Dane1MWWOMxezYbknTUbPaY/elthN8PiW5ERwE=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/hanken-grotesk-vietnamese-600-normal.Cp8QQjQf.woff2) format("woff2"),url(/_astro/hanken-grotesk-vietnamese-600-normal.DHaFH8q1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/hanken-grotesk-latin-ext-600-normal.FY8kSObK.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-ext-600-normal.DHIm05DD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/hanken-grotesk-latin-600-normal.CIXX6EOa.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-600-normal.NEn2C4Q3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAAQQABAAAAAAB9AAAAO1AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAXBEICoJ8gkULFAABNgIkAyIEIAWEcgdiDAcbawYAPgzYZKiDVf9AJG6cDDnBomS69KOW+n5qazEGz//bVff9qmloNUKNvSCjbbmmtQCzjTfck4MRlMqpcpgH+HHY+xMVmtIalHYAo5yoTKXFQ5zayVEoGWY92TdNoFQlCEmzUTTRuv4/nC9cFvmd4kJ9rcssgaOlihjv/5yLtwZp3scF6YAnvj6vsqOyCjrDgZ013RsdtWiVn8GJ6+k26YjeXEM1TLo9UgS4AIAihEYIcGgyQPUsXL4ez3JfPo2HDvhPALIslE1jAwKETrERNkoxHbSpJRQAoRGKRhEmQjSmRQsxMQNERMzXIzR1WzTUvohRYBkOImO0BbPJrED5ayzumbeKi8rKLke+/zfa+9BahhwC5EvEfTBohLBRoJgCTdSmSDQvgNh6X1IYUUynESo4ARAgAIlVtwEU0EAxjYBiusXAw0axMMxx0XiIMG79B/eJ/68FncKzfmIcWsh/UgHYAUwEDrAF7AHVoBiAor70keiEROlWvTRqrVucmlv53eRyJpznmM2bNjnbd2pqKmw9Vzhy6ZItlx8l7p8uHXrWwqCkZ3Tjw6sK2isPEvY9bRp+eenkpC2ns2bZ0rU1GxIP3Kedh3DcRMfM0ZllDXMOdbLl3psjjvjg/Z9X7bonrMNIitTwdN+skvyB49E9Cyvq3lSX9c/v+bq5o3rxwb7V7py4ZsKZ/oy1n0y/l5ftW1veeGxo4UxjdmLW4jm+/pENk8vun1XdYJ7deeKg8Rd9vfNnb647U1iSrtk8b+UcVA0BVlb/ZBbbnKcPYIM6EbkTr7YIAVrk+r+anJXqX+MitU/Ax32lcbj65NfY/t8uE1jK2KOMotRFDfrfhd4PVbSFXwxTikGHKtXGiVL/gAC7IboKGi/hFAEuF0SSKDtwJxScQVT7B4rNN9BMdRt0LS5AkUp7wKLJZsljRINMwKUUrNh8Awcujm05cYC1TCk+aUvk+STFBGwSEhMRlZe/Nm9MzlS9euUEZMWMycvpkROT1MOUFdFrlYWWW8wnLSEkbZEsU15ITkK3uUxJQRuFZOXEmNIMg3r06TfoYZixKMOyuWvTLDbfPKtMi27iwWO1z2Mas1M2G9/EMKDPgH6G9aJCjNt6qzkk7gV8VM9RkBfNV8AcQ5sMJyJiWssU+PUIMKX0SvHJMq8mmSJMBTm9ojfQd4sU2imb4f/UCWkHTR6HCLSgiS5FYrHM8XffX2P9dKyvb04fPnOgb+6QfQOFfKgRDcfF5vsG+0Y606i8Hv7vWtRBAAA=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/hanken-grotesk-vietnamese-700-normal.C4RNfQp6.woff2) format("woff2"),url(/_astro/hanken-grotesk-vietnamese-700-normal.CslVg6dq.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/hanken-grotesk-latin-ext-700-normal.CK2OfQqO.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-ext-700-normal.BXHnjv6S.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/hanken-grotesk-latin-700-normal.CeQ8H3UY.woff2) format("woff2"),url(/_astro/hanken-grotesk-latin-700-normal.6IGCzoPh.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=) format("woff");unicode-range:U+0460-052F,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(/_astro/jetbrains-mono-cyrillic-400-normal.BEIGL1Tu.woff2) format("woff2"),url(/_astro/jetbrains-mono-cyrillic-400-normal.ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-greek-400-normal.C190GLew.woff2) format("woff2"),url(/_astro/jetbrains-mono-greek-400-normal.B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/_astro/jetbrains-mono-vietnamese-400-normal.CqNFfHCs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-ext-400-normal.Bc8Ftmh3.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-ext-400-normal.fXTG6kC5.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,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(/_astro/jetbrains-mono-cyrillic-500-normal.DmUKJPL_.woff2) format("woff2"),url(/_astro/jetbrains-mono-cyrillic-500-normal.DJqRU3vO.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-greek-500-normal.JpySY46c.woff2) format("woff2"),url(/_astro/jetbrains-mono-greek-500-normal.D7SFKleX.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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) format("woff2"),url(/_astro/jetbrains-mono-vietnamese-500-normal.DNRqzVM1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-ext-500-normal.Cut-4mMH.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-ext-500-normal.ckzbgY84.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ab-bg:#fbfbfa;--ab-text:#0e0e0e;--ab-muted:#56564f;--ab-label:#a3a39c;--ab-border:rgba(0,0,0,.1);--ab-border-soft:rgba(0,0,0,.07);--ab-border-subtle:rgba(0,0,0,.08);--ab-border-faint:rgba(0,0,0,.06);--ab-border-strong:rgba(0,0,0,.14);--ab-border-badge:rgba(0,0,0,.16);--ab-ink-soft:#54544f;--ab-ink-body:#3a3a37;--ab-meta:#9a9a93;--ab-num:#bdbdb6;--ab-dim:#c4c4bd;--ab-placeholder:#efefed;--ab-white:#ffffff;--ab-nav-glass:rgba(251,251,250,.86);--ab-dark:#0a0a0a;--ab-dark-text:#f4f4f4;--ab-dark-heading:#ffffff;--ab-dark-muted:#bdbdbd;--ab-dark-label:#7a7a7a;--ab-dark-tag:#dadada;--ab-dark-border:#2a2a2a;--ab-code-bg:#141414;--ab-code-border:#262626;--ab-code-text:#cfcfcf;--ab-code-key:#ffffff;--ab-code-string:#b6b6b6;--ab-code-comment:#777777;--ab-code-muted:#5a5a5a;--ab-accent:#f2541b;--ab-accent-ink:#b83e10;--ab-accent-soft:rgba(242,84,27,.22);--ab-accent-wash:#fdf1eb;--ab-dot-red:#ff5f57;--ab-dot-yellow:#febc2e;--ab-dot-green:#28c840;--ab-status:var(--ab-accent);--font-head:"Bricolage Grotesque Variable","Bricolage Grotesque", "Hanken Grotesk", system-ui, sans-serif;--font-body:"Hanken Grotesk", system-ui, sans-serif;--font-mono:"Hanken Grotesk", system-ui, sans-serif;--font-code:"JetBrains Mono", ui-monospace, Menlo, monospace;--ab-max:1180px;--ab-pad:clamp(20px,5vw,40px);color-scheme:light}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--ab-bg);color:var(--ab-text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:70;background:var(--ab-bg)}a:focus-visible,button:focus-visible{outline:2px solid var(--ab-text);outline-offset:3px;border-radius:4px}@keyframes ab-wave{0%,60%,to{transform:rotate(0)}10%,30%{transform:rotate(15deg)}20%{transform:rotate(-9deg)}40%{transform:rotate(-5deg)}}@keyframes ab-floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes ab-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.55);opacity:.5}}@keyframes ab-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.ab-container{max-width:var(--ab-max);margin:0 auto;padding-left:max(var(--ab-pad),env(safe-area-inset-left,0px));padding-right:max(var(--ab-pad),env(safe-area-inset-right,0px))}.ab-nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:var(--ab-nav-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--ab-border-faint)}.ab-nav__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px}.ab-nav__logo{font-family:var(--font-head);font-weight:800;font-size:24px;line-height:1;letter-spacing:-.04em;color:var(--ab-text);text-decoration:none;white-space:nowrap}.ab-nav__logo span{color:var(--ab-accent)}.is-loading .ab-nav__logo{opacity:0}.ab-nav__links{display:flex;align-items:center;gap:clamp(13px,2.4vw,26px)}.ab-nav__links a{font-size:15px;color:var(--ab-muted);text-decoration:none}.ab-nav__links a:hover{color:var(--ab-text)}.ab-nav__sep{width:1px;height:18px;background:var(--ab-border-strong)}.ab-nav__status{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:12px;white-space:nowrap}.ab-pulse{width:7px;height:7px;border-radius:50%;background:var(--ab-status);animation:ab-pulse 2s ease-in-out infinite}.ab-nav__cta{font-size:14px!important;font-weight:500;color:var(--ab-text)!important;border:1px solid var(--ab-text);border-radius:999px;padding:8px 16px;white-space:nowrap}.ab-nav__burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--ab-border-strong);border-radius:11px;background:#ffffff80;cursor:pointer;padding:0;font-size:19px;line-height:1;color:var(--ab-text)}.ab-nav__panel{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fbfbfafa;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--ab-border-subtle);padding:10px max(var(--ab-pad),env(safe-area-inset-right,0px)) 22px max(var(--ab-pad),env(safe-area-inset-left,0px))}.ab-nav__panel.is-open{display:flex}.ab-nav__panel a{font-size:18px;color:var(--ab-text);text-decoration:none;padding:13px 0;border-bottom:1px solid var(--ab-border-faint)}.ab-nav__panel a:last-child{border-bottom:0}.ab-nav__panel-cta{margin-top:14px;font-size:15px!important;font-weight:500;text-align:center;color:var(--ab-white)!important;background:var(--ab-text);border-radius:999px;padding:13px 18px!important}@media(max-width:768px){.ab-nav__links{display:none}.ab-nav__burger{display:inline-flex}}.ab-btn-dark,.ab-btn-outline{display:inline-block;font-size:15px;font-weight:500;text-decoration:none;border-radius:999px;padding:12px 22px;border:1px solid var(--ab-text)}.ab-btn-dark{color:var(--ab-white);background:var(--ab-text)}.ab-btn-dark:hover{opacity:.82}.ab-btn-outline{color:var(--ab-text)}.ab-btn-outline:hover{background:var(--ab-text);color:var(--ab-white)}.ab-section-label{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;color:var(--ab-label);margin:0;text-transform:uppercase}.ab-hero{padding-block:clamp(70px,11vh,120px) 70px;text-align:center}.ab-hero .ab-container{max-width:1040px}.ab-hero__avatar{width:96px;height:96px;margin:0 auto 28px;border-radius:28px;border:1px solid var(--ab-border-subtle);background:var(--ab-placeholder);display:grid;place-items:center;font-family:var(--font-head);font-weight:800;font-size:30px;color:var(--ab-meta);animation:ab-floaty 5s ease-in-out infinite}.ab-hero__eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ab-meta);margin:0}.ab-hero__title{font-family:var(--font-head);font-weight:800;font-size:clamp(38px,6.6vw,84px);line-height:1.03;letter-spacing:-.035em;margin:18px 0 0;text-wrap:balance}.ab-hero__wave{display:inline-block;transform-origin:75% 80%;animation:ab-wave 2.8s ease-in-out 1.1s infinite}.ab-hero__sub{max-width:640px;margin:24px auto 0;font-size:clamp(17px,2.1vw,21px);line-height:1.55;color:var(--ab-ink-soft)}.ab-hero__sub strong{font-weight:600;color:var(--ab-text)}.ab-hero__ctas{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.ab-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}.ab-h2{font-family:var(--font-head);font-weight:800;font-size:clamp(32px,5vw,58px);letter-spacing:-.03em;line-height:1;margin:0;text-wrap:balance}.ab-experiencia{padding-block:clamp(40px,6vh,70px) clamp(80px,11vh,120px);border-top:1px solid var(--ab-border-soft)}.ab-experiencia__list{margin-top:40px}.ab-experiencia__row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) 150px;gap:clamp(12px,3vw,32px);align-items:baseline;padding:26px 0;border-top:1px solid var(--ab-border)}.ab-experiencia__row:last-child{border-bottom:1px solid var(--ab-border)}.ab-experiencia__company{font-family:var(--font-head);font-weight:700;font-size:clamp(20px,2.6vw,28px);letter-spacing:-.02em;margin:0}.ab-experiencia__role{margin:0;font-size:15.5px;color:var(--ab-muted)}.ab-experiencia__year{font-family:var(--font-mono);font-size:13px;color:var(--ab-meta);margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.ab-experiencia__row--sub .ab-experiencia__company{color:var(--ab-dim)}@media(max-width:640px){.ab-experiencia__row{grid-template-columns:1fr auto;gap:2px 12px;align-items:start}.ab-experiencia__company{grid-column:1;grid-row:1}.ab-experiencia__year{grid-column:2;grid-row:1;align-self:center}.ab-experiencia__role{grid-column:1/-1;grid-row:2}}.ab-skills{padding-block:clamp(70px,9vh,100px)}.ab-skills__list{margin-top:42px}.ab-skills__item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:clamp(16px,3vw,40px);padding:34px 0;border-top:1px solid var(--ab-border)}.ab-skills__item:last-child{border-bottom:1px solid var(--ab-border)}.ab-skills__num{font-family:var(--font-mono);font-size:15px;color:var(--ab-num);padding-top:6px;margin:0}.ab-skills__name{font-family:var(--font-head);font-weight:700;font-size:clamp(23px,3vw,34px);letter-spacing:-.02em;margin:0}.ab-skills__badge{display:inline-block;font-family:var(--font-mono);font-size:13px;font-weight:400;letter-spacing:0;color:var(--ab-meta);border:1px solid var(--ab-border-badge);border-radius:6px;padding:3px 8px;vertical-align:middle;margin-left:6px}.ab-skills__desc{max-width:620px;margin:12px 0 18px;color:var(--ab-muted)}.ab-tags{display:flex;flex-wrap:wrap;gap:8px}.ab-tag{font-family:var(--font-mono);font-size:12.5px;color:var(--ab-ink-body);border:1px solid var(--ab-border-strong);border-radius:7px;padding:6px 11px}@media(max-width:560px){.ab-skills__item{grid-template-columns:1fr;gap:6px}}.ab-ia{background:var(--ab-dark);color:var(--ab-dark-text);padding-block:clamp(80px,11vh,120px)}.ab-ia__eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ab-dark-label);margin:0 0 22px}.ab-ia__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,5vw,60px);align-items:center}.ab-ia__title{font-family:var(--font-head);font-weight:800;font-size:clamp(30px,4.6vw,56px);line-height:1.04;letter-spacing:-.03em;margin:0;color:var(--ab-dark-heading);text-wrap:balance}.ab-ia__desc{max-width:480px;margin:20px 0 14px;font-size:17px;color:var(--ab-dark-muted)}.ab-ia__list{list-style:none;margin:0 0 18px;padding:0;max-width:500px;display:grid;gap:10px}.ab-ia__list li{display:grid;grid-template-columns:22px 1fr;font-size:16px;line-height:1.5;color:var(--ab-dark-text)}.ab-ia__list li:before{content:"-";color:var(--ab-dark-label);font-family:var(--font-mono)}.ab-ia__now{max-width:480px;margin:0 0 26px;font-size:15px;color:var(--ab-dark-muted)}.ab-tag--dark{font-family:var(--font-mono);font-size:12.5px;color:var(--ab-dark-tag);border:1px solid var(--ab-dark-border);border-radius:7px;padding:6px 11px}.ab-code-block{background:var(--ab-code-bg);border-radius:14px;overflow:hidden;border:1px solid var(--ab-code-border);box-shadow:0 40px 80px -44px #000000b3;min-width:0}.ab-code-block__bar{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--ab-code-border)}.ab-code-block__dot{width:11px;height:11px;border-radius:50%}.ab-code-block__filename{margin-left:10px;font-family:var(--font-mono);font-size:12px;color:var(--ab-dark-label)}.ab-code-block pre{margin:0;padding:22px;font-family:var(--font-mono);font-size:13px;line-height:1.9;color:var(--ab-code-text);overflow-x:auto}.co{color:var(--ab-code-comment)}.cv{color:var(--ab-code-key)}.cs{color:var(--ab-code-string)}.cm{color:var(--ab-code-muted)}.ab-blink{animation:ab-blink 1.1s step-end infinite;color:var(--ab-white)}@media(max-width:768px){.ab-ia__grid{grid-template-columns:1fr}}.ab-proyectos{padding-block:clamp(80px,11vh,120px)}.ab-divider{display:flex;align-items:center;gap:14px;margin:48px 0 32px;flex-wrap:wrap}.ab-divider__label{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;white-space:nowrap}.ab-divider__line{flex:1;height:1px;background:var(--ab-border);min-width:40px}.ab-divider__sub{font-family:var(--font-mono);font-size:12px;color:var(--ab-label)}.ab-project{display:block;text-decoration:none;color:inherit;margin-top:32px}.ab-project+.ab-project{margin-top:60px}.ab-img{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:16/9;max-width:100%;border:1px solid var(--ab-border-subtle);background:var(--ab-placeholder);display:grid;place-items:center;transition:transform .5s cubic-bezier(.2,.6,.2,1)}.ab-img span{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ab-meta)}.ab-project:hover .ab-img,.ab-mini-project:hover .ab-img{transform:scale(1.012)}.ab-project__info{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:22px;flex-wrap:wrap}.ab-project__meta,.ab-mini-project__meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;color:var(--ab-label);margin:0 0 8px}.ab-project__name{font-family:var(--font-head);font-weight:700;font-size:clamp(26px,3.6vw,42px);letter-spacing:-.025em;margin:0}.ab-project__desc{max-width:480px;margin:8px 0 0;line-height:1.5;color:var(--ab-muted)}.ab-project__cta,.ab-mini-project__cta{font-size:15px;font-weight:500;white-space:nowrap;display:inline-block;transition:transform .25s}.ab-project:hover .ab-project__cta{transform:translate(5px)}.ab-mini-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:clamp(20px,3vw,32px);margin-top:30px}.ab-mini-project{display:block;text-decoration:none;color:inherit}.ab-mini-project .ab-img{aspect-ratio:4/3;border-radius:14px}.ab-mini-project__info{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:18px}.ab-mini-project__name{font-family:var(--font-head);font-weight:700;font-size:clamp(21px,2.6vw,28px);letter-spacing:-.02em;margin:0}.ab-mini-project__desc{max-width:360px;margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--ab-muted)}.ab-sobre{padding-block:clamp(70px,9vh,100px);border-top:1px solid var(--ab-border-soft)}.ab-sobre__eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;color:var(--ab-label);margin:0 0 16px}.ab-sobre__text{font-family:var(--font-head);font-weight:600;font-size:clamp(22px,3.2vw,36px);line-height:1.3;letter-spacing:-.02em;max-width:880px;margin:0;text-wrap:pretty}.ab-sobre__text+.ab-sobre__text{margin-top:18px;color:var(--ab-muted)}.ab-sobre__cv{display:inline-block;margin-top:24px;font-size:15px;font-weight:500;color:var(--ab-text);text-decoration:none;border-bottom:1px solid var(--ab-text);padding-bottom:2px}.ab-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,20px);margin-top:clamp(28px,4vw,40px)}.ab-duo__card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:var(--ab-white);border:1px solid var(--ab-border-strong);border-radius:22px;padding:clamp(22px,3vw,36px)}.ab-duo__card--contact{border-color:var(--ab-accent)}.ab-duo__label{margin:0 0 14px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-label)}.ab-duo__title{margin:0;font-family:var(--font-head);font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.2;letter-spacing:-.02em;text-wrap:balance}.ab-duo__text{margin:10px 0 0;color:var(--ab-muted)}.ab-duo .ab-sobre__cv{margin-top:auto;padding-top:24px}.ab-contacto__mail{margin:20px 0 0;font-family:var(--font-head);font-weight:700;font-size:clamp(20px,2.2vw,26px);line-height:1.2;letter-spacing:-.015em;overflow-wrap:anywhere}.ab-contacto__mail a{color:var(--ab-text);text-decoration:none;background:linear-gradient(var(--ab-accent),var(--ab-accent)) no-repeat 0 100%/0 2px;transition:background-size .45s cubic-bezier(.2,.6,.2,1);padding-bottom:3px}.ab-contacto__mail a:hover{background-size:100% 2px}.ab-contacto__ctas{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px}.ab-contacto__copy{font:inherit;font-size:15px;font-weight:500;cursor:pointer;background:transparent;color:var(--ab-text)}.ab-contacto__copy:hover{background:var(--ab-accent);border-color:var(--ab-accent);color:var(--ab-white)}.ab-contacto__ok{font-size:14px;font-weight:600;color:var(--ab-accent-ink);opacity:0;transition:opacity .2s}.ab-contacto__ok.is-on{opacity:1}#contacto{scroll-margin-top:120px}@media(max-width:768px){.ab-duo{grid-template-columns:1fr}}@media(max-width:480px){.ab-contacto__ctas .ab-btn-dark,.ab-contacto__ctas .ab-btn-outline{flex:1 1 100%;text-align:center}}.ab-lang{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--ab-border-strong);border-radius:999px;padding:3px}.ab-lang button{font:inherit;font-size:12.5px;font-weight:600;letter-spacing:.06em;color:var(--ab-meta);background:none;border:0;border-radius:999px;padding:5px 10px;cursor:pointer;transition:color .2s,background .2s}.ab-lang button:hover{color:var(--ab-accent-ink)}.ab-lang button[aria-pressed=true]{background:var(--ab-text);color:var(--ab-white)}.ab-lang--panel{align-self:flex-start;margin-top:8px}.ab-lang--panel button{font-size:14px;padding:7px 14px}.ab-frame__media--img{display:block;padding:0;overflow:hidden}.ab-frame__media--img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.6,.2,1)}.ab-frame__card:hover .ab-frame__media--img img{transform:scale(1.03)}.ab-hero__avatar{overflow:hidden;width:128px;height:128px;border-radius:36px}@media(max-width:640px){.ab-hero__avatar{width:104px;height:104px;border-radius:30px}}.ab-hero__avatar img{display:block;width:100%;height:100%;object-fit:cover}.ab-footer{border-top:1px solid var(--ab-border-soft);padding-block:16px}.ab-footer__inner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.ab-footer p{font-family:var(--font-mono);font-size:12px;color:var(--ab-meta);margin:0;letter-spacing:.04em}.ab-footer nav{display:flex;gap:24px;flex-wrap:wrap}.ab-footer a{font-size:14px;color:var(--ab-meta);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.ab-num-accent{color:var(--ab-accent-ink)}.ab-ia .ab-num-accent{color:var(--ab-accent)}.ab-mark{background:linear-gradient(var(--ab-accent-soft),var(--ab-accent-soft)) no-repeat 0 88%/0% 34%;transition:background-size .9s cubic-bezier(.6,0,.2,1) .15s;padding:0 .04em}.is-ready .ab-mark{background-size:100% 34%}.ab-btn-dark:hover{opacity:1;background:var(--ab-accent);border-color:var(--ab-accent)}.ab-blink{color:var(--ab-accent)!important}.ab-case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,4vw,56px);padding:clamp(32px,5vw,56px) 0;border-top:1px solid var(--ab-border);align-items:start}.ab-case:first-of-type{border-top:0;padding-top:8px}.ab-case__eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ab-label);margin:0 0 12px}.ab-case__title{font-family:var(--font-head);font-weight:800;font-size:clamp(28px,3.8vw,46px);letter-spacing:-.03em;line-height:1.02;margin:0;text-wrap:balance}.ab-case__lede{margin:14px 0 0;font-size:17px;line-height:1.55;color:var(--ab-ink-soft);max-width:520px}.ab-case__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0 0;padding:18px 0 0;border-top:1px solid var(--ab-border)}.ab-case__meta dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ab-label);margin:0 0 6px}.ab-case__meta dd{margin:0;font-size:14.5px;line-height:1.45;color:var(--ab-text)}.ab-case__status{display:inline-flex;align-items:center;gap:7px}.ab-case__status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ab-accent);animation:ab-pulse 2s ease-in-out infinite}.ab-case__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.ab-case__card{border:1px solid var(--ab-border-strong);border-radius:12px;padding:16px 16px 18px;min-width:0}.ab-case__card--do{border-color:var(--ab-accent);background:var(--ab-accent-wash)}.ab-case__card h4{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;color:var(--ab-text)}.ab-case__card h4:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ab-accent)}.ab-case__card p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ab-muted)}.ab-case__cta{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-weight:500;color:var(--ab-text);text-decoration:none;border-bottom:1px solid var(--ab-text);padding-bottom:2px}.ab-case__cta span{transition:transform .25s;display:inline-block}.ab-case__cta:hover{color:var(--ab-accent-ink);border-color:var(--ab-accent)}.ab-case__cta:hover span{transform:translate(4px)}.ab-case .ab-img{aspect-ratio:4/3}@media(max-width:900px){.ab-case{grid-template-columns:1fr}.ab-case__media{order:-1}}@media(max-width:560px){.ab-case__cards,.ab-case__meta{grid-template-columns:1fr}}.ab-live{display:grid;margin-top:8px}.ab-live__row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto;gap:clamp(12px,3vw,32px);align-items:baseline;padding:20px 0;border-top:1px solid var(--ab-border);color:inherit;text-decoration:none}.ab-live__row:last-child{border-bottom:1px solid var(--ab-border)}.ab-live__name{font-family:var(--font-head);font-weight:700;font-size:clamp(19px,2.2vw,24px);letter-spacing:-.02em;margin:0}.ab-live__desc{margin:0;font-size:15px;color:var(--ab-muted)}.ab-live__go{font-family:var(--font-mono);font-size:12.5px;color:var(--ab-meta);white-space:nowrap;transition:color .2s,transform .25s}.ab-live__row:hover .ab-live__go{color:var(--ab-accent-ink);transform:translate(4px)}@media(max-width:640px){.ab-live__row{grid-template-columns:1fr auto}.ab-live__desc{grid-column:1/-1;grid-row:2}}.ab-intro{position:fixed;inset:0;z-index:100;background:var(--ab-dark);color:var(--ab-dark-heading);display:grid;place-items:center;padding:24px;transition:transform .8s cubic-bezier(.76,0,.24,1)}.ab-intro.is-out{transform:translateY(-100%)}.ab-intro.is-gone{display:none}.ab-intro__box{text-align:center;display:grid;gap:10px;justify-items:center}.ab-intro__name{font-family:var(--font-head);font-weight:800;font-size:clamp(36px,7vw,76px);letter-spacing:-.035em;line-height:1;margin:0;white-space:nowrap;transition:filter .45s,opacity .45s,transform .45s}.ab-intro__name .g{font-family:var(--font-mono);font-weight:400;color:var(--ab-dark-label);letter-spacing:0}.ab-intro__role{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ab-accent);margin:0;transition:opacity .4s}.ab-intro.is-mono .ab-intro__name{filter:blur(6px);opacity:0;transform:scale(.96)}.ab-intro.is-mono .ab-intro__role{opacity:0}.ab-intro{transition:opacity .7s ease .15s}.ab-intro.is-out{transform:none;opacity:0;pointer-events:none}.ab-fly{position:fixed;left:50%;top:50%;z-index:101;margin:0;font-family:var(--font-head);font-weight:800;font-size:clamp(44px,8vw,88px);line-height:1;letter-spacing:-.04em;color:var(--ab-dark-heading);transform:translate(-50%,-50%);transform-origin:center;opacity:0;filter:blur(8px);pointer-events:none;transition:opacity .45s,filter .45s}.ab-fly span{color:var(--ab-accent)}.ab-fly.is-on{opacity:1;filter:none}.ab-fly.is-flying{transition:transform .9s cubic-bezier(.76,0,.24,1),color .9s ease}.ab-fly.is-gone{display:none}.ab-intro__skip{position:absolute;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));font:inherit;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ab-dark-label);background:none;border:0;cursor:pointer}.ab-hero>.ab-container>:not(.ab-cursor){transition:opacity .7s ease,transform .7s cubic-bezier(.2,.6,.2,1)}.is-loading .ab-hero>.ab-container>:not(.ab-cursor){opacity:0;transform:translateY(18px)}.is-ready .ab-hero>.ab-container>:not(.ab-cursor):nth-child(2){transition-delay:.06s}.is-ready .ab-hero>.ab-container>:not(.ab-cursor):nth-child(3){transition-delay:.12s}.is-ready .ab-hero>.ab-container>:not(.ab-cursor):nth-child(4){transition-delay:.2s}.is-ready .ab-hero>.ab-container>:not(.ab-cursor):nth-child(5){transition-delay:.28s}@media(prefers-reduced-motion:reduce){.ab-intro,.ab-fly{display:none}.is-loading .ab-hero>.ab-container>:not(.ab-cursor){opacity:1;transform:none}.ab-mark{background-size:100% 34%}}.ab-pal{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px) + var(--pal-lift,0px));z-index:75;display:flex;flex-direction:row-reverse;align-items:flex-end;gap:10px;transform:translateY(140%);transition:transform .6s cubic-bezier(.34,1.4,.5,1);pointer-events:none}.ab-pal.is-in{transform:none}.ab-pal.is-in .ab-pal__btn,.ab-pal.is-in.has-card .ab-pal__card{pointer-events:auto}.ab-pal{--pal-ink:#1d1d1f;--pal-skin:#efece6;--pal-blush:#f6b49a}.ab-pal__btn{flex:none;background:none;border:0;padding:0;cursor:pointer;width:80px}.ab-pal__svg{display:block;width:100%;height:auto;overflow:visible}.ab-pal__skin{fill:#ece9e4;stroke:#0000001f;stroke-width:2}.ab-pal__sclera{fill:var(--ab-dark)}.ab-pal__eye{fill:var(--ab-accent)}.ab-pal__lid{fill:#ece9e4;transform-box:fill-box;transform-origin:center top;transform:scaleY(0)}.ab-pal__mouth{fill:none;stroke:var(--ab-dark);stroke-width:5;stroke-linecap:round}.ab-pal__tip{fill:var(--ab-accent)}.ab-pal__shadow{fill:#0000002e}.ab-pal__cv{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;animation:ab-pal-idle 2.4s steps(1) infinite;transition:filter .25s}.ab-pal.is-blink .ab-pal__lid{animation:ab-pal-blink .24s steps(3)}.ab-pal.is-hop .ab-pal__cv{animation:ab-pal-hop .4s steps(3)}.ab-pal.is-hello .ab-pal__cv{animation:ab-pal-hop .4s steps(3) 2}.ab-pal__card{position:relative;width:min(340px,calc(100vw - 120px));background:var(--ab-white);color:var(--ab-text);border:1px solid var(--ab-border-strong);border-radius:16px 16px 4px;box-shadow:0 24px 48px -24px #00000073;padding:14px 44px 14px 16px;margin-bottom:28px;opacity:0;transform:translateY(8px) scale(.97);transform-origin:100% 100%;transition:opacity .25s,transform .25s;pointer-events:none}.ab-pal.has-card .ab-pal__card{opacity:1;transform:none}.ab-pal.is-open .ab-pal__card{padding-right:16px}.ab-pal__msg{margin:0;font-size:14.5px;line-height:1.5}.ab-pal.is-open .ab-pal__msg{padding-right:30px}.ab-pal__msg a{color:var(--ab-accent-ink)}.ab-pal__qs{display:none;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--ab-border)}.ab-pal.is-open .ab-pal__qs{display:flex}.ab-pal__qs button{font:inherit;font-size:13.5px;text-align:left;color:var(--ab-text);background:var(--ab-bg);border:1px solid var(--ab-border-strong);border-radius:10px;padding:8px 11px;cursor:pointer;transition:border-color .2s,background .2s}.ab-pal__qs button:hover,.ab-pal__qs button.is-on{border-color:var(--ab-accent);background:var(--ab-accent-wash)}.ab-pal__more{display:inline-block;margin-top:10px;font:inherit;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:none;border:0;padding:4px 0;cursor:pointer;color:var(--ab-accent-ink)}.ab-pal.is-open .ab-pal__more{display:none}.ab-pal__close{position:absolute;top:10px;right:10px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--ab-border-strong);background:var(--ab-bg);color:var(--ab-muted);cursor:pointer;padding:0;transition:background .2s,color .2s,border-color .2s}.ab-pal__close:hover{background:var(--ab-text);border-color:var(--ab-text);color:var(--ab-white)}.ab-pal__close svg{width:10px;height:10px;stroke:currentColor;stroke-width:2;stroke-linecap:round}@keyframes ab-pal-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes ab-pal-wave{0%,to{transform:rotate(0)}30%{transform:rotate(55deg)}60%{transform:rotate(25deg)}80%{transform:rotate(55deg)}}@keyframes ab-pal-swing-l{0%,to{transform:rotate(0)}50%{transform:rotate(5deg)}}@keyframes ab-pal-swing-r{0%,to{transform:rotate(0)}50%{transform:rotate(-5deg)}}@keyframes ab-pal-point{0%{transform:rotate(0)}25%,75%{transform:rotate(32deg)}to{transform:rotate(0)}}@keyframes ab-pal-clap-l{0%,to{transform:rotate(0)}25%,75%{transform:rotate(78deg)}50%{transform:rotate(62deg)}}@keyframes ab-pal-clap-r{0%,to{transform:rotate(0)}25%,75%{transform:rotate(-78deg)}50%{transform:rotate(-62deg)}}@keyframes ab-pal-bye{0%,to{transform:rotate(0)}25%,75%{transform:rotate(-50deg)}50%{transform:rotate(-30deg)}}@keyframes ab-pal-blink{0%,to{transform:scaleY(0)}50%{transform:scaleY(1)}}@keyframes ab-pal-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@media(prefers-reduced-motion:reduce){.ab-pal,.ab-pal__card{transition:none}}@media(max-width:480px){.ab-pal__btn{width:60px}.ab-pal__card{width:calc(100vw - 112px)}}.ab-section-label,.ab-hero__eyebrow,.ab-ia__eyebrow,.ab-divider__label,.ab-case__eyebrow,.ab-case__meta dt,.ab-case__card h4,.ab-sobre__eyebrow,.ab-intro__role,.ab-intro__skip,.ab-pal__more{letter-spacing:.08em;font-weight:600}.ab-section-label,.ab-sobre__eyebrow{font-size:12.5px}.ab-hero__eyebrow{font-size:13px;letter-spacing:.1em;font-weight:600;text-wrap:balance}.ab-divider__sub,.ab-live__go,.ab-experiencia__year,.ab-skills__num,.ab-skills__badge{font-weight:500}.ab-experiencia__year{font-size:14px}.ab-skills__num{font-size:16px;font-weight:600}.ab-tag,.ab-tag--dark{font-size:13.5px;font-weight:500;padding:6px 12px}.ab-nav__status{font-size:13px;font-weight:500}.ab-intro__name .g,.ab-code-block pre,.ab-code-block__filename{font-family:var(--font-code)}::selection{background:var(--ab-accent-soft)}a:focus-visible,button:focus-visible{outline-color:var(--ab-accent)}.ab-dot,.ab-ia .ab-dot{color:var(--ab-accent)}.ab-now{color:var(--ab-accent-ink);font-weight:600}.ab-skills__num{color:var(--ab-accent-ink)}.ab-nav__links a:not(.ab-nav__cta):hover{color:var(--ab-accent-ink)}.ab-nav__cta:hover{background:var(--ab-accent);border-color:var(--ab-accent)!important;color:var(--ab-white)!important}.ab-btn-outline:hover{background:var(--ab-accent);border-color:var(--ab-accent);color:var(--ab-white)}.ab-divider__label{display:inline-flex;align-items:center;gap:8px}.ab-divider__label:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--ab-accent)}.ab-experiencia__row{position:relative;transition:padding-left .3s cubic-bezier(.2,.6,.2,1)}.ab-tag{transition:border-color .2s,color .2s}.ab-tag:hover{border-color:var(--ab-accent);color:var(--ab-accent-ink)}.ab-tag--dark{transition:border-color .2s}.ab-tag--dark:hover{border-color:var(--ab-accent)}.ab-case__cta{border-bottom-color:var(--ab-accent)}.ab-case__cta span{color:var(--ab-accent-ink)}.ab-live__row{position:relative}.ab-live__go{color:var(--ab-accent-ink)}.ab-sobre__cv{border-bottom:2px solid var(--ab-accent)}.ab-sobre__cv:hover{color:var(--ab-accent-ink)}.ab-footer a{transition:color .2s}.ab-footer a:hover{color:var(--ab-accent-ink)}.ab-ia__list li:before{color:var(--ab-accent)}.ab-ia__list strong{color:var(--ab-white)}.ab-pal.on-dark .ab-pal__cv{filter:drop-shadow(0 0 12px rgba(242,84,27,.55))}.ab-pal__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.ab-pal__foot .ab-pal__more{margin-top:0}.ab-pal__foot .ab-pal__more{font-family:var(--font-body);font-size:13.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ab-white);background:var(--ab-text);border-radius:999px;padding:8px 16px;white-space:nowrap;transition:background .2s}.ab-pal__foot .ab-pal__more:hover{background:var(--ab-accent)}.ab-pal.is-open .ab-pal__foot{justify-content:flex-end;margin-top:12px}.ab-pal__hide{display:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--ab-muted);background:transparent;border:1px solid var(--ab-border-strong);border-radius:999px;padding:7px 14px;white-space:nowrap;cursor:pointer;transition:border-color .2s,color .2s}.ab-pal__hide:hover{border-color:var(--ab-text);color:var(--ab-text)}@media(max-width:600px){.ab-pal__hide{display:inline-block}}.ab-experiencia__list{position:relative;padding-left:44px}.ab-exp-track{position:absolute;left:8px;top:40px;bottom:40px;width:2px;background:var(--ab-border)}.ab-exp-fill{position:absolute;left:0;top:0;width:100%;height:0;background:var(--ab-accent);transform-origin:top}.ab-exp-dot{position:absolute;left:-44px;top:36px;width:18px;height:18px;border-radius:50%;background:var(--ab-bg);border:2px solid var(--ab-border-strong);box-sizing:border-box;transition:border-color .3s,background .3s,transform .3s cubic-bezier(.34,1.6,.5,1)}.ab-exp-dot:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--ab-accent);transform:scale(0);transition:transform .3s cubic-bezier(.34,1.6,.5,1)}.ab-experiencia__row.is-reached .ab-exp-dot{border-color:var(--ab-accent);transform:scale(1.08)}.ab-experiencia__row.is-reached .ab-exp-dot:after{transform:scale(1)}.ab-experiencia__row:first-of-type.is-reached .ab-exp-dot{box-shadow:0 0 0 0 var(--ab-accent-soft);animation:ab-exp-ping 2s ease-out infinite}@keyframes ab-exp-ping{0%{box-shadow:0 0 #f2541b59}80%,to{box-shadow:0 0 0 12px #f2541b00}}.ab-experiencia__row .ab-experiencia__company,.ab-experiencia__row .ab-experiencia__role{transition:color .3s}.ab-experiencia__row:not(.is-reached) .ab-experiencia__company{color:var(--ab-meta)}@media(max-width:640px){.ab-experiencia__list{padding-left:34px}.ab-exp-track{left:6px}.ab-exp-dot{left:-34px;top:30px;width:16px;height:16px}}@media(prefers-reduced-motion:reduce){.ab-exp-dot,.ab-exp-dot:after{transition:none}.ab-experiencia__row:first-of-type.is-reached .ab-exp-dot{animation:none}}.ab-roles{display:grid;gap:0;color:var(--ab-text)}.ab-roles__item{position:relative;padding-left:20px}.ab-roles__item:before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--ab-accent)}.ab-roles__item--prev:before{background:var(--ab-bg);border:2px solid var(--ab-border-badge);box-sizing:border-box}.ab-roles__item--now{padding-bottom:18px}.ab-roles__item--now:after{content:"";position:absolute;left:3.5px;top:22px;bottom:-6px;width:1px;background:linear-gradient(var(--ab-accent),var(--ab-border-badge))}.ab-roles__name{margin:0;font-size:16.5px;font-weight:600;color:var(--ab-text);display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ab-roles__item--prev .ab-roles__name{font-weight:500;color:var(--ab-muted)}.ab-roles__badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ab-accent-ink);background:var(--ab-accent-wash);border-radius:6px;padding:3px 8px}.ab-roles__badge:before{content:"↑"}.ab-roles__when{margin:2px 0 0;font-size:13.5px;color:var(--ab-meta);font-variant-numeric:tabular-nums}.ab-roles__note{margin:4px 0 0;font-size:15px;color:var(--ab-muted)}.ab-roles__item--prev .ab-roles__note{color:var(--ab-meta)}.ab-sel{position:relative;display:inline-block;white-space:normal}.ab-sel__box{position:absolute;inset:-.06em -.12em -.04em;border:2px solid var(--ab-accent);pointer-events:none;opacity:0;transform:scale(.98);transition:opacity .35s ease .1s,transform .45s cubic-bezier(.2,.6,.2,1) .1s}.ab-sel__box i{position:absolute;width:10px;height:10px;background:var(--ab-white);border:2px solid var(--ab-accent);box-sizing:border-box;transform:scale(0);transition:transform .3s cubic-bezier(.34,1.6,.5,1) .45s}.ab-sel__box i:nth-child(1){left:-6px;top:-6px}.ab-sel__box i:nth-child(2){right:-6px;top:-6px}.ab-sel__box i:nth-child(3){left:-6px;bottom:-6px}.ab-sel__box i:nth-child(4){right:-6px;bottom:-6px}.ab-sel__tag,.ab-sel__size{position:absolute;font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.02em;line-height:1;color:var(--ab-white);background:var(--ab-accent);border-radius:4px;padding:5px 7px;white-space:nowrap;opacity:0;transition:opacity .3s ease .6s}.ab-sel__tag{left:-2px;bottom:calc(100% + 8px)}.ab-sel__size{left:50%;top:calc(100% + 8px);transform:translate(-50%);font-variant-numeric:tabular-nums}.ab-sel.is-selected .ab-sel__box{opacity:1;transform:none;transition-delay:0s}.ab-sel.is-selected .ab-sel__box i{transform:scale(1);transition-delay:.05s}.ab-sel__box{transition:opacity .3s ease,transform .3s ease}.ab-hero .ab-container{position:relative}.ab-cursor{position:absolute;left:0;top:0;z-index:2;display:flex;align-items:flex-start;gap:2px;pointer-events:none;opacity:0;will-change:transform}.ab-cursor svg{width:18px;height:22px;fill:var(--ab-accent);stroke:var(--ab-white);stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2));transition:transform .12s}.ab-cursor span{margin-top:16px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--ab-white);background:var(--ab-accent);border-radius:4px 10px 10px;padding:3px 8px;white-space:nowrap}.ab-cursor.is-on{opacity:1}.ab-cursor.is-moving{transition:transform 1.1s cubic-bezier(.65,0,.25,1),opacity .3s}.ab-cursor.is-click svg{transform:scale(.82)}.ab-cursor.is-idle{animation:ab-cursor-idle 4s ease-in-out infinite}.ab-cursor.is-leave{opacity:0;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .5s ease .1s}@keyframes ab-cursor-idle{0%,to{translate:0 0}50%{translate:3px -4px}}.ab-hero{overflow-x:clip}@media(max-width:640px){.ab-cursor svg{width:15px;height:18px}.ab-cursor span{margin-top:13px;font-size:11px;padding:2px 7px}.ab-sel__box i{width:8px;height:8px}.ab-sel__box i:nth-child(1){left:-5px;top:-5px}.ab-sel__box i:nth-child(2){right:-5px;top:-5px}.ab-sel__box i:nth-child(3){left:-5px;bottom:-5px}.ab-sel__box i:nth-child(4){right:-5px;bottom:-5px}}@media(prefers-reduced-motion:reduce){.ab-cursor{display:none}}@media(max-width:640px){.ab-sel__tag,.ab-sel__size{font-size:10.5px;padding:4px 6px}}.ab-ds{border:1px solid var(--ab-border-strong);border-radius:16px;overflow:hidden;background:var(--ab-placeholder)}.ab-ds__bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;background:var(--ab-bg);border-bottom:1px solid var(--ab-border)}.ab-ds__label{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-muted)}.ab-ds__brands{display:inline-flex;background:var(--ab-placeholder);border-radius:999px;padding:3px;gap:2px}.ab-ds__brands button{font:inherit;font-size:13px;font-weight:600;border:0;background:transparent;color:var(--ab-muted);padding:6px 12px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}.ab-ds__brands button[aria-pressed=true]{background:var(--ab-text);color:var(--ab-white)}.ab-ds__stage{display:grid;place-items:center;padding:clamp(22px,4vw,40px) 16px}.ab-ds[data-brand=a]{--t-bg:#ffffff;--t-ink:#141414;--t-muted:#6b6b6b;--t-primary:#141414;--t-on:#ffffff;--t-accent:#c8102e;--t-radius:4px;--t-font:"Hanken Grotesk",system-ui,sans-serif}.ab-ds[data-brand=b]{--t-bg:#fbf6ec;--t-ink:#2b2117;--t-muted:#7a6a55;--t-primary:#1f5f4a;--t-on:#ffffff;--t-accent:#c9822b;--t-radius:16px;--t-font:"Bricolage Grotesque",system-ui,sans-serif}.ab-ds[data-brand=c]{--t-bg:#14122b;--t-ink:#f3f1ff;--t-muted:#a9a4d6;--t-primary:#8b7bff;--t-on:#14122b;--t-accent:#ffd166;--t-radius:999px;--t-font:"Hanken Grotesk",system-ui,sans-serif}.ab-tk{width:min(300px,100%);background:var(--t-bg);color:var(--t-ink);font-family:var(--t-font);border-radius:calc(var(--t-radius) * .9 + 6px);padding:18px;box-shadow:0 20px 40px -26px #00000073;transition:background .35s,color .35s,border-radius .35s}.ab-ds[data-brand=c] .ab-tk{border-radius:22px}.ab-tk p{margin:0}.ab-tk__kicker{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-accent);transition:color .35s}.ab-tk__title{margin-top:6px!important;font-size:21px;font-weight:700;letter-spacing:-.01em;line-height:1.15}.ab-tk__meta{margin-top:4px!important;font-size:14px;color:var(--t-muted)}.ab-tk__row{display:flex;justify-content:space-between;align-items:center;margin:16px 0 14px}.ab-tk__price{font-size:14px;color:var(--t-muted)}.ab-tk__price strong{color:var(--t-ink);font-size:17px}.ab-tk__qty{display:inline-flex;align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--t-ink) 18%,transparent);border-radius:var(--t-radius);padding:4px 10px;font-size:14px}.ab-tk__qty b{min-width:10px;text-align:center}.ab-tk__cta{display:block;text-align:center;font-weight:700;font-size:15px;background:var(--t-primary);color:var(--t-on);border-radius:var(--t-radius);padding:12px;transition:background .35s,color .35s,border-radius .35s}.ab-ds__tokens{margin:0;padding:12px 16px;font-family:var(--font-code);font-size:12px;line-height:1.7;color:var(--ab-code-text);background:var(--ab-code-bg);overflow-x:auto;white-space:pre}.ab-ds__tokens .k{color:var(--ab-code-comment)}.ab-ds__tokens .v{color:var(--ab-white)}.ab-ds__note{margin:10px 0 0;font-size:13px;color:var(--ab-meta)}.ab-proceso{padding-block:clamp(70px,9vh,100px);border-top:1px solid var(--ab-border-soft)}.ab-proceso__intro{max-width:520px;margin:16px 0 0;color:var(--ab-muted)}.ab-steps{list-style:none;margin:48px 0 0;padding:0;position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(14px,2vw,28px)}.ab-steps__track{position:absolute;left:8px;right:8px;top:8px;height:2px;background:var(--ab-border)}.ab-steps__fill{position:absolute;left:0;top:0;height:100%;width:0;background:var(--ab-accent)}.ab-step{position:relative;padding-top:34px;min-width:0}.ab-step__node{position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--ab-bg);border:2px solid var(--ab-border-strong);box-sizing:border-box;transition:border-color .3s,transform .3s cubic-bezier(.34,1.6,.5,1)}.ab-step__node:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--ab-accent);transform:scale(0);transition:transform .3s cubic-bezier(.34,1.6,.5,1)}.ab-step.is-reached .ab-step__node{border-color:var(--ab-accent)}.ab-step.is-reached .ab-step__node:after{transform:scale(1)}.ab-step__n{margin:0;font-size:13px;font-weight:600;color:var(--ab-text);font-variant-numeric:tabular-nums}.ab-step__t{margin:4px 0 0;font-family:var(--font-head);font-weight:700;font-size:clamp(19px,1.8vw,22px);letter-spacing:-.02em;transition:color .3s}.ab-step:not(.is-reached) .ab-step__t{color:var(--ab-meta)}.ab-step__d{margin:8px 0 0;font-size:14.5px;line-height:1.5;color:var(--ab-muted)}@media(max-width:900px){.ab-steps{grid-template-columns:1fr;gap:0;padding-left:34px}.ab-steps__track{inset:12px auto 12px 8px;width:2px;height:auto}.ab-steps__fill{width:100%;height:0}.ab-step{padding:0 0 26px}.ab-step__node{left:-34px;top:2px}}@media(prefers-reduced-motion:reduce){.ab-step__node,.ab-step__node:after,.ab-sel__box,.ab-sel__box i,.ab-sel__tag,.ab-sel__size{transition:none}}.ab-case__live{margin:14px 0 0;font-size:14px;color:var(--ab-muted);display:flex;gap:8px;align-items:baseline}.ab-case__live:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--ab-accent);transform:translateY(-1px)}.ab-ba{grid-column:1/-1;margin-top:8px;border-top:1px solid var(--ab-border);padding-top:28px}.ab-ba__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.ab-ba__title{margin:0;font-family:var(--font-head);font-weight:700;font-size:clamp(20px,2.2vw,24px);letter-spacing:-.02em}.ab-ba__tabs{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--ab-placeholder);border-radius:999px;padding:3px}.ab-ba__tabs button{font:inherit;font-size:13.5px;font-weight:600;border:0;background:transparent;color:var(--ab-muted);padding:7px 13px;border-radius:999px;cursor:pointer;white-space:nowrap}.ab-ba__tabs button[aria-selected=true]{background:var(--ab-text);color:var(--ab-white)}.ab-ba__stage{position:relative;aspect-ratio:16/8;max-width:100%;border-radius:16px;overflow:hidden;border:1px solid var(--ab-border-strong);user-select:none;touch-action:pan-y}.ab-ba__img{position:absolute;inset:0;display:grid;place-items:center}.ab-ba__img--before{background:repeating-linear-gradient(-45deg,#e6e4df 0 10px,#ecebe7 10px 20px)}.ab-ba__img--after{background:var(--ab-white);clip-path:inset(0 0 0 var(--pos))}.ab-ba__img img{width:100%;height:100%;object-fit:contain}.ab-ba__ph{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ab-meta);background:#fffc;border-radius:6px;padding:6px 10px}.ab-ba__img--before .ab-ba__ph{transform:translate(-25%)}.ab-ba__img--after .ab-ba__ph{transform:translate(25%)}.ab-ba__tag{position:absolute;top:12px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;padding:4px 8px}.ab-ba__tag--l{left:12px;background:var(--ab-text);color:var(--ab-white)}.ab-ba__tag--r{right:12px;background:var(--ab-accent);color:var(--ab-white)}.ab-ba__handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:var(--ab-accent);transform:translate(-1px);pointer-events:none}.ab-ba__handle span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:var(--ab-accent);color:var(--ab-white);display:grid;place-items:center;font-size:15px;font-weight:700;box-shadow:0 6px 16px -6px #0006}.ab-ba__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.ab-ba__range:focus-visible+*,.ab-ba__stage:focus-within .ab-ba__handle span{outline:2px solid var(--ab-text);outline-offset:2px}.ab-ba__notes{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ab-ba__notes li{font-size:14.5px;line-height:1.5;color:var(--ab-muted);padding-left:16px;position:relative}.ab-ba__notes li:before{content:"-";position:absolute;left:0;color:var(--ab-accent);font-weight:700}@media(max-width:640px){.ab-ba__stage{aspect-ratio:4/5}.ab-ba__notes{grid-template-columns:1fr}.ab-ba__tabs{width:100%}.ab-ba__tabs button{flex:1}}.ab-saas__intro{max-width:620px;margin:-10px 0 18px;color:var(--ab-muted)}.ab-saas__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.ab-saas__list li{font-family:var(--font-head);font-weight:700;font-size:17px;letter-spacing:-.01em;border:1px solid var(--ab-border-strong);border-radius:10px;padding:8px 14px}.ab-saas__intro strong{color:var(--ab-text);font-weight:600}.ab-saas__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:14px}.ab-saas__card{position:relative;border:1px solid var(--ab-border-strong);border-radius:14px;padding:12px 12px 16px;background:var(--ab-bg)}.ab-saas__card h4{margin:12px 2px 0;font-family:var(--font-head);font-weight:700;font-size:19px;letter-spacing:-.02em}.ab-saas__card p{margin:4px 2px 0;font-size:14px;line-height:1.45;color:var(--ab-muted)}.ab-saas__ui{aspect-ratio:4/3;border-radius:9px;background:var(--ab-placeholder);overflow:hidden;position:relative;filter:blur(3.5px);transform:scale(1.02)}.ab-saas__ui i{position:absolute;display:block;background:#d9d6d0;border-radius:3px}.ab-saas__ui--a i:nth-child(1){left:0;top:0;bottom:0;width:22%;background:#cfcbc4}.ab-saas__ui--a i:nth-child(2){left:28%;top:10%;width:40%;height:8%}.ab-saas__ui--a i:nth-child(3){left:28%;top:26%;right:6%;height:14%;background:#e4e1dc}.ab-saas__ui--a i:nth-child(4){left:28%;top:46%;right:6%;height:10%}.ab-saas__ui--a i:nth-child(5){left:28%;top:62%;right:6%;height:10%}.ab-saas__ui--a i:nth-child(6){left:28%;top:78%;width:30%;height:10%;background:var(--ab-accent);opacity:.55}.ab-saas__ui--b i:nth-child(1){left:6%;top:8%;width:56%;bottom:8%;background:#e4e1dc}.ab-saas__ui--b i:nth-child(2){left:66%;top:8%;right:6%;height:20%}.ab-saas__ui--b i:nth-child(3){left:66%;top:32%;right:6%;height:20%}.ab-saas__ui--b i:nth-child(4){left:66%;top:56%;right:6%;height:14%}.ab-saas__ui--b i:nth-child(5){left:66%;bottom:8%;right:6%;height:14%;background:var(--ab-accent);opacity:.55}.ab-saas__ui--b i:nth-child(6){left:12%;top:16%;width:30%;height:8%;background:#cfcbc4}.ab-saas__ui--c i:nth-child(1){left:0;right:0;top:0;height:14%;background:#cfcbc4}.ab-saas__ui--c i:nth-child(2){left:6%;top:22%;width:26%;height:30%}.ab-saas__ui--c i:nth-child(3){left:37%;top:22%;width:26%;height:30%;background:#e4e1dc}.ab-saas__ui--c i:nth-child(4){left:68%;top:22%;width:26%;height:30%}.ab-saas__ui--c i:nth-child(5){left:6%;top:60%;right:6%;height:12%}.ab-saas__ui--c i:nth-child(6){left:6%;top:78%;width:40%;height:10%;background:var(--ab-accent);opacity:.55}.ab-saas__ui--d i:nth-child(1){left:6%;top:8%;width:30%;height:10%;background:#cfcbc4}.ab-saas__ui--d i:nth-child(2){left:6%;top:26%;right:6%;height:8%}.ab-saas__ui--d i:nth-child(3){left:6%;top:38%;right:6%;height:8%}.ab-saas__ui--d i:nth-child(4){left:6%;top:50%;right:6%;height:8%}.ab-saas__ui--d i:nth-child(5){left:6%;top:62%;right:6%;height:8%}.ab-saas__ui--d i:nth-child(6){right:6%;top:8%;width:22%;height:10%;background:var(--ab-accent);opacity:.55}.ab-saas__ui--e i:nth-child(1){inset:6% 30%;background:#cfcbc4;border-radius:8px}.ab-saas__ui--e i:nth-child(2){left:35%;right:35%;top:14%;height:18%;background:#e4e1dc}.ab-saas__ui--e i:nth-child(3){left:35%;width:13%;top:38%;height:16%}.ab-saas__ui--e i:nth-child(4){right:35%;width:13%;top:38%;height:16%}.ab-saas__ui--e i:nth-child(5){left:35%;right:35%;top:60%;height:10%}.ab-saas__ui--e i:nth-child(6){left:35%;right:35%;top:76%;height:12%;background:var(--ab-accent);opacity:.55}.ab-saas__lock{position:absolute;left:50%;top:12px;margin-top:calc((100% - 24px)*.375 - 13px);transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-white);background:var(--ab-text);border-radius:999px;padding:6px 11px;white-space:nowrap;box-shadow:0 8px 18px -10px #00000080}.ab-saas__lock svg{width:10px;height:12px}.ab-divider--chapter{margin:40px 0 8px}.ab-divider--chapter .ab-divider__label{font-size:14px}.ab-canvas{position:relative;margin-top:18px}.ab-canvas__track{list-style:none;margin:0 calc(-1*max(var(--ab-pad),env(safe-area-inset-left,0px)));padding:32px max(var(--ab-pad),env(safe-area-inset-left,0px));display:flex;gap:clamp(20px,3vw,36px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:max(var(--ab-pad),env(safe-area-inset-left,0px));scrollbar-width:none;cursor:grab;background-color:var(--ab-placeholder);background-image:radial-gradient(rgba(0,0,0,.13) 1px,transparent 1.2px);background-size:16px 16px;border-block:1px solid var(--ab-border);outline:none}.ab-canvas__track::-webkit-scrollbar{display:none}.ab-canvas__track.is-drag{cursor:grabbing;scroll-snap-type:none}.ab-canvas__track.is-drag *{pointer-events:none}.ab-canvas__track:focus-visible{box-shadow:inset 0 0 0 2px var(--ab-accent)}.ab-frame{flex:0 0 clamp(270px,30vw,360px);scroll-snap-align:start;position:relative}.ab-frame__label{position:absolute;left:0;bottom:calc(100% + 8px);margin:0;font-size:12px;font-weight:500;color:var(--ab-meta);white-space:nowrap;transition:color .2s}.ab-frame__hash{color:inherit;opacity:.7}.ab-frame__card{display:block;height:100%;background:var(--ab-white);border-radius:4px;color:inherit;text-decoration:none;box-shadow:0 1px 2px #0000000f,0 12px 28px -18px #00000059;outline:1.5px solid transparent;outline-offset:3px;transition:outline-color .2s,transform .3s cubic-bezier(.2,.6,.2,1)}.ab-frame:hover .ab-frame__card,.ab-frame__card:focus-visible{outline-color:var(--ab-accent)}.ab-frame:hover .ab-frame__label{color:var(--ab-accent-ink)}.ab-frame:hover .ab-frame__card{transform:translateY(-3px)}.ab-frame__media{aspect-ratio:16/10;background:var(--ab-placeholder);border-radius:4px 4px 0 0;display:grid;place-items:center;border-bottom:1px solid var(--ab-border)}.ab-frame__media span{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-meta)}.ab-frame__media--soon{background:repeating-linear-gradient(-45deg,var(--ab-accent-wash) 0 10px,#fbe7dd 10px 20px)}.ab-frame__media--soon span{color:var(--ab-accent-ink)}.ab-frame__body{padding:16px 18px 18px}.ab-frame__meta{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ab-label)}.ab-frame__title{margin:0;font-family:var(--font-head);font-weight:700;font-size:22px;letter-spacing:-.02em}.ab-frame__desc{margin:6px 0 14px;font-size:14.5px;line-height:1.5;color:var(--ab-muted)}.ab-frame__cta{font-size:14px;font-weight:600;color:var(--ab-accent-ink)}.ab-frame--soon .ab-frame__cta{color:var(--ab-meta)}.ab-canvas__ctrl{display:flex;align-items:center;gap:10px;margin-top:18px}.ab-canvas__btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--ab-border-strong);background:var(--ab-bg);color:var(--ab-text);font-size:16px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.ab-canvas__btn:hover{background:var(--ab-text);border-color:var(--ab-text);color:var(--ab-white)}.ab-canvas__btn:disabled{opacity:.35;cursor:default;background:var(--ab-bg);color:var(--ab-text);border-color:var(--ab-border-strong)}.ab-canvas__count{font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums;margin-left:6px}.ab-canvas__bar{flex:1;max-width:240px;height:2px;background:var(--ab-border);position:relative;overflow:hidden}.ab-canvas__bar span{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--ab-accent);transition:width .2s}@media(max-width:640px){.ab-frame{flex-basis:80vw}.ab-canvas__bar{display:none}}.ab-cs{padding-block:clamp(36px,6vw,64px) clamp(60px,8vw,96px)}.ab-cs__back{display:inline-flex;align-items:center;min-height:44px;gap:8px;font-size:14px;font-weight:600;color:var(--ab-muted);text-decoration:none;margin-bottom:clamp(28px,4vw,44px)}.ab-cs__back:hover{color:var(--ab-accent-ink)}.ab-cs__head{max-width:820px}.ab-cs__eyebrow{margin:0;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-label)}.ab-cs__title--long{font-size:clamp(36px,6vw,72px)!important;line-height:1!important;max-width:16ch}.ab-cs__title{margin:14px 0 0;font-family:var(--font-head);font-weight:800;font-size:clamp(48px,9vw,112px);line-height:.95;letter-spacing:-.045em}.ab-cs__lede{margin:22px 0 0;max-width:640px;font-size:clamp(18px,2.1vw,21px);line-height:1.5;color:var(--ab-ink-soft)}.ab-cs__cover{margin-top:clamp(32px,5vw,52px);border-radius:18px;overflow:hidden;border:1px solid var(--ab-border-strong);aspect-ratio:16/9;max-width:100%}.ab-cs__meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:28px 0 0;padding:20px 0 0;border-top:1px solid var(--ab-border)}.ab-cs__meta dt{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-label);margin:0 0 6px}.ab-cs__meta dd{margin:0;font-size:15px;line-height:1.45}.ab-cs__cards{margin-top:28px}.ab-cs__layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,5vw,72px);margin-top:clamp(48px,7vw,80px);align-items:start}.ab-cs__toc{position:sticky;top:calc(84px + env(safe-area-inset-top,0px))}.ab-cs__toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-left:2px solid var(--ab-border)}.ab-cs__toc button{display:flex;gap:10px;width:100%;text-align:left;font:inherit;font-size:14px;color:var(--ab-muted);background:none;border:0;border-left:2px solid transparent;margin-left:-2px;padding:7px 0 7px 14px;cursor:pointer;transition:color .2s,border-color .2s}.ab-cs__toc button span{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ab-meta)}.ab-cs__toc button:hover{color:var(--ab-text)}.ab-cs__toc button.is-on{color:var(--ab-text);border-left-color:var(--ab-accent);font-weight:600}.ab-cs__toc button.is-on span{color:var(--ab-accent-ink)}.ab-cs__chapters{display:grid;gap:clamp(48px,7vw,80px);min-width:0}.ab-cs__ch{scroll-margin-top:90px;max-width:760px;min-width:0}.ab-cs__chnum{margin:0 0 10px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-accent-ink)}.ab-cs__ch h2{margin:0 0 14px;font-family:var(--font-head);font-weight:800;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.03em;line-height:1.05;text-wrap:balance}.ab-cs__ch>p{margin:0 0 14px;font-size:17px;line-height:1.65;color:var(--ab-ink-body)}.ab-cs__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.ab-cs__list li{position:relative;padding-left:20px;font-size:16.5px;line-height:1.55;color:var(--ab-ink-body)}.ab-cs__list li:before{content:"-";position:absolute;left:0;color:var(--ab-accent);font-weight:700}.ab-cs__list strong{color:var(--ab-text)}.ab-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ab-split>div{border:1px solid var(--ab-border-strong);border-radius:14px;padding:16px 18px}.ab-split>div:last-child{border-color:var(--ab-accent);background:var(--ab-accent-wash)}.ab-split__h{margin:0 0 6px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.ab-split p:last-child{margin:0;color:var(--ab-muted);font-size:15.5px;line-height:1.55}.ab-cs__next{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-top:clamp(60px,8vw,96px);padding:28px 0;border-top:1px solid var(--ab-border);border-bottom:1px solid var(--ab-border);color:inherit;text-decoration:none}.ab-cs__next-l{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-label)}.ab-cs__next-t{font-family:var(--font-head);font-weight:800;font-size:clamp(28px,5vw,52px);letter-spacing:-.03em}.ab-cs__next-t span{color:var(--ab-accent);display:inline-block;transition:transform .25s}.ab-cs__next:hover .ab-cs__next-t span{transform:translate(6px)}@media(max-width:900px){.ab-cs__layout{grid-template-columns:minmax(0,1fr)}.ab-cs__toc{position:static;min-width:0}.ab-cs__toc ol{display:flex;overflow-x:auto;border-left:0;border-bottom:2px solid var(--ab-border);scrollbar-width:none;gap:0}.ab-cs__toc ol::-webkit-scrollbar{display:none}.ab-cs__toc button{white-space:nowrap;border-left:0;margin-left:0;border-bottom:2px solid transparent;margin-bottom:-2px;padding:8px 12px}.ab-cs__toc button.is-on{border-bottom-color:var(--ab-accent)}.ab-cs__meta{grid-template-columns:1fr 1fr}}@media(max-width:560px){.ab-split,.ab-cs__meta{grid-template-columns:1fr}}canvas[data-sketch],canvas[data-pxv],canvas[data-pxstate],.ab-pxcover__cv,.ab-frame__px{image-rendering:pixelated;image-rendering:crisp-edges}.ab-pxcover{background-color:var(--ab-accent-wash);background-image:radial-gradient(rgba(184,62,16,.18) 1px,transparent 1.2px);background-size:18px 18px}.ab-pxcover__cv{display:block;width:100%;height:100%}.ab-sketches{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ab-sketches li{min-width:0}.ab-sketches__img{aspect-ratio:1;border:1px solid var(--ab-border-strong);border-radius:12px;display:grid;place-items:center;background:var(--ab-placeholder);background-image:radial-gradient(rgba(0,0,0,.08) 1px,transparent 1.2px);background-size:10px 10px;padding:10px}.ab-sketches__img svg,.ab-sketches__img canvas{max-width:80%;max-height:80%;display:block}.ab-sketches .is-final .ab-sketches__img{border-color:var(--ab-accent);background-color:var(--ab-accent-wash)}.ab-sketches__n{margin:10px 0 2px!important;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ab-text)}.ab-sketches li p:last-child{margin:0;font-size:13.5px;line-height:1.45;color:var(--ab-muted)}.ab-sketches .is-final .ab-sketches__n{color:var(--ab-accent-ink)}.ab-dirs3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.ab-dirs3 figure{margin:0}.ab-dirs3 figure>div{aspect-ratio:4/3;border:1px solid var(--ab-border-strong);border-radius:12px;display:grid;place-items:center;background:var(--ab-placeholder)}.ab-dirs3 figure:first-child>div{border-color:var(--ab-accent);background:var(--ab-accent-wash)}.ab-dirs3 figcaption{margin-top:8px;font-size:13.5px;color:var(--ab-muted)}.ab-dirs3 figcaption b{display:block;color:var(--ab-text);font-size:15px}.ab-pxsys{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;margin:18px 0 0}.ab-pxsys__pal{display:grid;grid-template-columns:repeat(5,52px);gap:8px}.ab-pxsys__pal span{display:grid;align-content:end;height:72px;padding:6px;border-radius:8px;background:var(--c);border:1px solid var(--ab-border);font-size:11px;font-weight:600;color:var(--ab-text)}.ab-pxsys__pal span:first-child,.ab-pxsys__pal span:nth-child(4){color:#fff}.ab-pxsys__rules{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px;color:var(--ab-ink-body)}.ab-pxsys__rules li{padding-left:16px;position:relative}.ab-pxsys__rules li:before{content:"-";position:absolute;left:0;color:var(--ab-accent);font-weight:700}.ab-pxsys__rules code{font-family:var(--font-code);font-size:13px}.ab-pxstates{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-top:22px}.ab-pxstates figure{margin:0;border:1px solid var(--ab-border-strong);border-radius:12px;padding:10px 6px 8px;display:grid;justify-items:center;gap:4px;background:var(--ab-bg)}.ab-pxstates figure.is-dark{background:var(--ab-dark);border-color:var(--ab-dark)}.ab-pxstates figcaption{font-size:12px;font-weight:600;color:var(--ab-muted)}.ab-pxstates .is-dark figcaption{color:var(--ab-dark-muted)}@media(max-width:760px){.ab-sketches{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-sketches .is-final{grid-column:1/-1}.ab-dirs3{grid-template-columns:1fr 1fr 1fr}.ab-pxsys{grid-template-columns:1fr}}.ab-frame__media--px{position:relative;background-color:var(--ab-accent-wash);background-image:radial-gradient(rgba(184,62,16,.2) 1px,transparent 1.2px);background-size:12px 12px;overflow:hidden}.ab-frame__px{position:absolute;inset:0;width:100%;height:100%}.ab-pfc{container-type:inline-size;position:relative;width:100%;height:100%;overflow:hidden;background-color:var(--ab-placeholder);background-image:radial-gradient(rgba(0,0,0,.1) 1px,transparent 1.2px);background-size:14px 14px}.ab-pfc__win{position:absolute;border-radius:1.6cqi;overflow:hidden;box-shadow:0 3cqi 6cqi -3cqi #00000059;border:1px solid rgba(0,0,0,.1)}.ab-pfc__win--v1{left:5%;top:9%;width:56%;background:#f4f4f2;transform:rotate(-3deg);filter:grayscale(1);opacity:.9}.ab-pfc__win--v2{right:5%;bottom:8%;width:62%;background:#fff}.ab-pfc__bar{display:flex;align-items:center;gap:.9cqi;padding:1.4cqi 1.8cqi;border-bottom:1px solid rgba(0,0,0,.08)}.ab-pfc__bar i{width:1.2cqi;height:1.2cqi;border-radius:50%;background:#d6d4cf}.ab-pfc__bar b{margin-left:auto;font-family:var(--font-head);font-weight:800;font-size:2.4cqi;letter-spacing:-.04em;color:var(--ab-text);line-height:1}.ab-pfc__bar b em{font-style:normal;color:var(--ab-accent)}.ab-pfc__in{position:relative;padding:3cqi 3.2cqi 4cqi}.ab-pfc__ey{margin:0 0 1.2cqi;font-size:1.5cqi;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-meta)}.ab-pfc__t1{margin:0 0 2cqi;font-family:var(--font-head);font-weight:800;font-size:4.4cqi;line-height:1.02;letter-spacing:-.035em;color:#3a3a37}.ab-pfc__ln{display:block;height:1.1cqi;width:80%;background:#dcdad5;border-radius:1cqi;margin-top:1cqi}.ab-pfc__ln--s{width:55%}.ab-pfc__t2{margin:0;font-family:var(--font-head);font-weight:800;font-size:4.6cqi;line-height:1.04;letter-spacing:-.035em;color:var(--ab-text)}.ab-pfc__sel{position:relative;display:inline;outline:.3cqi solid var(--ab-accent);outline-offset:.4cqi}.ab-pfc__sel i{position:absolute;width:1.1cqi;height:1.1cqi;background:#fff;border:.25cqi solid var(--ab-accent);box-sizing:border-box}.ab-pfc__sel i:nth-child(1){left:-1cqi;top:-1cqi}.ab-pfc__sel i:nth-child(2){right:-1cqi;top:-1cqi}.ab-pfc__sel i:nth-child(3){left:-1cqi;bottom:-1cqi}.ab-pfc__sel i:nth-child(4){right:-1cqi;bottom:-1cqi}.ab-pfc__cur{position:absolute;right:9%;bottom:.6cqi;display:flex;align-items:flex-start;gap:.2cqi}.ab-pfc__cur svg{width:2.2cqi;height:2.8cqi;fill:var(--ab-accent);stroke:#fff;stroke-width:1.4}.ab-pfc__cur span{margin-top:2cqi;font-size:1.5cqi;font-weight:600;color:#fff;background:var(--ab-accent);border-radius:.4cqi 1cqi 1cqi;padding:.3cqi 1cqi;white-space:nowrap}.ab-pfc__px{position:absolute;right:2.4cqi;bottom:2cqi;width:6.4cqi;height:6.4cqi;image-rendering:pixelated}.ab-pfc__tag{position:absolute;left:1.8cqi;bottom:1.6cqi;font-size:1.5cqi;font-weight:700;letter-spacing:.06em;color:#fff;background:#8f8f88;border-radius:.6cqi;padding:.4cqi 1cqi}.ab-pfc__tag--v2{background:var(--ab-accent)}.ab-frame__media--pf{padding:0;overflow:hidden;display:block}.ab-frame__media,.ab-frame__media--px,.ab-frame__media .ab-pfc{background-color:#fff;background-image:none}.ab-pfv1{margin:22px 0 0;border:1px solid var(--ab-border-strong);border-radius:14px;overflow:hidden;background:#f4f4f2}.ab-pfv1__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--ab-border)}.ab-pfv1__bar i{width:9px;height:9px;border-radius:50%;background:#d6d4cf}.ab-pfv1__bar span{margin-left:8px;font-size:12px;color:var(--ab-meta)}.ab-pfv1__body{padding:28px 24px 30px;text-align:center}.ab-pfv1__eyebrow{margin:0;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ab-meta)}.ab-pfv1__title{margin:10px 0 0;font-family:var(--font-head);font-weight:800;font-size:clamp(24px,3.6vw,36px);letter-spacing:-.035em;line-height:1.05;color:#3a3a37}.ab-pfv1__rows{display:grid;gap:8px;justify-items:center;margin-top:16px}.ab-pfv1__rows i{display:block;height:9px;width:60%;border-radius:5px;background:#dcdad5}.ab-pfv1__rows i:nth-child(2){width:45%}.ab-pfv1__rows i:nth-child(3){width:28%;height:26px;border-radius:999px;background:#c9c7c2}.ab-pfv1 figcaption{padding:10px 14px;font-size:13px;color:var(--ab-muted);border-top:1px solid var(--ab-border);background:var(--ab-bg)}.ab-pfflow{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;counter-reset:f}.ab-pfflow li{position:relative;border:1px solid var(--ab-border-strong);border-radius:12px;padding:14px 14px 16px;counter-increment:f}.ab-pfflow li:before{content:counter(f,decimal-leading-zero);display:block;font-size:12.5px;font-weight:600;color:var(--ab-text);margin-bottom:6px}.ab-pfflow li:not(:last-child):after{content:"→";position:absolute;right:-10px;top:14px;color:var(--ab-accent);font-weight:700;background:var(--ab-bg);padding:0 1px}.ab-pfflow b{display:block;font-family:var(--font-head);font-size:17px;letter-spacing:-.01em}.ab-pfflow span{display:block;margin-top:4px;font-size:14px;line-height:1.45;color:var(--ab-muted)}.ab-tbl{overflow-x:auto}.ab-pfcmp{width:100%;border-collapse:collapse;font-size:15px;min-width:480px}.ab-pfcmp th,.ab-pfcmp td{text-align:left;padding:12px 10px;border-top:1px solid var(--ab-border);vertical-align:top}.ab-pfcmp thead th{border-top:0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-label)}.ab-pfcmp tbody th{font-weight:600;white-space:nowrap}.ab-pfcmp td:nth-child(2){color:var(--ab-meta)}.ab-pfcmp td:nth-child(3){color:var(--ab-text);font-weight:500}.ab-pfcmp thead th:last-child{color:var(--ab-accent-ink)}@media(max-width:760px){.ab-pfflow{grid-template-columns:1fr 1fr}.ab-pfflow li:after{display:none}}@media(max-width:600px){.ab-tbl{overflow:visible}.ab-pfcmp{min-width:0}.ab-pfcmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ab-pfcmp,.ab-pfcmp tbody,.ab-pfcmp tr,.ab-pfcmp th,.ab-pfcmp td{display:block}.ab-pfcmp tr{padding:14px 0;border-top:1px solid var(--ab-border)}.ab-pfcmp tbody tr:last-child{border-bottom:1px solid var(--ab-border)}.ab-pfcmp th,.ab-pfcmp td{border-top:0;padding:0}.ab-pfcmp tbody th{white-space:normal;margin-bottom:8px}.ab-pfcmp td{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;line-height:1.45}.ab-pfcmp td+td{margin-top:6px}.ab-pfcmp td:before{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding-top:2px}.ab-pfcmp td:nth-child(2):before{content:"Antes";color:var(--ab-label)}.ab-pfcmp td:nth-child(3):before{content:"Ahora";color:var(--ab-accent-ink)}:lang(en) .ab-pfcmp td:nth-child(2):before{content:"Before"}:lang(en) .ab-pfcmp td:nth-child(3):before{content:"Now"}}.acp-cover{container-type:inline-size;position:relative;width:100%;height:100%;background:#fff;overflow:hidden}.acp-cover__desk{position:absolute;left:5%;top:9%;width:72%;border-radius:1.2cqi;overflow:hidden;box-shadow:0 3cqi 6cqi -3cqi #0006;border:1px solid rgba(0,0,0,.1);background:#0a0a0a}.acp-cover__bar{display:flex;gap:.8cqi;padding:1.1cqi 1.4cqi;background:#1a1a1a}.acp-cover__bar i{width:1cqi;height:1cqi;border-radius:50%;background:#3a3a3a}.acp-cover__desk img{display:block;width:100%;height:auto}.acp-cover__phone{position:absolute;right:7%;bottom:-6%;width:24%;aspect-ratio:9/18.5;border:1.2cqi solid #111;border-radius:4cqi;overflow:hidden;background:#0a0a0a;box-shadow:0 4cqi 7cqi -3cqi #00000080}.acp-cover__phone img{display:block;width:100%;height:auto}.ab-frame__media--acp{padding:0;overflow:hidden;display:block}.acp-ds{margin-top:20px;border:1px solid var(--ab-border-strong);border-radius:16px;padding:20px;display:grid;gap:14px}.acp-ds__h{margin:6px 0 0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-label)}.acp-ds__h:first-child{margin-top:0}.acp-ds__note{margin:0;font-size:13px;color:var(--ab-meta)}.acp-sw{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.acp-sw div{border:1px solid var(--ab-border);border-radius:10px;overflow:hidden;font-size:12.5px;display:grid}.acp-sw i{display:block;height:46px;border-bottom:1px solid var(--ab-border)}.acp-sw b{padding:8px 10px 0;font-size:13px}.acp-sw code{padding:0 10px;font-family:var(--font-code);font-size:11px;color:var(--ab-muted)}.acp-sw span{padding:2px 10px 9px;color:var(--ab-muted)}.acp-type{display:grid;gap:0;border-radius:12px;overflow:hidden;background:#0a0a0a;color:#fff}.acp-type__row{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;padding:16px 18px;border-top:1px solid #222}.acp-type__row:first-child{border-top:0}.acp-type__meta{font-size:11.5px;color:#8a8a8a;line-height:1.4}.acp-display{margin:0;font-family:Inter Tight,Hanken Grotesk,sans-serif;font-weight:800;font-size:clamp(26px,4vw,40px);line-height:.95;letter-spacing:-.02em;text-transform:uppercase}.acp-display em{font-style:normal;color:#e82c5f}.acp-eyebrow{margin:0;font-family:Inter,sans-serif;font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#e82c5f}.acp-body{margin:0;font-family:Inter,sans-serif;font-size:16px;line-height:1.55;color:#bdbdbd}.acp-comp{display:grid;grid-template-columns:1.2fr 1fr;gap:10px}.acp-stage{border-radius:12px;padding:20px;display:grid;gap:16px;align-content:start;font-family:Inter,sans-serif}.acp-stage--dark{background:#0a0a0a;color:#fff}.acp-stage--light{background:#f5f4f1;place-items:center}.acp-btn{justify-self:start;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#e82c5f;padding:13px 20px;border-radius:3px;box-shadow:0 8px 24px -8px #e82c5fb3}.acp-checks{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13.5px;color:#d9d9d9}.acp-checks li{display:grid;grid-template-columns:20px 1fr;gap:6px;align-items:start}.acp-checks li:before{content:"✓";display:grid;place-items:center;width:16px;height:16px;border-radius:3px;background:#e82c5f;color:#fff;font-size:11px;font-weight:700;margin-top:2px}.acp-stat{display:grid;gap:4px;padding-top:12px;border-top:1px solid #222}.acp-stat b{font-family:Inter Tight,sans-serif;font-weight:900;font-size:40px;line-height:1;color:#e82c5f;letter-spacing:-.02em}.acp-stat span{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#8a8a8a}.acp-card{width:min(240px,100%);background:#fff;border-radius:4px;padding:20px;box-shadow:0 10px 26px -18px #0006}.acp-card__ic{display:grid;place-items:center;width:40px;height:40px;border-radius:3px;background:#e82c5f}.acp-card__ic svg{width:20px;height:20px}.acp-card__t{margin:16px 0 6px;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#0a0a0a}.acp-card__d{margin:0;font-size:13px;line-height:1.5;color:#6b6b6b}.acp-flow{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;counter-reset:a}.acp-flow li{border-top:3px solid var(--ab-text);padding-top:10px;counter-increment:a}.acp-flow li:last-child{border-top-color:var(--ab-accent)}.acp-flow li:before{content:counter(a,decimal-leading-zero);display:block;font-size:12px;font-weight:600;margin-bottom:2px}.acp-flow b{display:block;font-family:var(--font-head);font-size:16px}.acp-flow span{display:block;font-size:13.5px;line-height:1.45;color:var(--ab-muted);margin-top:3px}.acp-browser{margin:24px 0 0;border:1px solid var(--ab-border-strong);border-radius:12px;overflow:hidden;background:#0a0a0a}.acp-browser__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#1a1a1a}.acp-browser__bar i{width:9px;height:9px;border-radius:50%;background:#3a3a3a}.acp-browser__bar span{margin-left:8px;font-size:12px;color:#9a9a9a}.acp-browser__scroll{max-height:520px;overflow-y:auto}.acp-browser__scroll img{display:block;width:100%;height:auto}.acp-mobile{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;margin-top:20px}.acp-phone{width:250px;height:520px;border:10px solid #111;border-radius:36px;overflow:hidden;background:#0a0a0a;box-shadow:0 30px 60px -30px #00000080}.acp-phone__scroll{height:100%;overflow-y:auto;scrollbar-width:none}.acp-phone__scroll::-webkit-scrollbar{display:none}.acp-phone__scroll img{display:block;width:100%;height:auto}@media(max-width:760px){.acp-comp{grid-template-columns:1fr}.acp-type__row{grid-template-columns:1fr;gap:6px}.acp-flow{grid-template-columns:1fr 1fr}.acp-mobile{grid-template-columns:1fr;justify-items:center}}.ab-cs__toc{top:calc(84px + env(safe-area-inset-top,0px))}.ab-cs__ch,#proyectos,#experiencia,#que-hago,#proceso,#ia,#sobre-mi{scroll-margin-top:96px}.ab-cs.is-enter{animation:ab-page-in .45s cubic-bezier(.2,.6,.2,1)}@keyframes ab-page-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.ab-cs.is-enter{animation:none}}.ab-layers{margin:0;border:1px solid var(--ab-border-strong);border-radius:16px;padding:18px;background:var(--ab-bg)}.ab-layers__cap{margin:0 0 12px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-label)}.ab-layers ol{list-style:none;margin:0;padding:0;display:grid;gap:10px;position:relative}.ab-layers ol:before{content:"";position:absolute;left:15px;top:20px;bottom:20px;width:2px;background:linear-gradient(var(--ab-border-strong),var(--ab-accent))}.ab-layers li{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--ab-border);border-radius:12px;padding:12px 14px 12px 0;background:var(--ab-white)}.ab-layers li:last-child{border-color:var(--ab-accent);background:var(--ab-accent-wash)}.ab-layers__n{position:relative;z-index:1;justify-self:center;display:grid;place-items:center;width:32px;height:32px;margin-left:-1px;border-radius:50%;background:var(--ab-bg);border:2px solid var(--ab-border-strong);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.ab-layers li:last-child .ab-layers__n{border-color:var(--ab-accent);color:var(--ab-accent-ink)}.ab-layers b{display:block;font-family:var(--font-head);font-size:16.5px;letter-spacing:-.01em}.ab-layers p{margin:2px 0 0;font-size:13.5px;line-height:1.4;color:var(--ab-muted)}.ab-layers__viz{display:flex;gap:4px;align-items:center}.ab-layers__viz--vars i{width:14px;height:14px;border-radius:4px;background:#d9d6d0}.ab-layers__viz--vars i:nth-child(1){background:var(--ab-text)}.ab-layers__viz--vars i:nth-child(2){background:#8f8f88}.ab-layers__viz--vars i:nth-child(4){background:var(--ab-accent)}.ab-layers__viz--comp i{height:16px;border-radius:999px;border:1.5px solid var(--ab-text)}.ab-layers__viz--comp i:first-child{width:34px;background:var(--ab-text)}.ab-layers__viz--comp i:last-child{width:22px}.ab-layers__viz--tpl{display:grid;grid-template-columns:20px 20px;grid-template-rows:8px 8px;gap:3px}.ab-layers__viz--tpl i{border-radius:2px;background:#d9d6d0}.ab-layers__viz--tpl i:first-child{grid-column:1/-1;background:#bdbab4}.ab-layers__viz--brands i{width:18px;height:22px;border-radius:3px;border:1.5px solid var(--ab-text);background:var(--ab-white);position:relative}.ab-layers__viz--brands i:before{content:"";position:absolute;left:2px;right:2px;top:2px;height:5px;border-radius:1px;background:var(--c,#999)}.ab-layers__viz--brands i:nth-child(1){--c:#141414}.ab-layers__viz--brands i:nth-child(2){--c:#1f5f4a}.ab-layers__viz--brands i:nth-child(3){--c:var(--ab-accent)}@media(max-width:480px){.ab-layers__viz{display:none}.ab-layers li{grid-template-columns:32px minmax(0,1fr)}}.ab-case__media .ab-ba{margin:0;border-top:0;padding-top:0}.ab-case__media .ab-ba__stage{aspect-ratio:4/3}.ab-case__media .ab-ba__notes{grid-template-columns:1fr;gap:6px}.ab-case__media .ab-ba__head{flex-direction:column;align-items:flex-start}.ab-case--stack{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.ab-case__intro{max-width:760px}.ab-case--stack .ab-case__meta{margin:0;padding:18px 0 0}.ab-case--stack .ab-ba{grid-column:auto;margin:0;padding:0;border-top:0}.ab-case--stack .ab-ba__head{margin-bottom:14px}.ab-case--stack .ab-ba__stage{aspect-ratio:16/7}.ab-case--stack .ab-ba__notes{gap:12px;margin-top:14px}.ab-case--stack .ab-case__cards{margin-top:0}.ab-case__foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--ab-border)}.ab-case__foot .ab-case__live,.ab-case__foot .ab-case__cta{margin:0}@media(max-width:640px){.ab-case--stack .ab-ba__stage{aspect-ratio:4/5}}.ab-ba__pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ab-ba__side{position:relative;margin:0;border:1px solid var(--ab-border-strong);border-radius:16px;background:#fff;min-height:340px;display:grid;place-items:center;padding:52px 20px 24px}.ab-ba__side--new{border-color:var(--ab-accent)}.ab-ba__side .ab-ba__tag{top:14px;left:14px;right:auto}.ab-ba__frame{display:grid;place-items:center;width:100%}.ab-ba__frame img{display:block;width:min(100%,320px);height:auto;border-radius:6px}.ab-ba__frame .ab-ba__ph{transform:none}@media(max-width:640px){.ab-ba__pair{grid-template-columns:1fr}.ab-ba__side{min-height:0}}.ab-ba__body{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center}.ab-case--stack .ab-ba__body .ab-ba__pair{grid-template-columns:repeat(2,minmax(0,280px))}.ab-ba__body .ab-ba__side{min-height:0;padding:44px 14px 14px}.ab-ba__body .ab-ba__frame img{width:100%}.ab-case--stack .ab-ba__body .ab-ba__notes{grid-template-columns:1fr;gap:0;margin:0}.ab-ba__body .ab-ba__notes li{padding:14px 0 14px 18px;border-top:1px solid var(--ab-border)}.ab-ba__body .ab-ba__notes li:last-child{border-bottom:1px solid var(--ab-border)}.ab-ba__body .ab-ba__notes li:before{top:14px}@media(max-width:900px){.ab-ba__body{grid-template-columns:1fr}}@media(max-width:640px){.ab-case--stack .ab-ba__body .ab-ba__pair{grid-template-columns:1fr 1fr;gap:8px}.ab-ba__body .ab-ba__side{padding:38px 8px 8px}}.ab-ba__pair{align-items:start}.ab-ba__body .ab-ba__side{display:block;align-self:start;padding:42px 10px 10px}.ab-ba__body .ab-ba__frame{display:block}.ab-ba__body .ab-ba__body,.ab-ba__body{align-items:start}.ab-clorian{margin-top:36px;border:1px solid var(--ab-border-strong);border-radius:22px;padding:clamp(20px,3.5vw,40px);background:var(--ab-bg)}.ab-clorian__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 24px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--ab-border)}.ab-clorian__kicker{margin:0 0 4px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-label)}.ab-clorian__name{margin:0;font-family:var(--font-head);font-weight:800;font-size:clamp(34px,5vw,56px);letter-spacing:-.035em;line-height:1}.ab-clorian__role{margin:0;text-align:right;font-size:15px;font-weight:600;line-height:1.45}.ab-clorian__role span{font-weight:400;color:var(--ab-muted)}.ab-clorian__index{list-style:none;margin:18px 0 8px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.ab-clorian__index li{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;font-weight:600;font-size:15.5px;border-radius:12px;background:var(--ab-placeholder);padding:12px 14px}.ab-clorian__index b{color:var(--ab-accent-ink)}.ab-clorian__index span{flex-basis:100%;font-weight:400;font-size:13.5px;color:var(--ab-muted);padding-left:26px}.ab-clorian__num{display:inline-grid;place-items:center;min-width:26px;height:20px;margin-right:6px;border-radius:5px;background:var(--ab-text);color:var(--ab-white);font-size:11.5px;letter-spacing:0}.ab-clorian .ab-case--stack{padding-top:28px}.ab-clorian .ab-saas{margin-top:8px;padding-top:28px;border-top:1px solid var(--ab-border)}.ab-clorian .ab-saas .ab-case__eyebrow{margin-bottom:12px}.ab-clorian .ab-saas__intro{margin:0 0 16px}.ab-pillars{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px}.ab-pillars__label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-label);margin-right:4px}.ab-pillar{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ab-accent-ink);background:var(--ab-accent-wash);border:1px solid rgba(242,84,27,.35);border-radius:999px;padding:7px 14px 7px 10px}.ab-pillar svg{width:18px;height:18px}@media(max-width:640px){.ab-clorian__role{text-align:left}.ab-clorian__index{grid-template-columns:1fr}}.ab-ba__body{align-items:center}.ab-case--stack .ab-ba__body .ab-ba__notes{justify-self:center;width:min(100%,420px)}@media(max-width:900px){.ab-case--stack .ab-ba__body .ab-ba__notes{justify-self:stretch;width:auto}}.ab-ba__head{align-items:flex-end}.ab-ba__sub{margin:6px 0 0;max-width:560px;font-size:14.5px;line-height:1.5;color:var(--ab-muted)}.ab-ba__tabs .s{display:none}@media(max-width:640px){.ab-ba__tabs{flex-wrap:nowrap;width:100%}.ab-ba__tabs button{flex:1;padding:8px 6px;font-size:13px}.ab-ba__tabs .l{display:none}.ab-ba__tabs .s{display:inline}}.ab-lang a{font-size:12.5px;font-weight:600;letter-spacing:.06em;line-height:1.2;color:var(--ab-meta);text-decoration:none;border-radius:999px;padding:5px 10px;transition:color .2s,background .2s}.ab-lang a:hover{color:var(--ab-accent-ink)}.ab-lang a[aria-current=true]{background:var(--ab-text);color:var(--ab-white)}.ab-lang--panel a{font-size:14px;padding:7px 14px;border-bottom:0!important}.ab-nav__panel .ab-lang a{color:var(--ab-meta)}.ab-nav__panel .ab-lang a[aria-current=true]{color:var(--ab-white)}#projects,#experience,#what-i-do,#process,#ai,#about{scroll-margin-top:96px}#contact{scroll-margin-top:120px}.ab-404{padding-block:clamp(80px,14vh,160px)}.ab-404__title{font-family:var(--font-head);font-weight:800;font-size:clamp(40px,7vw,84px);line-height:1.03;letter-spacing:-.035em;margin:18px 0 0;text-wrap:balance}.ab-404__text{max-width:560px;margin:22px 0 0;font-size:clamp(17px,2vw,19px);line-height:1.55;color:var(--ab-ink-soft)}.ab-404__text--en{margin-top:8px;font-size:15px;color:var(--ab-muted)}.ab-404__ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
