@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(../media/35161b7740c25d33-s.05wv8sp_ts~44.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(../media/391e53907fa6d8ec-s.09se41kx.zlna.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(../media/ae8872c8a32e309c-s.05txd3dlozf45.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(../media/70e3db2de7f94926-s.p.0~0iy9faq3424.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.113htgw8u-emy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.08.c8psu~gif9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.0yfy_qj1.2qn0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.p.14by5b4al-y~f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_12c20202-module__vUafTa__className{font-family:Playfair Display,Playfair Display Fallback}.playfair_display_12c20202-module__vUafTa__variable{--font-playfair:"Playfair Display", "Playfair Display Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_78e3e10c-module__ZPtN2q__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_78e3e10c-module__ZPtN2q__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_46139293-module__ZgHWIW__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_46139293-module__ZgHWIW__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--cream:#f0eade;--card:#f5f1e8;--ink:#191d26;--body:#2c2d38;--rule:#d4cfc5;--violet:#6d6990;--tan:#806343;--amber:#7f5b36;--hairline:#c9c3b9;--mark:#989185;--teal:#6d6990;--sans:var(--font-dm-sans), "DM Sans", system-ui, sans-serif;--display:var(--font-playfair), "Playfair Display", Georgia, serif;--mono:var(--font-plex-mono), "IBM Plex Mono", ui-monospace, monospace;--lift:0 8px 24px -12px #4f473580}@supports (color:lab(0% 0 0)){:root{--cream:lab(92.8701% .626475 6.49928);--card:lab(95.1764% .461936 4.95808);--ink:lab(10.5799% -.030227 -6.62583);--body:lab(18.629% 1.60295 -7.29785);--rule:lab(83.2349% .550211 5.73289);--violet:lab(45.9944% 8.01086 -20.8946);--tan:lab(44.2364% 9.1629 22.9752);--amber:lab(41.8506% 11.7899 27.0852);--hairline:lab(79.1781% .596076 6.1215);--mark:lab(60.629% .807166 7.69807);--teal:lab(45.9944% 8.01086 -20.8946);--lift:0 8px 24px -12px lab(30.4821% 1.5844 11.8969/.5)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--cream);-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400}a{color:inherit;text-decoration:none}a:hover{color:#754b10;color:lab(36.0148% 14.4962 39.691)}::selection{background:#e3cead;background:lab(83.8651% 3.5817 19.4064)}button{font:inherit;color:inherit}img{max-width:100%;display:block}.no-bar{scrollbar-width:none;-ms-overflow-style:none}.no-bar::-webkit-scrollbar{display:none}a:focus-visible,button:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:2px}@media (min-width:641px){.m-view{display:none}html,body{overflow-x:clip}}@media (max-width:640px){.d-view{display:none}html,body{overscroll-behavior:none;height:100dvh;overflow:hidden}}@keyframes d-clip-in{0%{clip-path:inset(0 0 100%);opacity:.35}to{clip-path:none;opacity:1}}@keyframes d-fade-up{0%{opacity:0;clip-path:inset(0 0 22%)}to{opacity:1;clip-path:none}}@keyframes d-nudge{0%,to{transform:translate(0)}50%{transform:translate(7px)}}@keyframes m-rise{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes m-clip-up{0%{transform:translateY(106%)}to{transform:none}}@keyframes m-draw-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes m-nudge{0%,to{opacity:.6;transform:translate(0)}50%{opacity:1;transform:translate(6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.d-measure{width:100%;max-width:1240px;margin-inline:auto}.d-label{font-family:var(--mono);letter-spacing:.14em;color:var(--violet);font-size:10px;font-weight:500}.d-head{z-index:40;background:var(--cream);border-bottom:1px solid var(--rule);align-items:center;gap:28px;padding:18px 56px;display:flex;position:sticky;top:0}.d-head-mark{font-family:var(--display);letter-spacing:-.01em;font-size:24px;font-style:italic}.d-nav{color:var(--body);gap:26px;margin-left:auto;font-size:15px;display:flex}.d-nav a[aria-current=true]{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px}.d-nav .d-nav-contact{color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px}.d-intro{border-bottom:1px solid var(--rule);transform-origin:50% 0;padding:88px 56px 40px}.d-hero{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:end;gap:56px;display:grid}.d-hero-left{flex-direction:column;gap:24px;display:flex}.d-name{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(60px,9.5vw,140px);font-weight:400;line-height:.9;animation:1s cubic-bezier(.16,1,.3,1) both d-clip-in}.d-hero-meta{font-family:var(--mono);letter-spacing:.08em;color:var(--tan);flex-wrap:wrap;align-items:baseline;gap:26px;font-size:12.5px;display:flex}.d-hero-langs{color:var(--violet)}.d-status{font-family:var(--mono);letter-spacing:.06em;flex-direction:column;gap:12px;font-size:12.5px;animation:.55s cubic-bezier(.16,1,.3,1) 80ms both d-fade-up;display:flex}.d-status-row{border-bottom:1px solid var(--rule);justify-content:space-between;padding-bottom:8px;display:flex}.d-status-row>span:first-child{color:var(--tan)}.d-status-links{gap:18px;padding-top:6px;display:flex}.d-status-links a{border-bottom:1px solid var(--rule)}.d-status-links a:first-child{border-bottom-color:var(--ink)}@media (max-width:1180px){.d-head{padding:14px 22px}.d-nav{flex-wrap:wrap;gap:14px}.d-intro{padding-left:22px;padding-right:22px}.d-hero{grid-template-columns:minmax(0,1fr);gap:30px}}.d-h2{font-family:var(--display);letter-spacing:-.01em;color:var(--body);margin:0;font-size:28px;font-weight:400;line-height:1}.d-label--fixed{width:158px;display:inline-block}.d-head-row{flex-wrap:wrap;align-items:baseline;gap:22px;display:flex}.d-work{z-index:1;background:var(--cream);border-bottom:1px solid var(--rule);transform-origin:50% 100%;position:relative}.d-work-head{padding:64px 56px 16px}.d-work-head-row{justify-content:space-between;align-items:baseline;gap:40px;display:flex}.d-work-nav{font-family:var(--mono);letter-spacing:.14em;color:var(--tan);align-items:center;gap:16px;font-size:10px;font-weight:500;display:flex}.d-work-btns{gap:8px;display:flex}.d-work-btn{border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:0 0;padding:8px 14px;transition:border-color .3s}.d-work-btn:hover{border-color:var(--ink)}.d-work-rule{margin-bottom:14px;padding:0 56px}.d-work-inset{background:var(--rule);height:1px;position:relative}.d-work-progress{background:var(--ink);width:33.3%;position:absolute;inset:0 auto 0 0}.d-track{cursor:grab;height:auto;display:flex;overflow-x:auto}.d-panel{border-left:1px solid var(--rule);flex:0 0 100%;padding:10px 56px 26px;position:relative;overflow:hidden}.d-panel-edge{pointer-events:none;background:linear-gradient(90deg,#c4bdb080,#e4ddd124 45%,#f0eade00);background:linear-gradient(90deg,lab(76.8708% .776768 7.67496/.5),lab(88.4652% .673145 6.88851/.14) 45%,lab(92.8701% .626475 6.49928/0));width:20px;position:absolute;top:0;bottom:0;left:0}.d-case{grid-template-columns:minmax(340px,680px) minmax(320px,430px);justify-content:space-between;align-items:center;gap:56px;width:100%;display:grid}.d-case-body{flex-direction:column;gap:20px;min-width:0;display:flex}.d-case-head{flex-wrap:wrap;align-items:baseline;gap:20px;display:flex}.d-case-title{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(44px,4.4vw,62px);font-weight:400;line-height:.98}.d-case-desc{color:var(--body);margin:0;font-size:18px;line-height:1.5}.d-case p{max-width:570px}.d-case-stack{border-top:1px solid var(--rule);flex-direction:column;gap:12px;padding-top:16px;display:flex}.d-case-stack-head{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.d-case-stack-head .d-label{letter-spacing:.16em;color:var(--tan)}.d-case-link{font-family:var(--mono);letter-spacing:.08em;border-bottom:1px solid var(--ink);width:max-content;font-size:12.5px;font-weight:500}.d-chips{flex-wrap:wrap;gap:8px;display:flex}.d-chip{font-family:var(--mono);letter-spacing:.04em;color:var(--ink);border:1px solid var(--hairline);padding:6px 11px;font-size:12.5px}.d-case-notes{flex-direction:column;gap:4px;max-width:56ch;display:flex}.d-case-note{margin-bottom:18px}.d-case-note .d-label{margin-bottom:4px;display:block}.d-case-note p{color:var(--body);margin:0;font-size:15px;line-height:1.55}.d-media{align-items:center;min-width:0;display:flex}.d-dgm{aspect-ratio:32/43;width:100%;display:flex}.d-work-foot{padding:12px 56px 28px}.d-work-foot-row{font-family:var(--mono);letter-spacing:.14em;color:var(--tan);justify-content:space-between;font-size:10px;font-weight:500;display:flex}.d-hint{transition:opacity .4s;animation:2.6s ease-in-out infinite d-nudge}@media (max-width:1180px){.d-work{padding-inline:22px}.d-work-head,.d-work-foot,.d-work-rule{padding-inline:0}.d-track{cursor:auto;grid-template-columns:minmax(0,1fr);height:auto;display:grid;overflow:visible}.d-panel{border-top:1px solid #d6d0c6;border-top:1px solid lab(83.8149% .549763 5.73257);border-left:0;padding:34px 22px 42px;overflow:visible}.d-panel-edge,.d-work-nav,.d-work-foot .d-hint{display:none}.d-case{grid-template-columns:minmax(0,1fr);gap:26px;height:auto}.d-media{justify-content:center;height:auto;min-height:0}.d-dgm{width:min(100%,430px);max-width:none;height:auto}}.d-journey{z-index:1;transform-origin:50% 100%;padding:64px 56px 28px;position:relative}.d-journey-head{justify-content:space-between;align-items:baseline;gap:40px;margin-bottom:8px;display:flex}.d-axis-wrap{position:relative}.d-axis{background:var(--rule);width:1px;position:absolute;top:30px;bottom:30px;left:165px}.d-jrow{grid-template-columns:132px 11px minmax(0,1fr);align-items:start;gap:0 28px;padding:24px 0;display:grid}.d-jdate{font-family:var(--mono);letter-spacing:.14em;color:var(--violet);text-align:right;white-space:nowrap;padding-top:7px;font-size:10px;font-weight:500}.d-jrow--edu .d-jdate{color:var(--tan)}.d-jdot-cell{display:block;position:relative}.d-jdot{border:1px solid var(--violet);background:var(--cream);border-radius:999px;width:11px;height:11px;position:absolute;top:6px;left:0}.d-jrow--edu .d-jdot{border-color:#aea390;border-color:lab(67.618% 1.3077 11.6257)}.d-jbody{flex-direction:column;gap:7px;max-width:640px;display:flex}.d-jkind{font-family:var(--mono);letter-spacing:.18em;color:var(--tan);font-size:9.5px;font-weight:500}.d-jtitle{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:400;line-height:1.14}.d-jorg{font-family:var(--mono);letter-spacing:.12em;color:var(--tan);font-size:10px;font-weight:500}.d-jdesc{color:var(--body);max-width:570px;margin:4px 0 0;font-size:15px;line-height:1.55}@media (max-width:1180px){.d-journey{padding-inline:22px}}.d-about{z-index:2;background:var(--cream);border-bottom:1px solid var(--rule);height:170vh;padding:0;position:relative}.d-seam{background:linear-gradient(90deg, var(--violet) 0%, #7d7057 46%, #d6d0c600 100%);transform-origin:0;will-change:transform;height:1.5px;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}@supports (color:lab(0% 0 0)){.d-seam{background:linear-gradient(90deg, var(--violet) 0%, lab(47.9109% 2.08786 15.8349) 46%, lab(83.8149% .549763 5.73257/0) 100%)}}.d-about-stage{flex-direction:column;justify-content:flex-start;gap:34px;height:auto;min-height:100vh;padding:72px 56px 48px;display:flex;position:sticky;top:0;overflow:hidden}.d-about-head{will-change:opacity, transform;flex-direction:column;gap:14px;display:flex}.d-about-rule{background:var(--rule);height:1px;position:relative}.d-about-progress{background:var(--ink);width:0%;position:absolute;inset:0 auto 0 0}.d-about-body{grid-template-columns:minmax(340px,700px) minmax(190px,230px);justify-content:start;align-items:start;gap:56px;display:grid}.d-chapwrap{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:22px;display:grid}.d-ords{flex-direction:column;gap:12px;padding-top:6px;display:flex}.d-ord{font-family:var(--mono);letter-spacing:.16em;color:#c9c3b9;color:lab(79.1781% .596076 6.1215);font-size:10px;font-weight:500;transition:color .45s}.d-chapters{min-height:300px;position:relative}.d-chap{max-width:48ch;color:var(--body);opacity:0;will-change:opacity, transform;margin:0;font-size:18px;line-height:1.55;position:absolute;top:0;left:0}.d-chap--table{max-width:none;right:0}.d-stack-head{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:12px;display:flex}.d-stack-head .d-label{letter-spacing:.16em}.d-stack-fig{font-family:var(--mono);letter-spacing:.16em;color:var(--tan);font-size:9.5px}.d-stack-row{border-top:1px solid var(--rule);grid-template-columns:26px minmax(0,1fr);align-items:start;gap:16px;padding:13px 0;display:grid}.d-stack-row:last-child{border-bottom:1px solid var(--rule)}.d-stack-ord{font-family:var(--mono);letter-spacing:.14em;color:var(--tan);padding-top:3px;font-size:10px;font-weight:500}.d-stack-group{flex-direction:column;gap:6px;display:flex}.d-stack-items{flex-wrap:wrap;gap:4px 18px;display:flex}.d-stack-items span{color:var(--ink);font-size:15px;line-height:1.5}.d-aside{flex-direction:column;gap:18px;display:flex}.d-portrait{border:1px solid var(--hairline);box-sizing:content-box;filter:sepia(.08)saturate(.9)contrast(1.02);width:100%;max-width:210px;display:block}.d-looking{border-top:1px solid var(--rule);flex-direction:column;gap:10px;max-width:210px;padding-top:14px;display:flex}.d-looking-row{flex-direction:column;gap:2px;display:flex}.d-looking-row>span:first-child{font-family:var(--mono);letter-spacing:.14em;color:var(--tan);font-size:10px;font-weight:500}.d-looking-row>span:last-child{color:var(--ink);font-size:15px}.d-end{z-index:4;background:var(--cream);will-change:transform, opacity;padding:44px 56px 40px;position:relative;box-shadow:0 -24px 40px -30px #8f857299;box-shadow:0 -24px 40px -30px lab(56.0147% 1.36441 11.6752/.6)}.d-end-body{grid-template-columns:minmax(340px,720px) minmax(240px,320px);justify-content:space-between;align-items:end;gap:56px;margin-top:22px;display:grid}.d-end-mail{align-items:baseline;gap:12px;width:max-content;padding-bottom:6px;display:inline-flex;position:relative}.d-end-rule{background:var(--ink);transform-origin:0;height:1px;transition:transform 1.1s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.d-end-address{font-family:var(--display);letter-spacing:-.025em;font-size:clamp(38px,6.4vw,84px);line-height:1}.d-end-arrow{font-family:var(--mono);color:var(--tan);font-size:14px}.d-end-links{border-top:1px solid var(--hairline);font-family:var(--mono);letter-spacing:.06em;align-items:baseline;gap:22px;padding-top:14px;font-size:12.5px;display:flex}@media (max-width:1180px),(max-height:740px){.d-about{height:auto}.d-about-stage{height:auto;min-height:0;position:static;overflow:visible}.d-chapters{flex-direction:column;gap:20px;min-height:0;display:flex}.d-chap{opacity:1;position:static;transform:none}.d-chap--table{right:auto}.d-ords{display:none}.d-chapwrap{grid-template-columns:minmax(0,1fr);gap:0}.d-end{box-shadow:none;margin-top:0!important}}@media (max-height:740px){.d-about-stage{padding-top:48px;padding-bottom:56px}}@media (max-width:1180px){.d-about-stage{gap:30px;padding:48px 22px 56px}.d-about-body,.d-end-body{grid-template-columns:minmax(0,1fr);gap:34px}.d-chapters{gap:18px}.d-end{padding-inline:22px}}.m-view{background:var(--cream);height:100dvh;color:var(--ink);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--m-top:max(var(--safe-top), 22px);position:relative;overflow:hidden}.m-head{z-index:40;padding:var(--m-top) 22px 0;pointer-events:none;justify-content:space-between;align-items:baseline;display:flex;position:absolute;top:0;left:0;right:0}.m-head-mark{font-family:var(--display);letter-spacing:-.01em;pointer-events:auto;font-size:21px;font-style:italic}.m-feed{scroll-snap-type:y mandatory;scroll-behavior:smooth;height:100%;overflow-y:auto}.m-post{scroll-snap-align:start;scroll-snap-stop:always;height:100dvh;padding:calc(var(--m-top) + 42px) 0 calc(84px + var(--safe-bottom));flex-direction:column;display:flex;position:relative}.m-post-head{justify-content:space-between;align-items:baseline;padding:0 22px 10px;display:flex}.m-post-label{font-family:var(--mono);letter-spacing:.14em;color:var(--violet);white-space:nowrap;font-size:10px;font-weight:500}.m-post-aside{flex:none;align-items:center;gap:10px;display:flex}.m-swipe{font-family:var(--mono);letter-spacing:.18em;color:var(--tan);font-size:9.5px;font-weight:500;transition:opacity .3s;animation:1.9s ease-in-out infinite m-nudge}.m-dots{align-items:center;gap:4px;display:flex}.m-dot{background:var(--rule);border-radius:999px;width:10px;height:4px;transition:background .35s,width .45s cubic-bezier(.34,1.15,.34,1)}.m-dot--on{background:var(--ink);width:22px}.m-car{scroll-snap-type:x mandatory;cursor:grab;flex:1;gap:12px;min-height:0;padding:0 clamp(14px,4.98vw,20px);display:flex;overflow-x:auto}.m-card{scroll-snap-align:center;background:var(--card);scrollbar-width:none;border-radius:22px;flex-direction:column;flex:0 0 calc(100% - min(36px,8.96vw));min-height:0;display:flex;overflow:hidden auto}.m-card::-webkit-scrollbar{display:none}.m-car--single .m-card{margin:0 auto}.m-card--cover{justify-content:space-between;padding:clamp(14px,5.21vh - 19.3154px,28px) 22px clamp(12px,4.57vh - 17.2178px,24px)}.m-cover-top{flex-direction:column;gap:clamp(9px,2.137vh - 4.68px,14px);display:flex}.m-cover-eyebrow-wrap{flex-direction:column;gap:clamp(8px,1.709vh - 2.94px,12px);display:flex}.m-cover-eyebrow{font-family:var(--mono);letter-spacing:.22em;color:var(--tan);font-size:10px;font-weight:500;animation:.6s ease-out .1s both m-rise}.m-cover-rule{background:var(--rule);transform-origin:0;height:1px;animation:.9s cubic-bezier(.3,.9,.2,1) .18s both m-draw-x}.m-cover-name{font-family:var(--display);letter-spacing:-.03em;margin:0;font-size:clamp(38px,7.1vh,66px);font-weight:400;line-height:.88}.m-cover-line{display:block;overflow:hidden}.m-cover-line--descender{margin:0 -4px -16px;padding:0 4px 16px}.m-cover-line>span{animation:.95s cubic-bezier(.2,.9,.2,1) both m-clip-up;display:block}.m-cover-line--a>span{animation-delay:.22s}.m-cover-line--b>span{animation-delay:.34s}.m-cover-meta{font-family:var(--mono);letter-spacing:.1em;flex-direction:column;gap:5px;font-size:10.5px;animation:.7s cubic-bezier(.2,.8,.2,1) .58s both m-rise;display:flex}.m-cover-meta>span:first-child{color:var(--tan)}.m-cover-meta>span:last-child{color:var(--violet)}.m-rows{flex-direction:column;display:flex}.m-row{border-top:1px solid var(--rule);grid-template-columns:clamp(58px,19.41vw,78px) minmax(0,1fr);gap:clamp(10px,3.484vw,14px);padding:clamp(7px,2.56vh - 9.3744px,13px) 0;animation:.75s cubic-bezier(.2,.8,.2,1) both m-rise;display:grid}.m-row--a{animation-delay:.72s}.m-row--b{animation-delay:.84s}.m-row-label{font-family:var(--mono);letter-spacing:.14em;color:var(--tan);padding-top:3px;font-size:10px;font-weight:500}.m-row-value{flex-direction:column;gap:3px;display:flex}.m-row-value>span:first-child{color:var(--ink);font-size:clamp(12.5px,min(2vh,3.733vw),15px);line-height:1.35}.m-row-value>span:last-child{color:var(--body);font-size:clamp(10.5px,min(1.7vh,3.111vw),12.5px);line-height:1.45}.m-touch{border-top:1px solid var(--rule);flex-direction:column;gap:clamp(8px,1.282vh - .21px,11px);padding-top:clamp(10px,1.8vh,16px);animation:.75s cubic-bezier(.2,.8,.2,1) .96s both m-rise;display:flex}.m-touch-label{font-family:var(--mono);letter-spacing:.16em;color:var(--violet);font-size:10px;font-weight:500}.m-touch-mail{font-family:var(--display);letter-spacing:-.01em;border-bottom:1.5px solid var(--ink);white-space:nowrap;width:max-content;max-width:100%;padding-bottom:5px;font-size:clamp(21px,3.4vh,26px);line-height:1.1}.m-socials{font-family:var(--mono);letter-spacing:.14em;align-items:center;gap:12px;font-size:10.5px;font-weight:500;display:flex}.m-socials a{color:var(--body);border-bottom:1px solid var(--rule);padding-bottom:3px;transition:border-color .3s,color .3s}.m-socials a:hover{border-color:var(--ink);color:var(--ink)}.m-socials-dot{color:var(--tan);opacity:.6}.m-card--dgm{gap:14px;padding:clamp(16px,2.8vh,26px) 12px}.m-slot{flex:auto;width:100%;min-height:0}.m-slot svg>rect:first-child{display:none}.m-proj{flex-direction:column;gap:10px;padding:0 8px;display:flex}.m-proj-title{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(21px,3.4vh,26px);font-weight:400;line-height:1}.m-proj-desc{color:var(--body);margin:0;font-size:clamp(11px,min(1.75vh,3.36vw),13.5px);line-height:1.5}.m-proj-link{font-family:var(--mono);letter-spacing:.12em;border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;margin-top:2px;padding-top:11px;font-size:10.5px;font-weight:500;transition:padding .3s;display:flex}.m-proj-link:hover{padding-left:6px}.m-proj-link>span:last-child{opacity:.4}.m-card--case{padding:clamp(18px,3.2vh,30px) 22px}.m-case-block{flex-direction:column;gap:8px;display:flex}.m-case-block--first{border-bottom:1px solid var(--rule);padding-bottom:clamp(10px,2vh,18px)}.m-case-block--mid{border-bottom:1px solid var(--rule);padding:clamp(10px,2vh,18px) 0}.m-case-block--last{padding-top:clamp(10px,2vh,18px)}.m-case-label{font-family:var(--mono);letter-spacing:.16em;color:var(--violet);font-size:10px;font-weight:500}.m-case-label--result{color:var(--amber)}.m-case-block p{color:var(--body);margin:0;font-size:clamp(12px,min(1.9vh,3.608vw),14.5px);line-height:1.5}.m-case-stack{border-top:1px solid var(--rule);font-family:var(--mono);letter-spacing:.05em;color:var(--tan);margin-top:auto;padding-top:clamp(10px,2vh,18px);font-size:10.5px;line-height:1.7}.m-card--journey{gap:clamp(10px,3.2vh - 10.488px,18px);padding:clamp(16px,5.13vh - 16.868px,30px) clamp(14px,5.473vw,22px)}.m-section-label{font-family:var(--mono);letter-spacing:.18em;color:var(--tan);font-size:10.5px;font-weight:500}.m-timeline{flex-direction:column;flex:1;justify-content:flex-start;gap:clamp(10px,8.2vh - 38.456px,34px);min-height:0;display:flex;position:relative}.m-timeline--edu{gap:clamp(34px,16.2vh - 57.684px,88px)}.m-axis{background:var(--rule);width:1px;position:absolute;top:0;bottom:0;left:4px}.m-jrow{grid-template-columns:9px minmax(0,1fr);gap:clamp(11px,3.981vw,16px);display:grid;position:relative}.m-jdot-cell{display:block;position:relative}.m-jdot{border:1px solid var(--violet);background:var(--card);border-radius:999px;width:9px;height:9px;position:absolute;top:4px;left:0}.m-jbody{flex-direction:column;gap:clamp(4px,.9vh,7px);display:flex}.m-timeline--edu .m-jbody{gap:8px}.m-jdate{font-family:var(--mono);letter-spacing:.14em;color:var(--violet);font-size:10px;font-weight:500}.m-jtitle{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(15px,min(2.5vh,4.728vw),19px);line-height:1.15}.m-timeline--edu .m-jtitle{font-size:clamp(15.5px,min(2.7vh,5.225vw),21px);line-height:1.2}.m-jorg{font-family:var(--mono);letter-spacing:.12em;color:var(--tan);font-size:10.5px;line-height:1.6}.m-jdesc{color:var(--body);margin:2px 0 0;font-size:clamp(11px,min(1.75vh,3.36vw),13.5px);line-height:1.55}.m-card--profile{justify-content:center;gap:clamp(9px,3.095vh - 9.57px,18px);padding:clamp(12px,5.83vh - 22.98px,30px) 22px}.m-profile-head{align-items:center;gap:clamp(12px,2vh,18px);display:flex}.m-avatar{object-fit:cover;object-position:50% 22%;border:1px solid var(--hairline);box-sizing:content-box;filter:sepia(.08)saturate(.9)contrast(1.02);border-radius:999px;flex:none;width:clamp(62px,9.8vh,84px);height:clamp(62px,9.8vh,84px)}.m-profile-id{flex-direction:column;gap:6px;min-width:0;display:flex}.m-profile-name{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(20px,3.1vh,24px);line-height:1.05}.m-profile-handle{font-family:var(--mono);letter-spacing:.14em;color:var(--violet);font-size:10.5px;font-weight:500}.m-profile-role{font-family:var(--mono);letter-spacing:.1em;color:var(--tan);font-size:10.5px}.m-hr{background:var(--rule);height:1px}.m-bio{color:var(--body);margin:0;font-size:clamp(11.5px,min(1.8vh,3.484vw),14px);line-height:1.58}.m-bio--lead{font-size:clamp(12px,min(1.85vh,3.608vw),14.5px)}.m-card--stack{justify-content:center;gap:clamp(7px,3.095vh - 9.57px,18px);padding:clamp(12px,5.84vh - 23.04px,28px) 24px}.m-stack-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.m-stack-count{font-family:var(--mono);letter-spacing:.14em;color:var(--violet);font-size:10px}.m-stack-groups{flex-direction:column;display:flex}.m-stack-group{border-top:1px solid var(--rule);flex-direction:column;gap:6px;padding:clamp(6px,2.932vh - 10.7677px,15px) 0;display:flex}.m-stack-label{font-family:var(--mono);letter-spacing:.16em;color:var(--violet);font-size:10px;font-weight:500}.m-stack-line{color:var(--body);font-size:clamp(11px,min(1.75vh,3.36vw),13.5px);line-height:1.5}.m-looking{border-top:1px solid var(--rule);flex-direction:column;gap:4px;padding-top:clamp(6px,1.46vh - .76px,12px);display:flex}.m-looking-text{color:var(--body);font-size:clamp(11px,min(1.7vh,3.235vw),13px);line-height:1.5}.m-card--end{justify-content:center;gap:22px;padding:clamp(18px,3.2vh,30px) 22px}.m-end-mail{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.m-end-address{font-family:var(--display);letter-spacing:-.02em;white-space:nowrap;font-size:clamp(22px,7.2vw,34px);line-height:1.05}.m-end-arrow{font-family:var(--mono);color:var(--tan);font-size:13px}.m-colophon{font-family:var(--mono);letter-spacing:.14em;color:var(--tan);font-size:10px}.m-rail{z-index:40;opacity:0;pointer-events:none;flex-direction:column;align-items:flex-end;transition:opacity .35s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.m-rail a{-webkit-tap-highlight-color:transparent;justify-content:flex-end;align-items:center;padding:8px 9px 8px 24px;display:flex}.m-rail span{background:var(--mark);border-radius:999px;width:9px;height:2px;transition:width .45s cubic-bezier(.34,1.15,.34,1),background .4s;display:block}.m-rail a[aria-current=true] span{background:var(--ink);width:17px}.m-nav{bottom:calc(16px + var(--safe-bottom));z-index:50;gap:6px;padding-bottom:7px;transition:opacity .3s,transform .35s cubic-bezier(.34,1.1,.34,1);display:flex;position:absolute;left:50%;transform:translate(-50%)}.m-nav-thumb{background:var(--ink);opacity:0;pointer-events:none;width:0;height:1.5px;transition:transform .5s cubic-bezier(.34,1.15,.34,1),width .5s cubic-bezier(.34,1.15,.34,1),opacity .3s;position:absolute;bottom:0;left:0}.m-nav a{font-family:var(--mono);letter-spacing:.08em;color:var(--ink);opacity:.42;z-index:1;padding:10px;font-size:10.5px;font-weight:500;transition:opacity .35s,transform .4s cubic-bezier(.34,1.2,.34,1);position:relative}.m-nav a:active{transform:scale(.93)}.m-nav a[aria-current=true]{opacity:1}.m-nav .m-nav-contact{opacity:1;border-bottom:2px solid var(--ink);margin-bottom:-7px;margin-left:8px;padding:10px 4px 7px;transition:opacity .3s,transform .4s cubic-bezier(.34,1.2,.34,1)}
