:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-vast-ink:#1a1a1a;--color-lumen-cream:#ffffeb;--color-lavender-whisper:#f0d7ff;--color-forest-ink:#034f46;--color-ember-glow:#ffa946;--color-lumen-stone:#e4e4d0;--color-fog:#8a8a80;--color-charcoal:#222;--color-pure-white:#fff;--font-eb-garamond:"EB Garamond", Georgia, serif;--font-figtree:"Figtree", ui-sans-serif, system-ui, sans-serif;--page-max-width:1200px;--section-gap:80px;--card-padding:32px;--element-gap:16px;--radius-tags:9999px;--radius-buttons:12px;--radius-cards:32px;--radius-sections:clamp(40px, 6vw, 80px)}
*{box-sizing:border-box}html{scrollbar-gutter:stable}body{min-height:100svh;color:var(--color-vast-ink);background:var(--color-lumen-cream);font-family:var(--font-figtree);flex-direction:column;margin:0;font-size:16px;line-height:1.3;display:flex}.page{flex:1;align-content:start;padding:32px 24px 80px;display:grid}.container{width:100%;max-width:var(--page-max-width);margin-inline:auto}.hero{border:2px solid var(--color-vast-ink);border-radius:var(--radius-sections);background:var(--color-lumen-cream);align-content:center;min-height:560px;padding:clamp(32px,6vw,80px)}.hero h1{text-align:center;margin-bottom:32px;font-size:clamp(48px,10vw,120px);line-height:.95}.hero h1 span{color:var(--color-fog)}.hero h1 em,.about-title em{-webkit-text-decoration:underline wavy var(--color-lavender-whisper) 3px;text-decoration:underline wavy var(--color-lavender-whisper) 3px;text-underline-offset:8px;text-decoration-skip-ink:none;font-style:normal}.hero p{max-width:45ch;margin-inline:auto;font-size:20px}h1,h2,h3{margin:0 0 var(--element-gap);font-family:var(--font-eb-garamond);letter-spacing:-.03em;font-size:clamp(32px,5vw,64px);font-weight:400;line-height:.95}p{color:var(--color-charcoal);margin:0}.button{border:2px solid var(--color-vast-ink);border-radius:var(--radius-buttons);color:var(--color-vast-ink);background:var(--color-lavender-whisper);font:inherit;cursor:pointer;padding:16px 24px;font-size:16px;font-weight:500}.button:hover{background:var(--color-lumen-cream)}.button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid var(--color-ember-glow);outline-offset:4px}.badge{border:2px solid var(--color-forest-ink);border-radius:var(--radius-tags);color:var(--color-lumen-cream);background:var(--color-forest-ink);letter-spacing:.025em;padding:8px 16px;font-size:14px;font-weight:500;display:inline-block}.accordion{border-bottom:2px solid var(--color-vast-ink);padding-block:16px}.accordion summary{cursor:pointer;font-size:20px;font-weight:500}.accordion-content{margin-top:var(--element-gap);color:var(--color-charcoal)}.navbar{width:calc(100% - 48px);max-width:var(--page-max-width);background:var(--color-lumen-cream);border:2px solid var(--color-vast-ink);border-radius:var(--radius-tags);margin:24px auto 0;padding:8px 16px}.navbar-links{isolation:isolate;flex-wrap:wrap;justify-content:space-evenly;gap:8px;margin:0;padding:0;list-style:none;display:flex;position:relative}.navbar-links[data-highlight]:before{content:"";box-sizing:border-box;z-index:-1;width:var(--nav-width);height:var(--nav-height);transform:translate(var(--nav-x), var(--nav-y));border:2px solid var(--color-vast-ink);border-radius:var(--radius-buttons);background:var(--color-lavender-whisper);pointer-events:none;position:absolute;top:0;left:0}@media (prefers-reduced-motion:no-preference){.navbar-links[data-highlight]:before{transition:transform .35s cubic-bezier(.22,1,.36,1),width .35s cubic-bezier(.22,1,.36,1),height .35s cubic-bezier(.22,1,.36,1)}.page-transition{animation:.2s ease-out page-arrive}}@keyframes page-arrive{0%{opacity:.8}to{opacity:1}}.navbar-links a{border-radius:var(--radius-buttons);color:var(--color-vast-ink);border:2px solid #0000;padding:8px 12px;font-size:16px;font-weight:500;text-decoration:none;display:block}.navbar-links a:hover{background:var(--color-lumen-stone);border-color:var(--color-vast-ink)}.navbar-links a[aria-current=page]{background:var(--color-lavender-whisper);border-color:var(--color-vast-ink)}.navbar-links[data-highlight] a[aria-current=page]{background:0 0;border-color:#0000}.footer{color:var(--color-lumen-cream);background:var(--color-vast-ink);padding:48px 24px}.footer p,.footer a{color:inherit}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.footer-contact{text-align:right;grid-template-columns:min-content;margin-left:auto;display:grid}.footer-contact h2{white-space:nowrap;margin-bottom:16px;font-size:32px}.footer-socials{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.footer-socials a{border-radius:var(--radius-buttons);border:2px solid;place-items:center;height:40px;display:grid}.footer-socials svg{width:20px;height:20px}.footer-socials a:hover{color:var(--color-vast-ink);border-color:var(--color-lavender-whisper);background:var(--color-lavender-whisper)}.section{padding-block:var(--section-gap)}.page-intro{padding:clamp(24px,4vw,48px) 0}.page-intro>p{max-width:60ch;font-size:20px}.text-link{color:var(--color-vast-ink);text-underline-offset:4px;margin-top:32px;display:inline-block}.contact-page{gap:32px;padding-block:clamp(48px,8vw,96px);display:grid}.contact-page h1{margin-bottom:24px;font-size:clamp(48px,7vw,88px)}.contact-page header p{max-width:48ch;font-size:20px;line-height:1.5}.contact-page .button{text-decoration:none;display:inline-block}.contact-page :focus-visible{outline-color:var(--color-forest-ink)}.contact-address{overflow-wrap:anywhere;margin-top:16px}.contact-socials{flex-wrap:wrap;gap:16px;display:flex}.contact-socials .button{background:var(--color-lumen-cream)}.contact-socials .button:hover{background:var(--color-lumen-stone)}.contact-page>.contact-booking{font-size:16px}.contact-booking a{color:inherit;text-underline-offset:4px}.about-page{gap:64px;display:grid}.about-hero,.about-interest-grid,.about-fintech,.about-leadership{align-items:start;gap:32px;display:grid}.about-hero{align-items:center}.about-copy{justify-items:start;gap:16px;min-width:0;display:grid}.about-page p{max-width:55ch;color:inherit;font-size:20px;line-height:1.5}.about-page .about-intro{font-size:24px}.about-page h2{font-size:clamp(40px,5vw,64px)}.about-interests>h2{margin-bottom:32px}.about-title{margin:0 0 16px;font-size:clamp(64px,8vw,96px)}.about-interest{border:2px solid var(--color-vast-ink);border-radius:var(--radius-cards);background:var(--color-lumen-cream);height:100%;padding:32px}.about-interest h3{font-size:40px}.about-interest-finance{background:var(--color-lavender-whisper)}.about-fintech{color:var(--color-lumen-cream);background:var(--color-vast-ink);border-radius:40px;padding:clamp(24px,5vw,64px)}.about-fintech .button{margin-top:8px;text-decoration:none;display:inline-block}.about-roles{color:var(--color-forest-ink);flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;font-size:14px;font-weight:500;list-style:none;display:flex}.about-photo{border:2px solid var(--color-vast-ink);border-radius:var(--radius-cards);width:100%;max-width:400px;overflow:hidden}.about-photo img{width:100%;height:auto;display:block}.resume-header{text-align:center;margin-bottom:32px}.resume-header h1{text-wrap:balance;font-size:clamp(48px,7vw,88px);line-height:1.05}.resume-header h1 em{-webkit-text-decoration:underline wavy var(--color-lavender-whisper) 3px;text-decoration:underline wavy var(--color-lavender-whisper) 3px;text-underline-offset:8px;font-style:normal}.resume-header>p{text-align:center;max-width:45ch;margin:24px auto 32px;font-size:20px}.resume-eyebrow{letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px;font-size:14px;font-weight:600}.resume-page .button{text-decoration:none;display:inline-block}.resume-page :focus-visible{outline-color:var(--color-forest-ink)}.resume-open{background:var(--color-lumen-cream)}.resume-open:hover{background:var(--color-lumen-stone)}.resume-stage{position:relative}.resume-overview{--resume-overview-transform:none;transform:var(--resume-overview-transform);border:2px solid var(--color-vast-ink);border-radius:var(--radius-cards);background:var(--color-lumen-cream);width:100%;max-width:584px;margin-inline:auto;padding:24px}.resume-overview h2{margin-bottom:8px;font-size:32px;line-height:1}.resume-overview-caption{margin-bottom:16px;font-size:14px}.resume-overview-group+.resume-overview-group{margin-top:12px}.resume-overview-group h3{font-family:var(--font-figtree);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:600;line-height:1.3}.resume-overview ul{margin:0;padding:0;list-style:none}.resume-overview a{border-radius:var(--radius-buttons);color:var(--color-vast-ink);border:2px solid #0000;padding:6px 10px;text-decoration:none;display:block}.resume-overview a:hover{border-color:var(--color-vast-ink);background:var(--color-lumen-stone)}.resume-overview a[aria-current=location]{border-color:var(--color-vast-ink);background:var(--color-lavender-whisper);border-left-width:6px;padding-left:6px}.resume-entry-title,.resume-entry-summary{display:block}.resume-entry-title{font-size:16px;font-weight:500}.resume-entry-summary{font-size:13px}.resume-details{gap:64px;min-width:0;margin-top:64px;display:grid}.resume-stage:not(.is-enhanced) .resume-details{max-width:760px;margin-inline:auto}.resume-detail-section>h2{margin-bottom:24px;font-size:40px}.resume-detail{padding:var(--card-padding);border:2px solid var(--color-vast-ink);border-radius:var(--radius-cards);overflow-wrap:anywhere;scroll-margin-top:32px}.resume-detail+.resume-detail{margin-top:32px}.resume-detail-section:nth-child(2n) .resume-detail{color:var(--color-lumen-cream);background:var(--color-vast-ink);border-radius:40px}.resume-detail-section:nth-child(2n) :focus-visible{outline-color:var(--color-lavender-whisper)}.resume-detail p,.resume-detail .text-link{color:inherit}.resume-detail h3{font-size:clamp(32px,3vw,40px);line-height:1.05}.resume-dates{margin-bottom:16px;font-size:14px;font-weight:500}.resume-organization{font-size:18px}.resume-location{margin-top:8px;font-size:14px}.resume-detail>ul:not(.resume-technologies){gap:16px;margin:24px 0 0;padding-left:20px;line-height:1.5;display:grid}.resume-context{margin-top:24px;line-height:1.5}.resume-technologies{flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex}.resume-download{margin-top:var(--section-gap);border:2px solid var(--color-vast-ink);border-radius:var(--radius-sections);background:var(--color-lavender-whisper);overflow-wrap:anywhere;padding:clamp(24px,4vw,48px)}.resume-download .button{margin-top:24px}.resume-detail[data-project-source]{visibility:hidden}body:has(.project-focus) .resume-stage .resume-overview{transition:none}body:has(.project-focus[data-phase=restoring-resume]) .resume-detail[data-project-source]{visibility:visible}.project-focus[data-phase=restoring-resume] .project-focus-anchor{visibility:hidden}.project-focus-blur{z-index:19;pointer-events:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);clip-path:inset(0 0 100%);visibility:hidden;position:fixed;inset:0}.project-focus{z-index:20;width:calc(100% - 48px);max-width:var(--page-max-width);color:var(--color-vast-ink);margin-inline:auto;position:absolute;inset-inline:0}.project-focus-controls{border-radius:var(--radius-cards);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;padding:16px;display:flex}.project-focus-controls .text-link{margin:0}.project-focus-status{font-size:14px}.project-focus-grid{align-items:start;gap:32px;display:grid}.project-focus-anchor,.project-focus-details{min-width:0}.project-focus-details{padding:var(--card-padding);border:2px solid var(--color-vast-ink);border-radius:var(--radius-cards);background:var(--color-lumen-cream);clip-path:inset(0 0 100%)}.project-narrative{overflow-wrap:anywhere;gap:48px;max-width:65ch;margin-top:32px;display:grid}.project-narrative h2{font-size:clamp(32px,3vw,40px);line-height:1.05}.project-narrative p{font-size:20px;line-height:1.5}.project-narrative p+p{margin-top:16px}.project-focus-details .project-narrative{margin:0}@media (min-width:1024px){.project-focus-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.project-focus-anchor[data-sticky]{position:sticky;top:24px}.resume-overview{width:calc(50% - 16px)}.resume-stage.is-enhanced{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px;display:grid}.is-enhanced .resume-overview{--resume-overview-transform:translateX(calc(50% + 16px));width:100%;position:sticky;top:24px}.is-enhanced.is-exploring .resume-overview{--resume-overview-transform:translateX(0)}.is-enhanced .resume-details{margin-top:70svh}}@media (prefers-reduced-motion:no-preference){:is(html:has(.resume-page),html:has(.welcome-frame)){scroll-behavior:smooth}.is-enhanced .resume-overview{transition:transform .4s,opacity .4s}}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:32px;margin:48px 0 0;padding:0;list-style:none;display:grid}.project-card{height:100%;padding:var(--card-padding);border:2px solid var(--color-vast-ink);border-radius:var(--radius-cards);color:var(--color-vast-ink);text-decoration:none;display:block}.project-card-art{border-radius:20px;margin-bottom:24px;overflow:hidden}.project-card-art svg{width:100%;height:auto;display:block}.fire-card-art{aspect-ratio:20/13;background:var(--color-lumen-stone);position:relative}.fire-card-art img{width:auto;height:92%;display:block;position:absolute;top:4%;left:50%;transform:translate(-50%)}.project-card h2{font-size:32px;line-height:1.1}.project-card:hover{background:var(--color-lavender-whisper)}@media (min-width:768px){.navbar-links li{text-align:center;flex:1}.about-hero{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:48px}.about-interest-grid,.about-fintech,.about-leadership{grid-template-columns:repeat(2,minmax(0,1fr))}.about-photo{max-width:none}}.welcome-frame{isolation:isolate;padding:2px;position:relative}.welcome-frame:before{content:"";box-sizing:border-box;z-index:-1;border:2px solid var(--color-vast-ink);border-radius:var(--welcome-radius,40px);transform:scaleX(var(--welcome-scale,1));pointer-events:none;position:absolute;inset:0}.home-intro{background:0 0;border:0;padding-bottom:64px}.home-intro .home-eyebrow{text-align:center;margin-bottom:32px;font-size:14px}.home-eyebrow{letter-spacing:.06em;text-transform:uppercase;font-size:14px;font-weight:600}.home-story-links{flex-wrap:wrap;justify-content:center;gap:16px 32px;max-width:45ch;margin:32px auto 0;font-size:20px;display:flex}.home-story-links a{color:var(--color-vast-ink);text-underline-offset:6px;padding-block:8px}.home-story{border-radius:var(--radius-sections);margin:0 32px;padding:clamp(24px,5vw,64px);scroll-margin-top:24px;position:relative}.home-story+.home-story{margin-top:var(--section-gap);margin-bottom:24px}.home-story-dark{color:var(--color-lumen-cream);background:var(--color-vast-ink)}.home-story p{color:inherit;line-height:1.5}.home-story-dark :focus-visible{outline-color:var(--color-lavender-whisper)}.home-story-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:48px;display:grid}.home-story-copy{justify-items:start;gap:24px;min-width:0;max-width:55ch;display:grid}.home-story h2{margin:0;font-size:clamp(40px,4.5vw,64px);line-height:1.05}.home-story h3{font-family:var(--font-figtree);letter-spacing:normal;margin:0 0 12px;font-size:16px;font-weight:600;line-height:1.3}.home-story-lead{font-size:24px}.home-technologies{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.home-story-cta{line-height:1.5;text-decoration:none;display:inline-block}.riven-process{align-content:center;align-self:stretch;gap:32px;min-width:0;display:grid}.riven-lines{gap:32px;margin:0;padding:0 24px 0 64px;list-style:none;display:grid}.riven-lines li{min-width:0;position:relative}.riven-line-marker{background:var(--color-fog);transform-origin:0;width:40px;height:2px;position:absolute;top:14px;left:-64px}.riven-lines li:not(:last-child):after{content:"";background:var(--color-fog);width:16px;height:1px;position:absolute;top:calc(100% + 16px);left:-64px}.riven-line-copy{color:var(--color-lumen-cream);align-items:baseline;gap:12px;display:flex}.riven-line-number{color:var(--color-lumen-stone);flex:0 0 16px;font-size:12px}.riven-line-title{font-size:20px}.riven-line-description{margin-top:8px;font-size:14px}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.riven-line-copy{color:color-mix(in srgb, var(--color-lavender-whisper) calc(var(--line-proximity,0) * 100%), var(--color-lumen-cream));transform:translateX(calc(var(--line-proximity,0) * 16px));transition:transform .16s ease-out,color .16s ease-out}.riven-line-marker{background:color-mix(in srgb, var(--color-lavender-whisper) calc(var(--line-proximity,0) * 100%), var(--color-fog));transform:scaleX(calc(.7 + var(--line-proximity,0) * .5));transition:transform .16s ease-out,background-color .16s ease-out}}.home-photo-card{border:2px solid var(--color-vast-ink);color:var(--color-lumen-cream);background:var(--color-vast-ink);border-radius:40px;margin:0;overflow:hidden}.home-photo-card img{width:100%;height:auto;display:block}@media (min-width:1024px){.home-story-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:640px){.home-intro{padding-inline:24px}.home-story{margin-inline:8px}.home-story+.home-story{margin-top:48px;margin-bottom:8px}.navbar{border-radius:var(--radius-cards)}.hero{min-height:480px}}.project-split{align-items:start;gap:32px;margin-top:32px;display:grid}.project-split .project-narrative{margin-top:0}.radar-visual{max-width:360px;color:var(--color-lumen-cream);background:var(--color-vast-ink);border-radius:40px;margin:0;overflow:hidden}.radar-visual-art{position:relative;overflow:hidden}.radar-visual-art svg{width:100%;height:auto;display:block}.radar-visual-arc{fill:none;stroke:var(--color-fog);stroke-opacity:.3;stroke-width:1.5px}.radar-visual-heat{fill:var(--color-lavender-whisper)}.radar-visual-bone{stroke:var(--color-lumen-cream);stroke-width:2.5px;stroke-linecap:round}.radar-visual-joint{fill:var(--color-lavender-whisper);stroke:var(--color-vast-ink);stroke-width:1.5px}.radar-visual-sensor{fill:var(--color-forest-ink);stroke:var(--color-lumen-cream);stroke-width:1.5px}.radar-visual-pulse{aspect-ratio:1;border:1px solid var(--color-lavender-whisper);opacity:0;pointer-events:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(.4)}.radar-visual-metric{color:var(--color-lumen-cream);gap:4px;padding:0 24px 24px;display:grid}.radar-visual-metric span:first-child{font-family:var(--font-eb-garamond);font-size:48px;line-height:.95}.radar-visual-metric span:last-child{color:var(--color-fog);font-size:14px;line-height:1.3}@media (min-width:1024px){.project-split{grid-template-columns:minmax(240px,1fr) minmax(0,3fr);gap:48px}}@media (prefers-reduced-motion:no-preference){.radar-visual-pulse{animation:1.8s cubic-bezier(.22,1,.36,1) 2 radar-visual-sweep}}@media (prefers-reduced-motion:reduce){.radar-visual-pulse{animation:1.8s ease-out 2 radar-visual-glow;transform:translate(-50%,-50%)scale(2.5)}}@keyframes radar-visual-sweep{0%{opacity:.7;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(5)}}@keyframes radar-visual-glow{0%{opacity:.5}to{opacity:0}}.fire-visual{border:2px solid var(--color-vast-ink);border-radius:var(--radius-cards);max-width:360px;margin:0;padding:24px}.fire-visual-states{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin:0;padding:0;list-style:none;display:grid}.fire-visual-states img{width:100%;height:auto;display:block}.fire-visual-name{font-family:var(--font-eb-garamond);margin-top:4px;font-size:20px;line-height:1.1}.fire-visual-note{color:var(--color-fog);margin-top:2px;font-size:13px;line-height:1.3}.fire-visual figcaption{color:var(--color-fog);margin-top:16px;font-size:14px}.riven-estimate-visual{background:var(--color-vast-ink);border-radius:40px;max-width:360px;margin:0;padding:16px}.riven-estimate-shot{border-radius:24px;position:relative;overflow:hidden}.riven-estimate-shot img{width:100%;height:auto;display:block}.riven-estimate-marker{border:2px solid var(--color-vast-ink);border-radius:var(--radius-tags);text-align:center;width:24px;height:24px;color:var(--color-vast-ink);background:var(--color-lavender-whisper);outline:2px solid var(--color-lavender-whisper);font-size:12px;font-weight:700;line-height:20px;position:absolute;left:93%;transform:translate(-50%,-50%)}.riven-estimate-keys{counter-reset:riven-key;gap:20px;margin:24px 0 0;padding:0;list-style:none;display:grid}.riven-estimate-keys li{counter-increment:riven-key;padding-left:46px;font-size:18px;line-height:1.5;position:relative}.riven-estimate-keys li:before{content:counter(riven-key);border:2px solid var(--color-vast-ink);border-radius:var(--radius-tags);text-align:center;background:var(--color-lavender-whisper);width:30px;height:30px;font-size:14px;font-weight:700;line-height:26px;position:absolute;top:0;left:0}.riven-estimate-keys strong{font-weight:600;display:block}
