@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/fonts/archivo-var-latin.woff2) format("woff2");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:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/fonts/archivo-var-latin-ext.woff2) format("woff2");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:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/fonts/archivo-var-vietnamese.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400-latin.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400-latin-ext.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500-latin.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500-latin-ext.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-mono-600-latin.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-mono-600-latin-ext.woff2) format("woff2");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}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#fff;color:#181549;font-family:Archivo,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit}::selection{background:#575cac;color:#fff}input::placeholder,textarea::placeholder{color:#6e6c82}@keyframes ggdash{to{stroke-dashoffset:-560}}@keyframes ggpix{0%,to{opacity:.3}50%{opacity:1}}.hv-deep:hover{background:#41457e!important}.hv-pill:hover{background:#fff;color:#181549}.hv-ink-border:hover{border-color:#181549!important}.hv-o96:hover{opacity:.96}.hv-o88:hover{opacity:.88}.hv-o85:hover{opacity:.85}.hv-violet:hover{color:#575cac!important}.fc-violet:focus{border-color:#575cac!important}.fc-lilac:focus{border-color:#9da0d4!important}.nav-link.active{background:#fff;color:#181549;font-weight:600}:root{--bg: #F3F2F8;--surface: #FFFFFF;--surface-2: #F8F7FC;--ink: #1C1A3A;--ink-2: #46445F;--ink-3: #666481;--line: rgba(28, 26, 58, .09);--line-2: rgba(28, 26, 58, .16);--violet: #6944FF;--violet-press: #5533EA;--violet-soft: #ECE7FF;--rail-bg: #15132B;--rail-ink: #ABA8CB;--lilac: #E5E0FB;--lilac-deep: #A89BF0;--pink: #FADCE9;--pink-deep: #E1709A;--lemon: #F5F3B6;--lemon-deep: #F0C75E;--mint: #D6F2E5;--mint-deep: #5BD6A3;--sans: Archivo, system-ui, -apple-system, sans-serif;--rail: 92px;--wrap: 1160px;--pad: 40px;--r-card: 22px;--r-ctl: 12px}@media(max-width:900px){:root{--pad: 16px;--r-card: 18px}}body.desk{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}:where(body.desk) a{color:inherit}body.desk ::selection{background:var(--violet);color:#fff}body.desk img{max-width:100%}.num{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.rail{position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:40;display:flex;flex-direction:column;align-items:center;padding:18px 0 20px;background:var(--rail-bg);color:var(--rail-ink)}.rail-home{position:relative;z-index:1;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--violet);margin-bottom:26px;transition:background .18s}.rail-home:hover{background:var(--violet-press)}.rail-home img{width:26px;height:26px;filter:brightness(0) invert(1)}.rail nav{display:flex;flex-direction:column;gap:12px}.rail-item{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:var(--rail-ink);font:600 11.5px/1.2 var(--sans);letter-spacing:.01em;transition:color .18s}.rail-item .pill{width:56px;height:32px;border-radius:999px;display:grid;place-items:center;transition:background .18s,color .18s}.rail-item svg{width:22px;height:22px}.rail-item:hover{color:#fff}.rail-item:hover .pill{background:#ffffff14}.rail-item[aria-current=page]{color:#fff}.rail-item[aria-current=page] .pill{background:transparent;color:var(--ink)}.rail[data-sliding] .rail-item[aria-current=page] .pill{color:#fff}.rail :focus-visible{outline-color:var(--lilac)}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:12px;align-items:center}.rail-indicator{position:absolute;left:50%;top:0;z-index:0;width:56px;height:32px;margin-left:-28px;border-radius:999px;background:var(--lilac);opacity:0;transform:translateY(var(--y, 0px));transition:transform .46s cubic-bezier(.3,.75,.2,1),opacity .2s;pointer-events:none}.rail-indicator[data-on=true]{opacity:1}.desk-main{margin-left:var(--rail);min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:14px;z-index:30;width:min(calc(100% - 56px),1120px);box-sizing:border-box;margin:14px auto 0;height:62px;padding:0 12px 0 22px;display:flex;align-items:center;gap:14px;background:#ffffffeb;-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px -12px #1c1a3a24}.wordmark{display:flex;align-items:center;gap:9px;text-decoration:none}.wordmark svg{height:17px;width:auto;display:block}.wordmark span{font:700 17px/1 var(--sans);letter-spacing:-.01em;color:var(--violet)}.topbar-context{font:500 14.5px/1 var(--sans);color:var(--ink-3);padding-left:14px;border-left:1px solid var(--line-2)}.topbar-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.icon-btn{width:42px;height:42px;border-radius:var(--r-ctl);display:inline-grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-decoration:none}.icon-btn:hover{background:var(--lilac)}.icon-btn svg{width:19px;height:19px}.menu-btn{display:none}@media(max-width:1024px){.rail{display:none}.desk-main{margin-left:0}.topbar{width:calc(100% - 20px);margin:10px auto 0;top:10px;padding:0 8px 0 16px}.topbar-context{display:none}.menu-btn{display:inline-grid}}@media(max-width:520px){.topbar .btn{display:none}}.nav-sheet{position:fixed;inset:0;z-index:60;display:none}.nav-sheet[data-open=true]{display:block}.nav-sheet-scrim{position:absolute;inset:0;background:#1c1a3a52}.nav-sheet-panel{position:absolute;left:10px;top:10px;bottom:10px;width:min(320px,calc(100vw - 20px));background:var(--surface);border-radius:20px;padding:18px 14px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.nav-sheet-panel a{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;text-decoration:none;font:600 16px/1 var(--sans)}.nav-sheet-panel a[aria-current=page]{background:var(--lilac)}.nav-sheet-panel svg{width:22px;height:22px}.search-dialog{position:fixed;inset:0;z-index:70;display:none}.search-dialog[data-open=true]{display:block}.search-dialog-scrim{position:absolute;inset:0;background:#1c1a3a5c}.search-dialog-panel{position:relative;margin:12vh auto 0;width:min(620px,calc(100vw - 24px));background:var(--surface);border-radius:20px;overflow:hidden;box-shadow:0 30px 80px -20px #1c1a3a66}.search-dialog-panel input{width:100%;box-sizing:border-box;border:0;outline:0;padding:22px 24px;font:500 19px/1.2 var(--sans);color:var(--ink);border-bottom:1px solid var(--line)}.search-dialog-panel input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.search-dialog-results{list-style:none;margin:0;padding:8px;max-height:52vh;overflow-y:auto}.search-dialog-results a{display:block;padding:12px 16px;border-radius:12px;text-decoration:none}.search-dialog-results a:hover,.search-dialog-results a[data-active=true]{background:var(--bg)}.search-dialog-results b{display:block;font-weight:650;font-size:16px}.search-dialog-results span{display:block;font-size:14px;color:var(--ink-3);margin-top:2px}.search-dialog-empty{padding:16px;color:var(--ink-3);font-size:15px}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);box-sizing:border-box}.section{padding-top:120px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:36px}.section-head h2{margin:0;max-width:18ch}.section-head p{margin:0;max-width:42ch;color:var(--ink-2)}@media(max-width:900px){.section{padding-top:80px}}h1,h2,h3,.display{text-wrap:balance}p,.lede{text-wrap:pretty}.display{font:800 64px/1 var(--sans);letter-spacing:-.045em;margin:0}h1,.h1{font:800 56px/1.02 var(--sans);letter-spacing:-.042em;margin:0}h2,.h2{font:750 40px/1.06 var(--sans);letter-spacing:-.035em}h3,.h3{font:700 23px/1.2 var(--sans);letter-spacing:-.02em}.lede{font-size:19.5px;line-height:1.55;color:var(--ink-2)}.small{font-size:14px;line-height:1.5;color:var(--ink-3)}@media(max-width:900px){.display{font-size:44px;line-height:1.02}h1,.h1{font-size:40px}h2,.h2{font-size:30px}h3,.h3{font-size:21px}.lede{font-size:17.5px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 20px;border-radius:var(--r-ctl);font:650 15px/1 var(--sans);letter-spacing:-.005em;white-space:nowrap;text-decoration:none;cursor:pointer;border:0;background:var(--violet);color:#fff;transition:background .15s}.btn:hover{background:var(--violet-press)}.btn--ink{background:var(--ink)}.btn--ink:hover{background:#2e2b55}.btn--sm{height:40px;padding:0 16px;font-size:14px}.link{font-weight:650;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;text-decoration-color:var(--line-2);transition:text-decoration-color .15s,color .15s}.link:hover{color:var(--violet);text-decoration-color:currentColor}.tile--ink .link:hover{color:var(--lilac-deep)}.tag{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:999px;font:650 12.5px/1 var(--sans);letter-spacing:.01em;white-space:nowrap;background:var(--surface-2);color:var(--ink-2)}.tag--trust{background:var(--lilac);color:#3b2a9e}.tag--method{background:var(--mint);color:#1e6a48}.tag--culture{background:var(--pink);color:#8e2f57}.tag--live{background:var(--mint);color:#1e6a48}.tag--bench{background:var(--lemon);color:#6a5a10}.tag--personal{background:var(--pink);color:#8e2f57}.tag--plain{background:transparent;box-shadow:inset 0 0 0 1px var(--line-2)}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto;box-shadow:inset 0 0 0 1.25px var(--ink)}.dot--critical{background:var(--pink-deep)}.dot--high{background:var(--lemon-deep)}.dot--answered{background:var(--mint-deep)}.dot--thesis{background:var(--violet)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.tile{border-radius:var(--r-card)}.tile--lilac{background:var(--lilac)}.tile--pink{background:var(--pink)}.tile--lemon{background:var(--lemon)}.tile--mint{background:var(--mint)}.tile--ink{background:var(--ink);color:#fff}.foot{margin-top:140px;padding:56px 0 36px;border-top:1px solid var(--line)}.foot-grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:28px}.foot-grid h4{margin:0 0 14px;font:650 14px/1.3 var(--sans);color:var(--ink-3)}.foot-grid ul{list-style:none;margin:0;padding:0}.foot-grid li{padding:5px 0}.foot-grid a{text-decoration:none;font-size:15.5px}.foot-grid a:hover{color:var(--violet)}.foot-brand p{margin:16px 0 0;max-width:34ch;font-size:15px;color:var(--ink-3)}.foot-brand p a{font-size:inherit;text-decoration:underline;text-underline-offset:3px}.foot-social{margin-top:22px;display:flex;gap:8px}.foot-social .icon-btn{color:var(--ink-2)}.foot-social .icon-btn svg{width:17px;height:17px}.foot-social .foot-social-arena svg{width:25px;height:15px}.foot-legal{margin-top:48px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-3)}.foot-legal a{text-decoration:none}@media(max-width:900px){.foot{margin-top:96px}.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.rail{view-transition-name:rail}.topbar{view-transition-name:topbar}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-group(rail){animation:none}::view-transition-old(rail){display:none}::view-transition-new(rail){animation:none}::view-transition-group(topbar){animation:none}::view-transition-old(topbar){display:none}::view-transition-new(topbar){animation:none}::view-transition-old(root){animation:.14s cubic-bezier(.4,0,1,1) both gg-fade-out}::view-transition-new(root){animation:.4s cubic-bezier(.2,.8,.2,1) .1s both gg-fade-in}html:active-view-transition-type(down)::view-transition-old(root){animation-name:gg-out-up}html:active-view-transition-type(down)::view-transition-new(root){animation-name:gg-in-from-below}html:active-view-transition-type(up)::view-transition-old(root){animation-name:gg-out-down}html:active-view-transition-type(up)::view-transition-new(root){animation-name:gg-in-from-above}html:active-view-transition-type(deeper)::view-transition-old(root){animation-name:gg-out-left}html:active-view-transition-type(deeper)::view-transition-new(root){animation-name:gg-in-from-right}html:active-view-transition-type(shallower)::view-transition-old(root){animation-name:gg-out-right}html:active-view-transition-type(shallower)::view-transition-new(root){animation-name:gg-in-from-left}::view-transition-group(*.cover){animation-duration:.5s;animation-timing-function:cubic-bezier(.3,.75,.2,1);border-radius:16px;overflow:clip}::view-transition-old(*.cover),::view-transition-new(*.cover){height:100%;object-fit:cover}}@keyframes gg-fade-out{to{opacity:0}}@keyframes gg-fade-in{0%{opacity:0;transform:translateY(8px)}}@keyframes gg-out-up{to{opacity:0;transform:translateY(-18px)}}@keyframes gg-in-from-below{0%{opacity:0;transform:translateY(28px)}}@keyframes gg-out-down{to{opacity:0;transform:translateY(18px)}}@keyframes gg-in-from-above{0%{opacity:0;transform:translateY(-28px)}}@keyframes gg-out-left{to{opacity:0;transform:translate(-22px)}}@keyframes gg-in-from-right{0%{opacity:0;transform:translate(34px)}}@keyframes gg-out-right{to{opacity:0;transform:translate(22px)}}@keyframes gg-in-from-left{0%{opacity:0;transform:translate(-34px)}}
