*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px;background:#faf8f4}body{background:#faf8f4;color:#17150f;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;line-height:1.75;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid #a8341f;outline-offset:3px}*{scrollbar-width:thin;scrollbar-color:#c9c2b1 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c9c2b1;border-radius:999px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#a8341f;background-clip:content-box}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.lb-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#06080ef0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;animation:lbIn .22s ease;color:#e8eaf0}@keyframes lbIn{0%{opacity:0}to{opacity:1}}.lb-bar{flex:0 0 auto;display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.lb-title{font-size:.9rem;font-weight:600;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-counter{margin-left:auto;font-size:.8rem;font-variant-numeric:tabular-nums;color:#e8eaf099}.lb-close{width:34px;height:34px;border:none;border-radius:8px;background:#ffffff1a;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.lb-close:hover{background:#dc2626}.lb-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding:20px 68px}.lb-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 30px 80px #0009;animation:lbZoom .28s cubic-bezier(.16,1,.3,1)}@keyframes lbZoom{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:none;border-radius:50%;background:#ffffff1f;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .2s ease}.lb-nav:hover{background:#ffffff3d;transform:translateY(-50%) scale(1.06)}.lb-prev{left:12px}.lb-next{right:12px}.lb-dots{flex:0 0 auto;display:flex;justify-content:center;gap:8px;padding:14px 0 20px}.lb-dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.lb-dot.is-active{background:#fff;transform:scale(1.35)}@media (max-width: 600px){.lb-body{padding:14px 10px}.lb-nav{width:38px;height:38px;font-size:1.4rem}.lb-prev{left:4px}.lb-next{right:4px}}.editorial{--paper: #faf8f4;--paper-2: #f2eee6;--ink: #17150f;--ink-2: #4a463c;--ink-3: #85806f;--line: #ddd7c9;--accent: #a8341f;--serif: "Fraunces", "Iowan Old Style", Georgia, serif;--sans: "Inter", system-ui, sans-serif;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.75;overflow-x:hidden}html,body{background:#faf8f4}.editorial *,.editorial *:before,.editorial *:after{box-sizing:border-box}.editorial ::selection{background:var(--accent);color:var(--paper)}.ed-in{width:min(1140px,100% - 48px);margin-inline:auto}.ed-section{padding:110px 0}.ed-tint{background:var(--paper-2);border-block:1px solid var(--line)}.editorial [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}.editorial [data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.editorial [data-reveal]{opacity:1;transform:none;transition:none}}.ed-masthead{position:sticky;top:0;z-index:800;background:#faf8f4e6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .35s ease}.ed-masthead.is-stuck{border-bottom-color:var(--line)}.ed-masthead-in{width:min(1140px,100% - 48px);margin-inline:auto;height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.ed-logo{font-family:var(--serif);font-size:1.12rem;font-weight:700;letter-spacing:-.015em;color:var(--ink);text-decoration:none;white-space:nowrap}.ed-nav{display:flex;gap:26px}.ed-nav a{position:relative;font-size:.775rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-decoration:none;transition:color .25s ease}.ed-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.ed-nav a:hover{color:var(--ink)}.ed-nav a:hover:after{transform:scaleX(1)}.ed-menu-btn{display:none;padding:8px 16px;font:inherit;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:none;border:1px solid var(--ink);border-radius:0;cursor:pointer}.ed-drawer{border-top:1px solid var(--line);background:var(--paper)}.ed-drawer a{display:flex;align-items:baseline;gap:16px;width:min(1140px,100% - 48px);margin-inline:auto;padding:16px 0;font-family:var(--serif);font-size:1.3rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.ed-drawer a span{font-family:var(--sans);font-size:.7rem;color:var(--accent)}.ed-hero{padding:92px 0 84px;border-bottom:1px solid var(--line)}.ed-hero-in{width:min(1140px,100% - 48px);margin-inline:auto}.ed-kicker{margin:0 0 18px;font-size:.76rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.ed-display{margin:0 0 40px;font-family:var(--serif);font-size:clamp(3.2rem,10vw,8.4rem);font-weight:600;line-height:.9;letter-spacing:-.035em}.ed-display em{display:block;font-style:italic;font-weight:400;color:var(--accent);padding-left:.16em}.ed-hero-cols{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;padding-top:34px;border-top:3px double var(--line)}.ed-hero-role{margin:0;font-family:var(--serif);font-size:1.24rem;font-style:italic;line-height:1.45;color:var(--ink);min-height:3em}.ed-cursor{display:inline-block;width:2px;height:1em;margin-left:3px;background:var(--accent);vertical-align:-.12em;animation:edBlink 1s steps(1) infinite}@keyframes edBlink{0%,to{opacity:1}50%{opacity:0}}.ed-hero-lede{margin:0;font-size:1.08rem;color:var(--ink-2);columns:2;column-gap:36px}.ed-hero-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:44px}.ed-actions{display:flex;flex-wrap:wrap;gap:14px}.ed-social-row{display:flex;gap:22px}.ed-social-row a{font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);text-decoration:none;border-bottom:1px solid transparent;transition:color .25s ease,border-color .25s ease}.ed-social-row a:hover{color:var(--accent);border-bottom-color:var(--accent)}.ed-btn{display:inline-flex;align-items:center;gap:11px;padding:13px 26px;font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:none;border:1px solid var(--ink);border-radius:0;cursor:pointer;text-decoration:none;transition:background-color .3s ease,color .3s ease,transform .3s ease}.ed-btn i{font-size:.72rem;transition:transform .3s ease}.ed-btn:hover{background:var(--ink);color:var(--paper)}.ed-btn:hover i{transform:translate(4px)}.ed-btn-fill{background:var(--accent);border-color:var(--accent);color:var(--paper)}.ed-btn-fill:hover{background:var(--ink);border-color:var(--ink)}.ed-btn-wide{width:100%;justify-content:center}.ed-rule{display:flex;align-items:baseline;gap:20px;margin-bottom:56px}.ed-rule-num{font-size:.78rem;font-weight:600;letter-spacing:.1em;color:var(--accent)}.ed-rule h2{margin:0;font-family:var(--serif);font-size:clamp(1.9rem,4vw,2.9rem);font-weight:600;letter-spacing:-.025em;white-space:nowrap}.ed-rule-line{flex:1;height:1px;background:var(--line)}.ed-about{display:grid;grid-template-columns:1.5fr .8fr;gap:60px;align-items:start}.ed-prose p{margin:0 0 22px;font-size:1.04rem;color:var(--ink-2)}.ed-lead-para{font-family:var(--serif);font-size:1.34rem;line-height:1.62;color:var(--ink)}.ed-lead-para:first-letter{float:left;font-family:var(--serif);font-size:4.1em;line-height:.82;padding:.06em .1em 0 0;color:var(--accent);font-weight:600}.ed-prose strong{font-weight:600;color:var(--ink);box-shadow:inset 0 -.42em #a8341f24}.ed-figures{display:grid;gap:0;border-top:3px double var(--line)}.ed-stat{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.ed-stat-num{font-family:var(--serif);font-size:2.5rem;font-weight:600;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.ed-stat-label{font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:right}.ed-skills{display:grid;gap:0;border-top:1px solid var(--line)}.ed-skill{display:grid;grid-template-columns:300px 1fr;gap:36px;padding:26px 0;border-bottom:1px solid var(--line);transition:background-color .3s ease}.ed-skill:hover{background:#a8341f09}.ed-skill h3{display:flex;align-items:baseline;gap:14px;margin:0;font-family:var(--serif);font-size:1.26rem;font-weight:600;letter-spacing:-.02em}.ed-skill-num{font-family:var(--sans);font-size:.7rem;font-weight:600;color:var(--accent)}.ed-skill-list{margin:0;font-size:.96rem;color:var(--ink-2);align-self:center}.ed-sep{font-style:normal;margin:0 9px;color:var(--line)}.ed-jobs{display:grid;gap:0;border-top:1px solid var(--line)}.ed-job{display:grid;grid-template-columns:220px 1fr;gap:44px;padding:44px 0;border-bottom:1px solid var(--line)}.ed-job-when{display:flex;flex-direction:column;gap:4px}.ed-job-year{font-family:var(--serif);font-size:2rem;font-weight:600;line-height:1;color:var(--accent)}.ed-job-date,.ed-job-place{font-size:.79rem;color:var(--ink-3)}.ed-job-date{margin-top:8px}.ed-job-body h3{margin:0 0 4px;font-family:var(--serif);font-size:1.55rem;font-weight:600;letter-spacing:-.025em;line-height:1.2}.ed-job-org{display:inline-block;margin-bottom:18px;font-size:.9rem;font-weight:500;color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(168,52,31,.35)}.ed-job-org:hover{border-bottom-color:var(--accent)}.ed-job-body ul{margin:0 0 20px;padding:0;list-style:none;columns:2;column-gap:40px}.ed-job-body li{position:relative;margin-bottom:11px;padding-left:17px;font-size:.9rem;line-height:1.65;color:var(--ink-2);break-inside:avoid}.ed-job-body li:before{content:"";position:absolute;left:0;top:.66em;width:6px;height:1px;background:var(--accent)}.ed-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0}.ed-tags span{padding:3px 11px;font-size:.71rem;font-weight:500;letter-spacing:.04em;color:var(--ink-2);border:1px solid var(--line);background:var(--paper)}.ed-projects{display:grid;gap:72px}.ed-project{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.ed-project.is-flip .ed-project-media{order:2}.ed-project-media button{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line);background:var(--paper);cursor:zoom-in;overflow:hidden}.ed-project-media img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;filter:grayscale(.35) contrast(1.03);transition:filter .5s ease,transform .7s cubic-bezier(.16,1,.3,1)}.ed-project-media button:hover img{filter:none;transform:scale(1.04)}.ed-project-count{position:absolute;left:0;bottom:0;padding:7px 14px;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);background:var(--ink)}.ed-project-blank{display:grid;place-items:center;aspect-ratio:4 / 3;padding:24px;text-align:center;font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--ink-3);border:1px solid var(--line);background:repeating-linear-gradient(45deg,transparent,transparent 9px,rgba(0,0,0,.025) 9px,rgba(0,0,0,.025) 18px)}.ed-project-idx{display:block;margin-bottom:10px;font-size:.72rem;font-weight:600;letter-spacing:.16em;color:var(--accent)}.ed-project-text h3{margin:0 0 6px;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.05rem);font-weight:600;line-height:1.15;letter-spacing:-.03em}.ed-project-sub{margin:0 0 18px;font-size:.83rem;font-weight:500;letter-spacing:.06em;color:var(--ink-3)}.ed-project-desc{margin:0 0 20px;font-size:.98rem;color:var(--ink-2)}.ed-project-text .ed-tags{margin-bottom:22px}.ed-edu{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}.ed-edu-item{padding:34px 34px 34px 0;border-bottom:1px solid var(--line)}.ed-edu-item:first-child{border-right:1px solid var(--line)}.ed-edu-item:last-child{padding-left:34px;padding-right:0}.ed-edu-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}.ed-edu-head h3{margin:0;font-family:var(--serif);font-size:1.55rem;font-weight:600;letter-spacing:-.025em}.ed-pill{padding:3px 12px;font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.ed-pill-current{color:var(--paper);background:var(--accent)}.ed-pill-completed{color:var(--ink-2);border:1px solid var(--line)}.ed-edu-field{margin:0 0 12px;font-size:1.02rem;color:var(--ink-2)}.ed-edu-school{margin:0 0 4px;font-size:.92rem;font-weight:500;color:var(--accent)}.ed-edu-meta{margin:0;font-size:.8rem;color:var(--ink-3)}.ed-certs{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.ed-certs a{display:grid;grid-template-columns:46px 1fr 220px 100px 24px;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:padding .3s ease,background-color .3s ease}.ed-certs a:hover{padding-left:14px;background:#a8341f0a}.ed-cert-idx{font-size:.72rem;font-weight:600;color:var(--accent)}.ed-cert-name{font-family:var(--serif);font-size:1.22rem;font-weight:600;letter-spacing:-.02em}.ed-cert-org{font-size:.87rem;color:var(--ink-2)}.ed-cert-date{font-size:.78rem;color:var(--ink-3);text-align:right}.ed-certs i{font-size:.76rem;color:var(--accent);opacity:0;transform:translate(-6px);transition:opacity .3s ease,transform .3s ease}.ed-certs a:hover i{opacity:1;transform:none}.ed-contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.ed-contact-text{margin:0 0 30px;font-family:var(--serif);font-size:1.32rem;font-style:italic;line-height:1.6;color:var(--ink)}.ed-contact-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.ed-contact-list li{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.ed-contact-list span{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.ed-contact-list a{font-size:.93rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);overflow-wrap:anywhere;text-align:right}.ed-contact-list a:hover{color:var(--accent);border-bottom-color:var(--accent)}.ed-form{display:grid;gap:20px}.ed-field{display:grid;gap:7px;margin:0}.ed-field label{font-size:.71rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.ed-field input,.ed-field textarea{width:100%;padding:12px 0;font:inherit;font-size:.97rem;color:var(--ink);background:none;border:none;border-bottom:1px solid var(--ink);border-radius:0;outline:none;transition:border-color .28s ease}.ed-field textarea{resize:vertical;min-height:110px}.ed-field input:focus,.ed-field textarea:focus{border-bottom-color:var(--accent)}.ed-footer{padding:56px 0 44px;border-top:3px double var(--line);text-align:center}.ed-footer-name{margin:0 0 8px;font-family:var(--serif);font-size:1.7rem;font-weight:600;letter-spacing:-.025em}.ed-footer-text{margin:0 0 20px;font-size:.85rem;color:var(--ink-2)}.ed-footer-copy{margin:0;font-size:.74rem;letter-spacing:.06em;color:var(--ink-3)}@media (max-width: 900px){.ed-nav{display:none}.ed-menu-btn{display:block}.ed-hero-cols{grid-template-columns:1fr;gap:26px}.ed-hero-lede{columns:1}.ed-about{grid-template-columns:1fr;gap:40px}.ed-skill{grid-template-columns:1fr;gap:10px}.ed-job{grid-template-columns:1fr;gap:18px;padding:34px 0}.ed-job-when{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:14px}.ed-job-date{margin-top:0}.ed-job-body ul{columns:1}.ed-project{grid-template-columns:1fr;gap:26px}.ed-project.is-flip .ed-project-media{order:0}.ed-edu{grid-template-columns:1fr}.ed-edu-item,.ed-edu-item:first-child,.ed-edu-item:last-child{padding:28px 0;border-right:none}.ed-certs a{grid-template-columns:34px 1fr;gap:6px 14px}.ed-cert-org,.ed-cert-date{grid-column:2;text-align:left}.ed-certs i{display:none}.ed-contact{grid-template-columns:1fr;gap:44px}}@media (max-width: 560px){.ed-section{padding:74px 0}.ed-rule{margin-bottom:36px}.ed-rule h2{white-space:normal}.ed-hero{padding:60px 0 56px}.ed-actions .ed-btn{flex:1 1 auto;justify-content:center}.ed-hero-foot{flex-direction:column;align-items:flex-start}}.ed-hero-cols,.ed-hero-cols>*,.ed-about,.ed-about>*,.ed-skill,.ed-skill h3,.ed-skill-list,.ed-job,.ed-job-body,.ed-job-when,.ed-project,.ed-project-text,.ed-project-media,.ed-edu,.ed-edu-item,.ed-certs a,.ed-certs a>*,.ed-contact,.ed-contact>*,.ed-contact-list li,.ed-form,.ed-field{min-width:0}.ed-skill-list,.ed-cert-name,.ed-cert-org,.ed-project-desc,.ed-job-body li,.ed-edu-school{overflow-wrap:break-word}
