:root{--bg-white: #ffffff;--bg-light: #f5f5f7;--bg-black: #000000;--bg-dark: #1d1d1f;--surface-dark: #1c1c1e;--text: #1d1d1f;--text-2: #6e6e73;--text-on-dark: #f5f5f7;--text-on-dark-2: #86868b;--link: #0066cc;--link-dark: #2997ff;--blue: #0071e3;--blue-hover: #0077ed;--border: #d2d2d7;--cell-empty: #212123;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--max: 980px;--gutter: 12px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-size:17px;line-height:1.47;letter-spacing:-.022em;color:var(--text);background:var(--bg-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 22px}.nav{position:sticky;top:0;z-index:10;height:44px;background:#f5f5f7cc;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06)}.nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}.nav a{color:var(--text);font-size:12px;letter-spacing:-.01em;opacity:.88}.nav a:hover{opacity:1;text-decoration:none}.nav .brand{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.nav .brand svg{width:16px;height:16px}.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:32px}.menu-btn{display:none;width:44px;height:44px;margin-right:-14px;background:none;border:0;padding:0;cursor:pointer;position:relative}.menu-btn span{position:absolute;left:14px;width:16px;height:1.5px;background:var(--text);transition:transform .25s ease,top .25s ease}.menu-btn span:first-child{top:18px}.menu-btn span:last-child{top:25px}.nav.open .menu-btn span:first-child{top:21.5px;transform:rotate(45deg)}.nav.open .menu-btn span:last-child{top:21.5px;transform:rotate(-45deg)}@media(max-width:734px){.nav{position:relative;top:auto}.menu-btn{display:block}.nav ul{display:none;position:absolute;left:0;right:0;top:44px;flex-direction:column;gap:0;padding:8px 22px 20px;background:#f5f5f7f5;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06)}.nav.open ul{display:flex}.nav ul li a{display:block;padding:12px 0;font-size:17px;border-bottom:1px solid rgba(0,0,0,.08);opacity:1}.nav ul li:last-child a{border-bottom:0}body.menu-open{overflow:hidden}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 22px;border-radius:980px;font-size:17px;letter-spacing:-.022em;line-height:1.2;border:1px solid transparent;white-space:nowrap}.btn:hover{text-decoration:none}.btn-fill{background:var(--blue);color:#fff}.btn-fill:hover{background:var(--blue-hover)}.btn-outline{border-color:var(--link-dark);color:var(--link-dark);background:transparent}.btn-outline:hover{background:var(--link-dark);color:#000}.link-more:after{content:" ›"}.hero{background:var(--bg-black);color:var(--text-on-dark);text-align:center;padding:72px 22px 88px}.hero .photo{width:128px;height:128px;border-radius:50%;object-fit:cover;margin:0 auto 20px;box-shadow:0 0 0 1px #ffffff1f}.hero h1{font-size:56px;line-height:1.07;font-weight:600;letter-spacing:-.005em}.hero .sub{font-size:24px;line-height:1.25;font-weight:400;letter-spacing:.007em;margin:10px auto 0;max-width:640px}.hero .ctas{display:flex;gap:16px;justify-content:center;margin-top:28px;flex-wrap:wrap}.hero .contrib{margin-top:64px}.hero .contrib .cap{display:flex;gap:12px;justify-content:center;align-items:baseline;flex-wrap:wrap;font-size:17px}.hero .contrib .cap a{color:var(--link-dark)}@media(max-width:734px){.hero h1{font-size:40px}.hero .sub{font-size:19px;line-height:1.32}.hero{padding-top:56px}}.graph{--cell: 26px;--gap: 5px;--cols: 27;--days: 44px;position:relative;overflow:hidden;margin:24px auto 0;width:calc(var(--days) + var(--cols) * (var(--cell) + var(--gap)) - var(--gap));max-width:100%;height:calc(16px + 8px + 7 * var(--cell) + 6 * var(--gap))}.graph .months{position:absolute;right:0;top:0;height:16px;font-size:12px;color:var(--text-on-dark-2);width:calc(53 * (var(--cell) + var(--gap)) - var(--gap))}.graph .months span{position:absolute;top:0}.graph .days{position:absolute;left:0;top:0;padding-top:24px;width:var(--days);background:#000;z-index:2;display:grid;grid-template-rows:repeat(7,var(--cell));gap:var(--gap);font-size:12px;color:var(--text-on-dark-2)}.graph .days span{display:flex;align-items:center;height:var(--cell)}.graph .cells{position:absolute;right:0;top:24px;display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,var(--cell));grid-auto-columns:var(--cell);gap:var(--gap)}.graph .cell{width:var(--cell);height:var(--cell);border-radius:5px;background:var(--cell-empty)}.graph .cell.on{background:var(--link-dark)}.graph:before{content:"";position:absolute;left:var(--days);top:0;bottom:0;width:28px;z-index:1;background:linear-gradient(to right,#000,#0000)}@media(max-width:1100px){.graph{--cell: 18px;--gap: 4px;--days: 40px}.graph .cell{border-radius:4px}}@media(max-width:734px){.graph{--cell: 11px;--gap: 3px;--days: 0px;width:100%;margin-top:16px}.graph .days{display:none}.graph .cell{border-radius:2px}.graph:before{left:0}}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter);padding:var(--gutter)}.tile{min-height:580px;padding:64px 24px 48px;text-align:center;display:flex;flex-direction:column;align-items:center;background:var(--bg-light);color:var(--text);overflow:hidden}.tile.dark{background:var(--bg-black);color:var(--text-on-dark)}.tile h2{font-size:40px;line-height:1.1;font-weight:600;letter-spacing:0}.tile .sub{font-size:21px;line-height:1.19;letter-spacing:.011em;margin-top:8px;max-width:520px}.tile .links{display:flex;gap:28px;justify-content:center;margin-top:16px;font-size:17px}.tile.dark .links a{color:var(--link-dark)}.tile .visual{margin-top:44px;width:100%}@media(max-width:1068px){.tiles{grid-template-columns:1fr}.tile{min-height:0;padding-bottom:56px}}@media(max-width:734px){.tile h2{font-size:32px}.tile .sub{font-size:19px}}.groups{display:flex;flex-direction:column;gap:24px;align-items:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:0;text-transform:uppercase;color:var(--text-2)}.tile.dark .eyebrow{color:var(--text-on-dark-2)}.cards{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:10px}.card-sm{width:196px;padding:18px 12px;border-radius:18px;background:#fff;box-shadow:0 4px 16px #0000000f;color:var(--text)}.card-sm strong{display:block;font-size:17px;font-weight:600}.card-sm span{display:block;font-size:12px;color:var(--text-2);margin-top:2px}.card-sm a{color:inherit}.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:600px;margin:0 auto}.chip{padding:9px 16px;border-radius:980px;background:var(--surface-dark);font-size:17px;color:var(--text-on-dark)}.timeline{width:100%;max-width:560px;margin:0 auto;text-align:left}.timeline .row{display:grid;grid-template-columns:120px 1fr auto;gap:16px;padding:11px 0;border-bottom:1px solid var(--border);align-items:baseline}.timeline .date{font-size:14px;color:var(--text-2)}.timeline .role{font-size:17px;font-weight:600}.timeline .co{font-size:17px;color:var(--text-2)}@media(max-width:734px){.timeline .row{grid-template-columns:1fr auto;gap:2px 12px}.timeline .date{grid-column:1 / -1}.timeline .role,.timeline .co{font-size:16px}}.quote-cards{display:flex;gap:12px;justify-content:center;align-items:flex-start;flex-wrap:wrap}.qcard{width:322px;max-width:100%;padding:22px;border-radius:18px;background:var(--surface-dark);text-align:left;color:var(--text-on-dark)}.qcard .person{display:flex;gap:12px;align-items:center}.qcard .avatar{width:40px;height:40px;border-radius:50%;background:#333336;display:flex;align-items:center;justify-content:center;font-size:14px;flex:none}.qcard .who strong{display:block;font-size:17px;font-weight:600}.qcard .who span{display:block;font-size:12px;color:var(--text-on-dark-2)}.qcard p{margin-top:12px;font-size:14px;line-height:1.43}.rcard{width:210px}.rcard .stars{color:#ff9f0a;font-size:14px;letter-spacing:1px}.rcard strong{display:block;font-size:17px;font-weight:600;margin-top:8px}.rcard p{margin-top:8px}.rcard .who{font-size:12px;color:var(--text-on-dark-2);margin-top:8px}.rating{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:12px;font-size:14px;color:var(--text-on-dark-2)}.rating .stars{color:var(--text-on-dark);letter-spacing:1px}.appicon{width:200px;height:200px;border-radius:44px;margin:0 auto;box-shadow:0 20px 40px #0000002e}.work{background:var(--bg-white);padding:96px 0 104px}.work h2{font-size:48px;line-height:1.08;font-weight:600;letter-spacing:-.003em;margin-top:8px}.work .lede{font-size:21px;line-height:1.38;color:var(--text-2);margin-top:12px;max-width:720px}.work-list{margin-top:48px}.work-item{display:grid;grid-template-columns:300px 1fr;gap:40px;padding:36px 0;border-top:1px solid var(--border)}.work-item:last-child{border-bottom:1px solid var(--border)}.work-meta h3{font-size:24px;line-height:1.17;font-weight:600}.work-co{font-size:17px;color:var(--text-2);margin-top:6px}.work-years{font-size:14px;color:var(--text-2);margin-top:2px}.work-tags{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.work-tags li{font-size:12px;padding:5px 10px;border-radius:980px;background:var(--bg-light);color:var(--text-2)}.work-body{font-size:19px;line-height:1.47;letter-spacing:-.012em}@media(max-width:734px){.work{padding:64px 0 72px}.work h2{font-size:36px}.work-item{grid-template-columns:1fr;gap:16px;padding:28px 0}.work-body{font-size:17px}}.footer{background:var(--bg-light);color:var(--text-2);font-size:12px;padding:24px 0}.footer .legal{padding-bottom:12px;border-bottom:1px solid var(--border)}.footer .bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:12px}.footer .bottom a{color:var(--text)}.footer .bottom .sep{padding:0 8px;color:var(--border)}.fab{position:fixed;right:20px;bottom:20px;z-index:20;display:flex;flex-direction:column;gap:12px}.fab-btn{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 20px #00000038;transition:transform .15s ease,box-shadow .15s ease}.fab-btn:hover{text-decoration:none;transform:translateY(-2px) scale(1.04);box-shadow:0 10px 26px #00000047}.fab-btn svg{width:26px;height:26px}.fab-btn.whatsapp,.fab-btn.linkedin{background:#fff;color:#1d1d1f;box-shadow:0 6px 20px #0000002e,0 0 0 1px #0000000f}.fab-btn.email{background:#1d1d1f;color:#fff;box-shadow:0 6px 20px #00000038,0 0 0 1px #ffffff24}.fab-btn.email svg{width:24px;height:24px}.fab-btn.linkedin svg{width:22px;height:22px}.fab-btn svg{width:28px;height:28px}@media(max-width:734px){.fab{right:16px;bottom:16px}.fab-btn{width:48px;height:48px}}@media(max-width:734px){.groups,.groups>div,.cards{width:100%}.card-sm{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 18px;text-align:left}.card-sm span{margin-top:0;text-align:right}.cards{gap:8px}.qcard,.rcard{width:100%}}.article-head{padding:64px 0 40px}.article-head .wrap{max-width:980px}.article-head .eyebrow{margin-bottom:12px}.article-head h1{font-size:48px;line-height:1.08;font-weight:600;letter-spacing:-.003em;max-width:900px}.article-head .standfirst{font-size:21px;line-height:1.38;color:var(--text-2);margin-top:16px;max-width:820px}.article-head .meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;font-size:14px;color:var(--text-2)}.article-hero{max-width:980px;margin:0 auto;padding:0 22px}.article-hero .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.article-hero .stat{background:var(--bg-light);border-radius:18px;padding:22px 20px}.article-hero .stat strong{display:block;font-size:34px;line-height:1.1;font-weight:600;letter-spacing:-.01em}.article-hero .stat span{display:block;font-size:14px;color:var(--text-2);margin-top:4px}.article{max-width:653px;margin:0 auto;padding:48px 22px 80px;font-size:19px;line-height:1.5;letter-spacing:-.012em}.article>*+*{margin-top:22px}.article h2{font-size:28px;line-height:1.14;font-weight:600;letter-spacing:.007em;margin-top:56px}.article h3{font-size:21px;line-height:1.19;font-weight:600;margin-top:36px}.article p{margin-top:18px}.article ul,.article ol{padding-left:22px}.article li+li{margin-top:8px}.article pre{background:var(--bg-light);border-radius:12px;padding:20px 24px;overflow-x:auto;font-size:14px;line-height:1.57;letter-spacing:0;margin-top:22px}.article code{font-family:ui-monospace,SF Mono,Menlo,Consolas,JetBrains Mono,monospace}.article p code,.article li code{font-size:.9em;background:var(--bg-light);padding:2px 6px;border-radius:6px}.article .callout{background:var(--bg-light);border-radius:12px;padding:20px 24px}.article .callout strong{display:block;font-size:17px;margin-bottom:6px}.article .callout p{margin-top:0;font-size:17px;color:var(--text-2)}.article table{width:100%;border-collapse:collapse;font-size:15px;margin-top:22px}.article th,.article td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}.article th{font-weight:600;color:var(--text-2);font-size:13px;text-transform:uppercase;letter-spacing:.02em}.article td.num,.article th.num{text-align:right;font-variant-numeric:tabular-nums}.article figure{margin:28px 0 0}.article figcaption{font-size:14px;color:var(--text-2);margin-top:8px}.article .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}.article .tags span{font-size:14px;padding:7px 14px;border-radius:980px;background:var(--bg-light)}.article-cta{background:var(--bg-light);padding:56px 0 80px}.article-cta .wrap{max-width:980px}.article-cta h2{font-size:28px;font-weight:600}.article-cta p{color:var(--text-2);margin-top:8px;font-size:17px}.article-cta .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.btn-outline-dark{border-color:var(--link);color:var(--link)}.btn-outline-dark:hover{background:var(--link);color:#fff}@media(max-width:734px){.article-head{padding:40px 0 28px}.article-head h1{font-size:34px}.article-head .standfirst{font-size:19px}.article-hero .stats{grid-template-columns:repeat(2,1fr)}.article{font-size:17px;padding-top:36px}.article h2{font-size:24px;margin-top:44px}.article pre{padding:16px;font-size:13px}.article table{font-size:14px}.article th,.article td{padding:8px 4px}.article .opt{display:none}}
