*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-display:"Lexend", system-ui, sans-serif;--font-sans:"Manrope", system-ui, sans-serif;--font-serif:"Platypi", Georgia, serif;--font-ui:"Helvetica Neue", Helvetica, Arial, sans-serif;--sidebar-width:clamp(170px, 18.4vw, 265px);--color-bg:#f8f6f1;--color-bg-default:#fff;--color-bg-secondary:#fff;--color-text:#1c1c1e;--color-text-muted:#999;--color-accent:#1a6cf0;--color-accent-outline:#1a6cf033;--color-accent-soft:#1a6cf00a;--color-tick-idle:#1a6cf033;--color-border:#00000014;--color-divider:#0000000f;--color-quote-bg:#0000000a;--color-shadow:#1a6cf01f;--color-shadow-soft:#1a6cf014;--color-scrim:#00000059;--color-error:#e5484d;--color-warm-bg:#f8f6f1;--color-cool-bg:#f3f7fb;--color-text-strong:#01060e;--color-text-secondary:#2e4153;--color-text-disabled:#b9b9b9;--color-text-accent:#155ed3;--color-text-faint:#b4bfcb;--color-on-accent:#fff;color-scheme:light}html[data-theme=dark]{--color-bg:#16171b;--color-bg-default:#16171b;--color-bg-secondary:#212227;--color-text:#f1f0ec;--color-text-muted:#8a8a8e;--color-accent:#5c97ff;--color-accent-outline:#5c97ff47;--color-accent-soft:#5c97ff14;--color-tick-idle:#5c97ff38;--color-border:#ffffff1a;--color-divider:#ffffff14;--color-quote-bg:#ffffff0d;--color-shadow:#00000073;--color-shadow-soft:#0000004d;--color-scrim:#0000008c;--color-error:#ff6369;--color-warm-bg:#312c22;--color-cool-bg:#21283c;--color-text-strong:#f1f0ec;--color-text-secondary:#b4bfcb;--color-text-disabled:#62666f;--color-text-accent:#5c97ff;--color-text-faint:#62666f;--color-on-accent:#01060e;color-scheme:dark}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;scroll-behavior:smooth}body{background-color:var(--color-bg-default);transition:background-color .3s,color .3s}html.theme-transition::view-transition-old(root),html.theme-transition::view-transition-new(root){mix-blend-mode:normal;animation:none}.type-title{font-family:var(--font-serif);color:var(--color-text-strong);font-size:36px;font-weight:400;line-height:1.3}.type-h1,.type-h2,.type-h3{font-family:var(--font-serif);color:var(--color-text-strong);font-weight:700}.type-h1{font-size:28px;line-height:1.2}.type-h2{font-size:20px;line-height:1.2}.type-h3{font-size:16px;line-height:1.3}.type-h4{font-family:var(--font-sans);text-transform:uppercase;color:var(--color-text-strong);font-size:12px;font-weight:700;line-height:1.3}.type-body-md,.type-body-sm,.type-body-xs{font-family:var(--font-sans);color:var(--color-text-secondary);font-weight:400;line-height:1.3}.type-body-md{font-size:16px}.type-body-sm{font-size:14px}.type-body-xs{font-size:12px}.text-strong{color:var(--color-text-strong)}.text-secondary{color:var(--color-text-secondary)}.text-disabled{color:var(--color-text-disabled)}.text-accent{color:var(--color-text-accent)}.t-display{font-family:var(--font-display);letter-spacing:-.05em;color:var(--color-text);font-size:clamp(32px,5vw,48px);font-weight:700;line-height:1.05}.t-display--sm{font-size:clamp(28px,3.6vw,36px);font-weight:500}.t-h2{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text);margin-bottom:20px;font-size:24px;font-weight:600;line-height:1.25}.t-h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text);margin-bottom:8px;font-size:20px;font-weight:700}.t-label{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:600}.t-lead{font-family:var(--font-sans);color:var(--color-text);opacity:.85;font-size:18px;line-height:1.7}.t-body{font-family:var(--font-sans);color:var(--color-text);opacity:.75;font-size:14px;line-height:1.75}.t-small{font-family:var(--font-sans);color:var(--color-text-muted);font-size:13px;line-height:1.5}html.sheet-open{overflow:hidden}.main{padding-left:var(--sidebar-width);background-color:var(--color-bg-default);transition:background-color .3s;position:relative}@media (width<=640px){.main{padding-left:0}}.main>*{width:100%;max-width:1100px;margin:0 auto}.case-study-card{flex-direction:column;gap:20px;max-width:100%;display:flex}.case-study-header{flex-direction:column;gap:16px;display:flex}.case-study-index{color:var(--color-text-disabled);display:block}.case-study-info{justify-content:space-between;align-items:flex-start;gap:48px;display:flex}.case-study-title{flex-shrink:0;width:240px;margin-bottom:0}.case-study-card:hover .case-study-title{color:var(--color-text-accent)}.case-study-desc{flex:1;max-width:480px}.case-study-tags{color:var(--color-text-accent);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.case-study-tags span:not(:last-child):after{content:"•";opacity:.6;margin-left:4px}@media (width<=768px){.case-study-info{flex-direction:column;gap:8px}.case-study-title,.case-study-desc{max-width:none}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.chapter[data-astro-cid-gljlubhb]{order:1;align-items:center;display:flex;position:relative}.chapter-clip[data-astro-cid-gljlubhb]{align-self:stretch;width:0;display:flex;overflow:hidden}@keyframes chapter-grow{0%{width:0}to{width:var(--chapter-width,273px)}}@keyframes chapter-shrink{0%{width:var(--chapter-width,273px)}to{width:0}}@keyframes chapter-flip-in{0%{opacity:0;transform:perspective(700px)rotateX(-90deg)}to{opacity:1;transform:perspective(700px)rotateX(0)}}@keyframes chapter-flip-out{0%{opacity:1;transform:perspective(700px)rotateX(0)}to{opacity:0;transform:perspective(700px)rotateX(-90deg)}}@keyframes chapter-content-in{0%{opacity:0}to{opacity:1}}@keyframes chapter-content-out{0%{opacity:1}to{opacity:0}}.chapter[data-astro-cid-gljlubhb].is-visible .chapter-clip[data-astro-cid-gljlubhb]{animation:.32s cubic-bezier(.25,1,.5,1) both chapter-grow}.chapter[data-astro-cid-gljlubhb].is-visible .chapter-pill[data-astro-cid-gljlubhb]{animation:.4s cubic-bezier(.25,1,.5,1) .24s both chapter-flip-in}.chapter[data-astro-cid-gljlubhb].is-visible .chapter-thumb[data-astro-cid-gljlubhb]{animation:.24s ease-out .58s both chapter-content-in}.chapter[data-astro-cid-gljlubhb].is-visible .chapter-text[data-astro-cid-gljlubhb]{animation:.24s ease-out .7s both chapter-content-in}.chapter[data-astro-cid-gljlubhb].is-leaving .chapter-text[data-astro-cid-gljlubhb]{animation:.16s ease-in both chapter-content-out}.chapter[data-astro-cid-gljlubhb].is-leaving .chapter-thumb[data-astro-cid-gljlubhb]{animation:.16s ease-in 80ms both chapter-content-out}.chapter[data-astro-cid-gljlubhb].is-leaving .chapter-pill[data-astro-cid-gljlubhb]{animation:.3s cubic-bezier(.55,0,.85,.3) .18s both chapter-flip-out}.chapter[data-astro-cid-gljlubhb].is-leaving .chapter-clip[data-astro-cid-gljlubhb]{animation:.28s cubic-bezier(.55,0,.85,.3) .42s both chapter-shrink}@media (prefers-reduced-motion:reduce){.chapter[data-astro-cid-gljlubhb].is-visible .chapter-clip[data-astro-cid-gljlubhb],.chapter[data-astro-cid-gljlubhb].is-visible .chapter-pill[data-astro-cid-gljlubhb],.chapter[data-astro-cid-gljlubhb].is-visible .chapter-thumb[data-astro-cid-gljlubhb],.chapter[data-astro-cid-gljlubhb].is-visible .chapter-text[data-astro-cid-gljlubhb],.chapter[data-astro-cid-gljlubhb].is-leaving .chapter-clip[data-astro-cid-gljlubhb],.chapter[data-astro-cid-gljlubhb].is-leaving .chapter-pill[data-astro-cid-gljlubhb],.chapter[data-astro-cid-gljlubhb].is-leaving .chapter-thumb[data-astro-cid-gljlubhb],.chapter[data-astro-cid-gljlubhb].is-leaving .chapter-text[data-astro-cid-gljlubhb]{animation:none}.chapter[data-astro-cid-gljlubhb].is-visible .chapter-clip[data-astro-cid-gljlubhb]{width:var(--chapter-width,273px)}}.chapter-pill[data-astro-cid-gljlubhb]{background-color:var(--color-cool-bg);flex-shrink:0;align-items:center;gap:10px;padding:0 10px 0 4px;display:flex;position:relative}.chapter-thumb[data-astro-cid-gljlubhb]{background-image:url(/assets/index/hero-photo.jpg);background-position:49.855% 52.168%;background-repeat:no-repeat;background-size:200.291%;border-radius:2px;flex-shrink:0;width:51px;height:30px}.chapter-text[data-astro-cid-gljlubhb]{flex-direction:column;justify-content:center;gap:5px;width:160px;min-width:0;display:flex}.chapter-name[data-astro-cid-gljlubhb]{white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-sans);min-height:1.3em;color:var(--color-text-strong);font-size:12px;line-height:1.3;overflow:hidden}.chapter-progress[data-astro-cid-gljlubhb]{background-color:var(--color-border);border-radius:9999px;height:4px;position:relative}.chapter-progress-fill[data-astro-cid-gljlubhb]{background-color:var(--color-text-accent);border-radius:9999px;width:0%;transition:width .15s;position:absolute;inset:0}.chapter-toc-btn[data-astro-cid-gljlubhb]{width:28px;height:28px;color:var(--color-text-accent);cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.chapter-toc-btn[data-astro-cid-gljlubhb]:hover,.chapter-toc-btn[data-astro-cid-gljlubhb][aria-expanded=true]{background-color:var(--color-border)}.chapter-toc-btn[data-astro-cid-gljlubhb] .material-symbols-outlined[data-astro-cid-gljlubhb]{font-size:20px}.chapter-dropdown[data-astro-cid-gljlubhb]{z-index:1;background-color:var(--color-bg-default);opacity:0;visibility:hidden;border-radius:12px;flex-direction:column;gap:2px;max-height:0;padding-block:0;padding-inline:6px;transition:max-height .35s cubic-bezier(.25,1,.5,1),padding .35s cubic-bezier(.25,1,.5,1),opacity .2s,visibility 0s .35s;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #00000029}.chapter-dropdown[data-astro-cid-gljlubhb].is-open{opacity:1;visibility:visible;max-height:220px;padding-block:6px;transition:max-height .35s cubic-bezier(.25,1,.5,1),padding .35s cubic-bezier(.25,1,.5,1),opacity .25s 50ms,visibility;overflow-y:auto}@media (prefers-reduced-motion:reduce){.chapter-dropdown[data-astro-cid-gljlubhb]{transition:none}}.chapter-row{font-family:var(--font-sans);text-align:left;color:var(--color-text-strong);cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;padding:10px;font-size:14px;line-height:1.3;text-decoration:none;transition:color .2s,background-color .2s;display:block}.chapter-row:hover,.chapter-row.is-active{color:var(--color-text-accent)}.chapter-row:hover{background-color:var(--color-cool-bg)}.chapter-row.is-active{font-weight:700}@media (width>=641px) and (hover:hover) and (pointer:fine){.chapter-pill[data-astro-cid-gljlubhb]{transition:background-color .2s}}@media (width<=640px){.chapter[data-astro-cid-gljlubhb]{display:contents}.chapter-toc-btn--desktop[data-astro-cid-gljlubhb],.chapter-dropdown[data-astro-cid-gljlubhb]{display:none!important}.chapter-clip[data-astro-cid-gljlubhb]{width:auto;display:none;overflow:visible}.chapter[data-astro-cid-gljlubhb].is-visible .chapter-clip[data-astro-cid-gljlubhb],.chapter[data-astro-cid-gljlubhb].is-leaving .chapter-clip[data-astro-cid-gljlubhb]{flex:none;width:auto;min-width:0;animation:none;display:flex}.chapter-pill[data-astro-cid-gljlubhb]{background:0 0;flex:1;min-width:0;padding:0}.chapter-text[data-astro-cid-gljlubhb]{flex:1;width:auto}}.sidebar[data-astro-cid-wv7whodv]{z-index:50;width:var(--sidebar-width);font-family:var(--font-ui);color:var(--color-text-strong);pointer-events:none;flex-direction:column;padding:48px 16px 48px 36px;line-height:1.3;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar[data-astro-cid-wv7whodv]>[data-astro-cid-wv7whodv]{pointer-events:auto}.sidebar-nav[data-astro-cid-wv7whodv]{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.sidebar-link[data-astro-cid-wv7whodv]{color:inherit;font-size:16px;text-decoration:none;transition:color .2s}.sidebar-link[data-astro-cid-wv7whodv]:hover,.sidebar-link[data-astro-cid-wv7whodv].is-active{color:var(--color-text-accent)}.sidebar-chapter[data-astro-cid-wv7whodv]{margin-top:24px}.sidebar-chapter[data-astro-cid-wv7whodv] .chapter-text{width:clamp(60px, calc(var(--sidebar-width) - 165px), 140px)}.sidebar-chapter[data-astro-cid-wv7whodv] .chapter-clip{flex-shrink:0}.sidebar-foot[data-astro-cid-wv7whodv]{flex-direction:column;align-items:flex-start;gap:24px;margin-top:auto;display:flex}.sidebar-small[data-astro-cid-wv7whodv]{color:inherit;margin:0;font-size:12px;line-height:1.3}.sidebar-theme[data-astro-cid-wv7whodv]{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.sidebar-theme[data-astro-cid-wv7whodv]:hover{color:var(--color-text-accent)}.sidebar-socials[data-astro-cid-wv7whodv]{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sidebar-social[data-astro-cid-wv7whodv]{align-items:center;gap:4px;text-decoration:none;transition:color .2s;display:flex}.sidebar-social[data-astro-cid-wv7whodv] svg[data-astro-cid-wv7whodv]{fill:currentColor;flex-shrink:0}.sidebar-social[data-astro-cid-wv7whodv]:hover{color:var(--color-text-accent)}.sidebar-made[data-astro-cid-wv7whodv]{color:var(--color-text-faint)}.sidebar[data-astro-cid-wv7whodv] [data-astro-cid-wv7whodv]:focus-visible{outline:2px solid var(--color-text-accent);outline-offset:2px;border-radius:2px}@media (width<=640px){.sidebar[data-astro-cid-wv7whodv]{flex-direction:row;justify-content:space-between;align-items:baseline;gap:16px;width:auto;padding:20px 16px 0;position:static}.sidebar-nav[data-astro-cid-wv7whodv]{flex-flow:wrap;gap:4px 12px}.sidebar-chapter[data-astro-cid-wv7whodv],.sidebar-socials[data-astro-cid-wv7whodv],.sidebar-made[data-astro-cid-wv7whodv]{display:none}.sidebar-foot[data-astro-cid-wv7whodv]{flex-shrink:0;margin-top:0}}.sheet[data-astro-cid-7tameqwl]{z-index:40;visibility:hidden;pointer-events:none;transition:visibility 0s .5s;position:fixed;inset:0}.sheet[data-astro-cid-7tameqwl].is-open{visibility:visible;pointer-events:auto;transition:visibility}.sheet-backdrop[data-astro-cid-7tameqwl]{background-color:var(--color-scrim);opacity:0;transition:opacity .4s;position:absolute;inset:0}.sheet[data-astro-cid-7tameqwl].is-open .sheet-backdrop[data-astro-cid-7tameqwl]{opacity:1}.sheet-panel[data-astro-cid-7tameqwl]{top:24px;bottom:0;right:24px;left:var(--sidebar-width);background-color:var(--color-bg-default);border-radius:24px 24px 0 0;outline:none;flex-direction:column;transition:transform .5s cubic-bezier(.32,.72,0,1);display:flex;position:absolute;transform:translateY(100%);box-shadow:0 -8px 40px #0000001f}.sheet[data-astro-cid-7tameqwl].is-open .sheet-panel[data-astro-cid-7tameqwl]{transform:translateY(0)}.sheet[data-astro-cid-7tameqwl].is-dragging .sheet-panel[data-astro-cid-7tameqwl],.sheet[data-astro-cid-7tameqwl].is-dragging .sheet-backdrop[data-astro-cid-7tameqwl]{transition:none}.sheet-header[data-astro-cid-7tameqwl]{cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;padding:12px 0 20px;display:flex;position:relative}.sheet[data-astro-cid-7tameqwl].is-dragging .sheet-header[data-astro-cid-7tameqwl]{cursor:grabbing}.sheet-grabber[data-astro-cid-7tameqwl]{background-color:var(--color-border);border-radius:9999px;width:40px;height:5px}.sheet-body[data-astro-cid-7tameqwl]{overscroll-behavior:contain;border-radius:inherit;flex:1;min-height:0;overflow-y:auto}.sheet[data-astro-cid-7tameqwl] .sheet-body[data-astro-cid-7tameqwl] .about{padding-top:12px}.sheet[data-astro-cid-7tameqwl] .sheet-body[data-astro-cid-7tameqwl] .soon{min-height:100%;padding-bottom:96px}.sheet[data-astro-cid-7tameqwl] .sheet-body[data-astro-cid-7tameqwl] .resume{min-height:100%}@media (width<=640px){.sheet-panel[data-astro-cid-7tameqwl]{top:24px;left:0;right:0}}@media (prefers-reduced-motion:reduce){.sheet[data-astro-cid-7tameqwl],.sheet-backdrop[data-astro-cid-7tameqwl],.sheet-panel[data-astro-cid-7tameqwl]{transition:none}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--color-border);flex-direction:column;gap:40px;padding:64px clamp(40px,9vw,122px) 48px;display:flex}.footer-top[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.footer-contact[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:8px;display:flex}.footer-email[data-astro-cid-jo6i4kqk]{text-decoration:none;transition:color .2s}.footer-email[data-astro-cid-jo6i4kqk]:hover{color:var(--color-text-accent)}.footer-social[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.footer-social-links[data-astro-cid-jo6i4kqk]{align-items:center;gap:8px;display:flex}.footer-icon-btn[data-astro-cid-jo6i4kqk]{width:36px;height:36px;color:var(--color-text-strong);background:0 0;border-radius:9999px;justify-content:center;align-items:center;transition:background-color .2s,color .2s;display:flex}.footer-icon-btn[data-astro-cid-jo6i4kqk] svg[data-astro-cid-jo6i4kqk]{width:16px;height:16px}.footer-icon-btn[data-astro-cid-jo6i4kqk]:hover{background:var(--color-cool-bg);color:var(--color-text-accent)}@media (width<=768px){.footer-top[data-astro-cid-jo6i4kqk]{flex-direction:column}.footer-social[data-astro-cid-jo6i4kqk]{align-items:flex-start}}
