.dark-mode{--bg:#1c1917;--panel:#262220;--panel-2:#322c29;--border:#463e38;--text:#f5ebe0;--text-muted:#bfb0a4;--accent:#d5bdaf;--accent-hover:#e3d5ca;--on-accent:#1c1917;--ghost:#605348;--accent-2:#b9c2b4;--accent-2-soft:#262b26;--card:#2a2422}.light-mode{--bg:#f5ebe0;--panel:#e3d5ca;--panel-2:#d6ccc2;--border:#d5bdaf;--text:#332c26;--text-muted:#5c5148;--accent:#6e5140;--accent-hover:#533c2f;--on-accent:#f5ebe0;--ghost:#c9b49e;--accent-2:#4e5349;--accent-2-soft:#e2e4de;--card:#e3d5ca}:root{--fs-display:clamp(2.6rem,11vw,9rem);--fs-h2:clamp(2rem,5vw,3.5rem);--fs-body:1.0625rem;--font:"Fraunces",Georgia,"Times New Roman",serif;--radius-lg:24px;--radius-md:16px;--radius-sm:10px;--radius-pill:999px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text);font-family:Fraunces,Georgia,Times New Roman,serif;font-family:var(--font);font-optical-sizing:auto;font-size:1.0625rem!important;font-size:var(--fs-body)!important;font-variation-settings:"opsz" 14;line-height:1.65;margin:0}.blog-post-body code,.blog-post-body pre{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace!important;font-size:.95rem!important}.main-container{background-color:var(--bg);position:relative;transition:background-color .4s ease}a{color:var(--text);text-decoration:none}a:hover{color:var(--accent);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}a,button,div,h1,h2,h3,h4,h5,input,label,li,p,span,textarea{color:var(--text)}a,button,div,h1,h2,h3,h4,h5,input,label,li,p,span,textarea{font-family:Fraunces,Georgia,Times New Roman,serif;font-family:var(--font)}h1,h2,h3{font-variation-settings:"opsz" 72;font-weight:600;letter-spacing:-.015em}.display-line{font-family:Fraunces,Georgia,Times New Roman,serif;font-family:var(--font);font-size:clamp(2.6rem,11vw,9rem);font-size:var(--fs-display);font-variation-settings:"opsz" 144;font-weight:800;letter-spacing:-.035em;line-height:.86;margin:0;text-transform:uppercase}.display-line.display-ghost{color:var(--ghost)}.nav-pill{background:#0000!important;background-image:none!important;box-shadow:none!important;padding-top:22px;transition:padding-top .3s ease}.nav-pill.scrolled{padding-top:12px}.nav-pill .navigation-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--panel);border:1px solid var(--border);border-radius:999px;border-radius:var(--radius-pill);box-shadow:0 8px 26px #00000038;gap:4px;margin:0 auto;max-width:calc(100% - 32px);min-height:0!important;padding:7px 12px!important;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.nav-pill .navigation-bar .nav-link{border-radius:999px;border-radius:var(--radius-pill);color:var(--text-muted);padding:9px;transition:color .2s ease,background-color .2s ease}.nav-pill .navigation-bar .nav-link svg{font-size:1.3rem}.nav-pill .navigation-bar .nav-link:focus-visible,.nav-pill .navigation-bar .nav-link:hover{background-color:var(--panel-2);color:var(--accent)}.nav-pill .navigation-bar svg{color:inherit;cursor:pointer}.MuiTooltip-tooltip{background-color:var(--panel-2)!important;border:1px solid var(--border);border-radius:10px!important;border-radius:var(--radius-sm)!important;color:var(--text)!important;font-family:Fraunces,Georgia,Times New Roman,serif!important;font-family:var(--font)!important;font-size:.82rem!important;letter-spacing:.04em;padding:6px 10px!important}.MuiTooltip-arrow{color:var(--panel-2)!important}.nav-pill .mode-toggle{color:var(--text-muted)!important;margin-left:2px;transition:color .2s ease,background-color .2s ease}.nav-pill .mode-toggle:hover{background-color:var(--panel-2)!important;color:var(--accent)!important}.nav-drawer .MuiDrawer-paper{background-color:var(--panel);background-image:none;border-right:1px solid var(--border)}.navigation-bar-responsive{background-color:var(--panel);height:100%}.navigation-bar-responsive p,.navigation-bar-responsive span{color:var(--text);font-family:Fraunces,Georgia,Times New Roman,serif;font-family:var(--font)}.navigation-bar-responsive .MuiDivider-root{border-color:var(--border)}.page-layout{grid-gap:56px;align-items:start;display:grid;gap:56px;grid-template-columns:minmax(280px,340px) 1fr;padding:104px 6% 0 5%;position:relative;z-index:1}.profile-rail{position:-webkit-sticky;position:sticky;top:104px}.page-content{min-width:0}.page-content>*+*{margin-top:104px}.page-content{padding-bottom:220px}#blog,#contact,#expertise,#history,#projects{scroll-margin-top:132px}.section-heading{display:flex;flex-direction:column;margin:0 0 34px}.section-heading .display-line{font-size:clamp(2rem,5vw,3.5rem);font-size:var(--fs-h2);font-variation-settings:"opsz" 96;line-height:.92}@media screen and (max-width:1100px){.page-layout{gap:40px;grid-template-columns:1fr;padding:0 6%}.profile-rail{max-width:360px;padding-top:130px;position:static}.page-content{padding-top:0}}@media screen and (max-width:768px){.page-layout{padding:0 5%}.profile-rail{max-width:100%}}.container{position:relative;width:100%;z-index:1}.header-image,.header-image img{height:450px;width:100%}.header-image img{object-fit:cover}.mobile-menu-top{align-items:center;font-weight:700;gap:5px}.items-container,.mobile-menu-top{display:flex;justify-content:center}.items-container{flex-direction:column;padding:0;position:relative;text-align:left;z-index:1}.light-mode{background-color:var(--bg)}.light-mode .resume-btn{border-color:var(--text)!important;color:var(--text)!important}.light-mode .resume-btn:hover{background-color:#0000000f!important}.MuiOutlinedInput-root{background-color:var(--panel)!important;border-radius:16px!important;border-radius:var(--radius-md)!important}.MuiInputBase-input,.MuiInputBase-root{color:var(--text)!important}.MuiFormHelperText-root,.MuiFormLabel-root{color:var(--text-muted)!important}.MuiOutlinedInput-notchedOutline{border-color:var(--border)!important}.MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:var(--text-muted)!important}.MuiInput-underline:after,.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--accent)!important}.MuiFormLabel-root.Mui-focused{color:var(--accent)!important}@media screen and (max-width:768px){.items-container{padding:0}}.grain-overlay{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");inset:0;opacity:.035;pointer-events:none;position:fixed;z-index:9999}.scroll-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}.scroll-reveal h1{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);opacity:0;transform:translateY(38%)}.scroll-reveal.is-visible h1{animation:mask-up .9s cubic-bezier(.22,1,.36,1) .12s forwards}@keyframes mask-up{0%{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);opacity:0;transform:translateY(38%)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);opacity:1;transform:translateY(0)}}.scroll-reveal .section-rows .section-row,.scroll-reveal .skills-grid .skill{opacity:0}.scroll-reveal.is-visible .section-rows .section-row,.scroll-reveal.is-visible .skills-grid .skill{animation:card-rise .72s cubic-bezier(.22,1,.36,1) both}.scroll-reveal.is-visible .section-rows .section-row:first-child,.scroll-reveal.is-visible .skills-grid .skill:first-child{animation-delay:.16s}.scroll-reveal.is-visible .section-rows .section-row:nth-child(2),.scroll-reveal.is-visible .skills-grid .skill:nth-child(2){animation-delay:.27s}.scroll-reveal.is-visible .section-rows .section-row:nth-child(3),.scroll-reveal.is-visible .skills-grid .skill:nth-child(3){animation-delay:.38s}.scroll-reveal.is-visible .section-rows .section-row:nth-child(4),.scroll-reveal.is-visible .skills-grid .skill:nth-child(4){animation-delay:.49s}.scroll-reveal.is-visible .section-rows .section-row:nth-child(5),.scroll-reveal.is-visible .skills-grid .skill:nth-child(5){animation-delay:.6s}.scroll-reveal.is-visible .section-rows .section-row:nth-child(6),.scroll-reveal.is-visible .skills-grid .skill:nth-child(6){animation-delay:.71s}@keyframes card-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.about-section .content .bio a:after,.contact_wrapper a:after{background:var(--accent);bottom:4px;bottom:-2px;content:"";height:1.5px;left:10px;left:0;position:absolute;right:10px;right:0;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1)}.about-section .content .bio a:hover:after,.contact_wrapper a:hover:after{transform:scaleX(1)}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.about-section .content .display-line{animation:mask-up .9s cubic-bezier(.22,1,.36,1) both;display:block}.about-section .content .display-line:first-child{animation-delay:.16s}.about-section .content .display-line:nth-child(2){animation-delay:.3s}.profile-card .social_icons a{animation:hero-fade-up .62s cubic-bezier(.22,1,.36,1) both;opacity:0}.profile-card .social_icons a:first-child{animation-delay:.56s}.profile-card .social_icons a:nth-child(2){animation-delay:.65s}.profile-card .social_icons a:nth-child(3){animation-delay:.74s}.profile-card .profile-name{animation:hero-fade-up .62s cubic-bezier(.22,1,.36,1) .3s both}.profile-card .profile-role{animation:hero-fade-up .62s cubic-bezier(.22,1,.36,1) .42s both}.profile-card .profile-blurb{animation:hero-fade-up .62s cubic-bezier(.22,1,.36,1) .5s both}.about-section .content p.bio{animation:hero-fade-up .72s cubic-bezier(.22,1,.36,1) .7s both}@keyframes tw-blink{0%,to{opacity:1}50%{opacity:0}}.typewriter-cursor{animation:tw-blink .8s step-end infinite;background-color:var(--accent);display:inline-block;height:.95em;margin-left:3px;transition:opacity .4s ease;vertical-align:-.14em;width:2px}.typewriter-cursor.cursor-done{animation:none;opacity:0}@media(prefers-reduced-motion:reduce){.about-section .content .display-line,.about-section .content p.bio,.profile-card .profile-blurb,.profile-card .profile-name,.profile-card .profile-role,.profile-card .social_icons a,.scroll-reveal,.scroll-reveal .section-rows .section-row,.scroll-reveal .skills-grid .skill,.scroll-reveal h1{animation:none!important;-webkit-clip-path:none!important;clip-path:none!important;opacity:1!important;transform:none!important}.typewriter-cursor{animation:none}}footer{padding-bottom:50px;padding-top:50px;text-align:center}footer svg{height:1.1em!important;margin-right:10px;width:1.1em!important}footer p{font-size:.8em}.profile-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 24px 28px;text-align:center}.profile-card .image-wrapper{background-color:var(--panel-2);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:var(--radius-md);margin-bottom:20px;overflow:hidden;padding-top:125%;position:relative;width:100%}.profile-card .image-wrapper img{display:block;height:100%;left:0;object-fit:cover;opacity:1;position:absolute;top:0;width:100%}.profile-card .profile-name{font-size:1.7rem;font-variation-settings:"opsz" 72;font-weight:700;line-height:1.1;margin:0 0 8px}.profile-card .profile-role{color:var(--accent);font-size:.95rem;letter-spacing:.04em;margin:0 0 14px}.profile-card .profile-blurb{color:var(--text-muted);font-size:.92rem;line-height:1.55;margin:0 0 20px}.profile-card .social_icons{display:flex;gap:18px;justify-content:center}.profile-card .social_icons svg{font-size:1.45em}.profile-card .social_icons a{color:var(--text);display:inline-flex;transition:color .25s ease,transform .25s ease}.profile-card .social_icons a:hover{color:var(--accent);transform:translateY(-2px)}.about-section{display:flex;flex-direction:column;justify-content:flex-start;min-height:calc(100vh - 104px);width:100%}.about-section .content{text-align:left}.about-section .content .display-name{display:flex;flex-direction:column;margin:0}.about-section .content .bio{color:var(--text-muted);font-size:1.08rem;line-height:1.65;margin:30px 0 0;max-width:660px}@media screen and (max-width:1100px){.about-section{min-height:auto;padding-bottom:40px}}@media screen and (max-width:900px){.profile-card{grid-column-gap:20px;align-items:start;column-gap:20px;display:grid;grid-template-columns:132px 1fr;grid-template-rows:repeat(4,auto);padding:20px;text-align:left}.profile-card .image-wrapper{grid-row:1/-1;margin-bottom:0;padding-top:165px}.profile-card .profile-name{font-size:1.45rem;margin-bottom:6px}.profile-card .profile-role{font-size:.9rem;margin-bottom:10px}.profile-card .profile-blurb{font-size:.88rem;margin-bottom:14px}.profile-card .social_icons{gap:16px;justify-content:flex-start}.profile-card .social_icons svg{font-size:1.3em}.profile-card .profile-blurb,.profile-card .profile-name,.profile-card .profile-role,.profile-card .social_icons{grid-column:2}}@media screen and (max-width:560px){.profile-card{column-gap:16px;grid-template-columns:104px 1fr;grid-template-rows:repeat(3,auto);padding:16px}.profile-card .image-wrapper{padding-top:130px}.profile-card .profile-name{font-size:1.25rem}.profile-card .profile-blurb{display:none}}@media screen and (max-width:768px){.about-section .content .bio{font-size:1rem;margin-top:22px}}.skills-container{padding:0}.skill-rows,.skills-container{display:flex;flex-direction:column}.skill-rows{gap:8px}.skill-row{grid-gap:40px;align-items:start;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);display:grid;gap:40px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding:28px 26px;transition:border-color .3s ease}.skill-row:hover{border-color:var(--accent)}.skill-row-head{align-items:flex-start;display:flex;gap:18px}.skill-row-icon{align-items:center;background:var(--panel-2);border-radius:var(--radius-md);color:var(--accent);display:flex;flex:0 0 auto;font-size:1.15rem;height:46px;justify-content:center;width:46px}.skill-row h3{font-size:1.35rem;font-variation-settings:"opsz" 72;font-weight:600;line-height:1.2;margin:0 0 8px}.skill-row p{color:var(--text-muted);font-size:.98rem;line-height:1.55;margin:0}.skill-row-chips{align-content:flex-start;display:flex;flex-wrap:wrap;gap:8px}.skill-row .chip{background-color:var(--panel-2)!important;border:1px solid var(--border);border-radius:var(--radius-pill)!important;color:var(--text)!important;font-family:var(--font)!important;font-size:.85rem!important;height:30px!important;transition:border-color .2s ease,color .2s ease}.skill-row .chip:hover{border-color:var(--accent);color:var(--accent)!important}@media screen and (max-width:900px){.skill-row{gap:20px;grid-template-columns:1fr;padding:22px 18px}}.section-rows{display:flex;flex-direction:column;gap:8px;margin-top:8px}.section-row{align-items:flex-start;background:#0000;border:1px solid #0000;border-radius:var(--radius-lg);cursor:pointer;display:flex;font:inherit;gap:26px;padding:26px 62px 26px 26px;position:relative;text-align:left;transition:background-color .3s ease,border-color .3s ease;width:100%}.section-row:focus-visible,.section-row:hover{background:var(--panel);border-color:var(--border)}.section-row.is-static{background:var(--panel);border-color:var(--border);cursor:default}.history-icon{align-items:center;border-radius:var(--radius-md);color:var(--accent);display:flex;font-size:1.05rem;height:46px;justify-content:center;width:46px}.history-icon,.section-row-thumb{background:var(--panel-2);flex:0 0 auto}.section-row-thumb{border-radius:var(--radius-sm);overflow:hidden;padding-top:99px;position:relative;width:132px}.section-row-thumb img{display:block;height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .5s cubic-bezier(.22,1,.36,1);width:100%}.section-row:hover .section-row-thumb img{transform:scale(1.05)}.section-row-body{flex:1 1;min-width:0}.section-row-title{font-size:1.55rem;font-variation-settings:"opsz" 72;font-weight:600;line-height:1.18;margin:0}.section-row-subtitle{color:var(--accent);font-size:.98rem;margin:6px 0 0}.section-row-text{color:var(--text-muted);font-size:1rem;line-height:1.6;margin:12px 0 0}.section-row-meta{color:var(--text-muted);display:flex;font-size:.82rem;gap:18px;letter-spacing:.12em;margin:16px 0 0;text-transform:uppercase}.section-row-arrow{color:var(--accent);font-size:1.25rem!important;position:absolute;right:26px;top:28px;transition:transform .3s ease}.section-row:hover .section-row-arrow{transform:translate(4px,-4px)}.section-row-link{color:var(--text-muted);position:relative;transition:color .2s ease;z-index:2}.section-row-link:hover{color:var(--accent)}@media screen and (max-width:768px){.section-row{gap:16px;padding:20px 48px 20px 16px}.section-row.is-static{background:var(--panel);border-color:var(--border);cursor:default}.history-icon{align-items:center;background:var(--panel-2);border-radius:var(--radius-md);color:var(--accent);display:flex;flex:0 0 auto;font-size:1.05rem;height:46px;justify-content:center;width:46px}.section-row-thumb{width:88px}.section-row-title{font-size:1.25rem}.section-row-arrow{right:18px;top:22px}}.section-row.is-education{border-left:3px solid var(--accent-2)}.section-row.is-education .history-icon{background:var(--accent-2-soft);color:var(--accent-2)}.section-row.is-education .section-row-subtitle{color:var(--accent-2)}.section-row.is-experience{border-left:3px solid var(--accent)}.section-row.is-experience .history-icon{background:var(--panel-2);color:var(--accent)}.section-row.is-experience .section-row-subtitle{color:var(--accent)}#history .items-container{padding:0}@media screen and (max-width:768px){#history .items-container{padding:0}}.projects-container{display:flex;flex-direction:column;padding:0}@media screen and (max-width:768px){.projects-container{padding:0}}.contact_wrapper svg{font-size:1em;margin-right:5px;vertical-align:middle}.contact-form{padding-top:20px}.contact-form .MuiButton-root{background-color:var(--accent)!important;box-shadow:none!important;color:var(--on-accent)!important;float:right;padding:8px 22px!important;transition:background-color .3s ease!important}.contact-form .MuiButton-root:hover{background-color:var(--accent-hover)!important}label{font-family:var(--font);font-size:1.2rem}.form-flex{display:flex;gap:15px;padding-bottom:15px}.form-flex .MuiFormControl-root{width:100%}.body-form,form{width:100%!important}.body-form{margin-bottom:15px!important}.blog-container{display:flex;flex-direction:column;padding:0;text-align:left}.blog-empty{color:var(--text-muted);max-width:640px}.blog-drawer .MuiDrawer-paper{background-color:#1c1917;background-color:var(--bg,#1c1917);background-image:none;border-left:1px solid var(--border);color:#f5ebe0;color:var(--text,#f5ebe0);max-width:780px;transition:width .35s cubic-bezier(.22,1,.36,1),max-width .35s cubic-bezier(.22,1,.36,1);width:52vw}.blog-drawer.is-full .MuiDrawer-paper{border-left:none;max-width:none;width:100vw}.blog-drawer-inner{padding:56px 56px 80px;position:relative}.blog-drawer.is-full .blog-post{margin:0 auto;max-width:760px}.blog-drawer-actions{display:flex;gap:8px;position:absolute;right:18px;top:18px;z-index:3}.blog-drawer-actions .MuiIconButton-root{background:var(--panel);border:1px solid var(--border);color:var(--text);transition:border-color .2s ease,color .2s ease}.blog-drawer-actions .MuiIconButton-root:hover{border-color:var(--accent);color:var(--accent)}.blog-drawer-actions svg{font-size:1.15rem}.blog-drawer-cover{border-radius:var(--radius-md);margin:0 0 30px;overflow:hidden}.blog-drawer-cover img{display:block;width:100%}.blog-drawer-inner h2{font-size:clamp(2rem,3.4vw,2.9rem);font-variation-settings:"opsz" 96;line-height:1.08;margin:0 0 26px}.blog-post-body{font-size:1.05rem;line-height:1.75}.blog-post-body p{margin:0 0 1.15em}.blog-post-body h2,.blog-post-body h3{font-size:1.5rem;margin:1.8em 0 .6em}.blog-post-body a{border-bottom:1px solid var(--accent);color:var(--accent)}.blog-post-body ol,.blog-post-body ul{margin:0 0 1.15em;padding-left:1.3em}.blog-post-body li{margin-bottom:.45em}.blog-post-body blockquote{border-left:2px solid var(--accent);color:var(--text-muted);margin:1.5em 0;padding-left:1.2em}.blog-post-body pre{background:var(--panel);border:1px solid var(--border);border-radius:6px;overflow-x:auto;padding:16px 18px}.blog-post-body code{background:var(--panel-2);border-radius:3px;padding:1px 5px}.blog-post-body pre code{background:none;padding:0}.blog-post-figure{margin:1.8em 0}.blog-post-figure img{border-radius:var(--radius-md);display:block;width:100%}.blog-post-figure figcaption{color:var(--text-muted);font-size:.9rem;margin-top:10px}@media screen and (max-width:900px){.blog-drawer .MuiDrawer-paper{max-width:none;width:100vw}.blog-drawer-inner{padding:56px 24px 64px}}@media screen and (max-width:768px){.blog-container{padding:0}}
/*# sourceMappingURL=main.376b6039.css.map*/