@font-face{font-family:Sorts Mill Goudy;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fonts/sorts-mill-goudy-latin-400-italic.woff2)format("woff2")}:root{color-scheme:light dark;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-accent:"Sorts Mill Goudy", Georgia, serif;--page:#f5f5f7;--paper:#fff;--ink:#1d1d1f;--graphite:#6e6e73;--muted:#6e6e73;--line:#1d1d1f1f;--glass:#ffffffb8;--glass-strong:#ffffffe0;--content-surface:#ffffff94;--content-border:#ffffffc7;--cobalt:#0071e3;--cobalt-hover:#0077ed;--action:#0071e3;--action-hover:#0068d0;--focus:#0071e3;--shadow:0 24px 80px #00000014;--radius-pill:999px;--radius-card:1.25rem;--radius-panel:1rem;--radius-dialog:1.5rem}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--page);min-width:320px;scroll-padding-top:7rem}body{min-width:320px;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);color:var(--ink);background:radial-gradient(circle at 78% 8%, #78adff2e, transparent 28rem), radial-gradient(circle at 12% 34%, #ffffffeb, transparent 25rem), var(--page);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.5;overflow-x:hidden}body:before{z-index:-1;content:"";pointer-events:none;background-image:linear-gradient(#ffffff2b 1px,#0000 1px);background-size:100% 4rem;position:fixed;inset:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 48%, transparent);outline-offset:4px;border-radius:.35rem}.skip-link{top:max(.75rem, env(safe-area-inset-top));left:max(.75rem, env(safe-area-inset-left));z-index:100;border-radius:var(--radius-pill);color:#fff;background:var(--cobalt);padding:.7rem 1rem;font-size:.875rem;font-weight:650;text-decoration:none;transition:transform .16s;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-nav{top:max(.75rem, env(safe-area-inset-top));z-index:20;border-radius:var(--radius-pill);background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(160%);border:1px solid #ffffffa6;width:min(100% - 2rem,72rem);margin:.75rem auto 0;position:sticky;box-shadow:0 12px 40px #00000012}.nav-inner{align-items:center;gap:1rem;min-height:3.65rem;padding:0 .55rem 0 1.25rem;display:flex}.nav-mark{letter-spacing:-.02em;margin-right:auto;font-size:.9rem;font-weight:700;text-decoration:none}.nav-links{align-items:center;gap:.2rem;display:flex}.nav-links a{border-radius:var(--radius-pill);min-height:2.75rem;color:var(--graphite);align-items:center;padding:.7rem .9rem;font-size:.78rem;font-weight:600;text-decoration:none;transition:color .16s,background .16s;display:inline-flex}.nav-links a:hover{color:var(--ink);background:#0000000b}.nav-links .nav-contact{color:#fff;background:var(--action)}.nav-links .nav-contact:hover{color:#fff;background:var(--action-hover)}main,.site-footer{width:min(100% - 3rem,72rem);margin-inline:auto}.hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(3rem,8vw,7rem);min-height:min(47rem,100svh - 5rem);padding:clamp(5rem,11vw,9rem) 0 clamp(6rem,12vw,10rem);display:grid}.hero-copy{max-width:55rem}.hero-kicker,.section-kicker,.dialog-kicker{color:var(--cobalt);letter-spacing:.13em;text-transform:uppercase;margin:0 0 1.1rem;font-size:.74rem;font-weight:700}.hero h1{letter-spacing:-.035em;max-width:12ch;margin:0;font-size:clamp(3.4rem,8.8vw,7.5rem);font-weight:720;line-height:.88}.hero-role{max-width:43rem;color:var(--graphite);font-family:var(--font-accent);margin:2rem 0 0;font-size:clamp(1.35rem,2.8vw,2.25rem);font-style:italic;line-height:1.18}.hero-summary{max-width:45rem;color:var(--graphite);margin:2rem 0 0;font-size:clamp(1rem,1.4vw,1.17rem);line-height:1.7}.hero-links{flex-wrap:wrap;gap:.75rem;margin-top:2.2rem;display:flex}.consent-slot:empty{display:none}.consent-float{right:max(1.25rem, env(safe-area-inset-right) + 1rem);bottom:max(1.25rem, env(safe-area-inset-bottom) + 1rem);z-index:30;width:min(100%,24rem);position:fixed}.consent-banner{margin-top:0}.consent-slot:not(:empty){pointer-events:none}.consent-slot:not(:empty) .consent-float{pointer-events:auto;margin-top:0}.consent-slot:not(:empty)+.hero-links{margin-top:2.2rem}.hero-links a,.button-primary,.button-secondary{border-radius:var(--radius-pill);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;min-height:2.8rem;padding:.72rem 1.15rem;font-size:.88rem;font-weight:650;text-decoration:none;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.hero-links a:first-child,.button-primary{color:#fff;background:var(--action)}.hero-links a:not(:first-child),.button-secondary{border-color:var(--line);color:var(--ink);background:var(--glass-strong)}.hero-links a:hover,.button-primary:hover,.button-secondary:hover{transform:translateY(-1px)}.hero-portrait{aspect-ratio:1;width:clamp(8.5rem,16vw,12rem);margin-right:clamp(1.5rem,4vw,5rem);position:relative}.hero-portrait:before{box-shadow:var(--shadow);content:"";-webkit-backdrop-filter:blur(18px);background:#ffffff52;border:1px solid #ffffffd9;border-radius:50%;position:absolute;inset:-1.25rem}.hero-portrait img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block;position:relative}.page-section{border-top:1px solid var(--line);grid-template-columns:minmax(11rem,.34fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,7rem);padding:clamp(5rem,10vw,9rem) 0;display:grid}.section-intro{align-self:start}.section-intro h2,.contact-section h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.25rem,4.5vw,4.5rem);font-weight:690;line-height:.98}.section-intro>p:last-child{color:var(--graphite);margin:1.5rem 0 0;line-height:1.65}.career-list,.education-list{border:1px solid var(--content-border);border-radius:var(--radius-card);background:var(--content-surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(28px)saturate(145%);overflow:clip}.career-entry{grid-template-columns:6.5rem minmax(0,1fr);gap:clamp(1rem,3vw,2.25rem);padding:clamp(1.5rem,3.5vw,2.5rem);display:grid}.career-entry+.career-entry,.education-entry+.education-entry{border-top:1px solid var(--line)}.career-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:.55rem;font-size:.76rem;display:flex}.career-meta span{color:var(--muted);letter-spacing:.12em;font-size:.75rem}.career-heading{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.career-heading h3,.education-entry h3{letter-spacing:-.025em;margin:0;font-size:clamp(1.08rem,1.7vw,1.35rem);font-weight:670;line-height:1.25}.career-heading a,.education-entry a{color:var(--cobalt);align-items:center;gap:.35rem;margin-top:.32rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.career-heading a span,.education-entry a span{font-size:.72em;transition:transform .16s}.career-heading a:hover span,.education-entry a:hover span{transform:translate(.12rem,-.12rem)}.career-heading>p,.education-entry p{color:var(--muted);text-align:right;flex:none;margin:0;font-size:.78rem}.career-description{max-width:70ch;color:var(--graphite);margin:1.35rem 0 0;font-size:1rem;line-height:1.72}.education-entry{grid-template-columns:7rem minmax(0,1fr);gap:1.5rem;padding:clamp(1.5rem,3.5vw,2.5rem);display:grid}.education-entry time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.76rem}.education-entry p{text-align:left;margin-top:.85rem}.contact-section{border-top:1px solid var(--line);padding:clamp(6rem,12vw,11rem) 0}.contact-heading{grid-template-columns:minmax(0,1.5fr) minmax(16rem,.65fr);align-items:end;gap:clamp(2rem,8vw,8rem);display:grid}.contact-heading h2{max-width:14ch}.contact-heading p{color:var(--graphite);margin:0;line-height:1.7}.contact-links{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(3.5rem,7vw,6rem);display:grid}.contact-links>a{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:.3rem 1rem;min-width:0;padding:1.5rem 1.25rem;text-decoration:none;transition:background .16s;display:grid}.contact-links>a+a{border-left:1px solid var(--line)}.contact-links>a:hover{background:#ffffff73}.contact-links span:first-child{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:650}.contact-links strong{text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.contact-arrow{color:var(--cobalt);grid-area:1/2/span 2;align-self:center}.site-footer{min-height:7rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.76rem;display:flex}.footer-meta{align-items:center;gap:1rem;display:flex}.footer-privacy-button{min-height:2.75rem;color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;padding:0 .5rem;font-size:.76rem;display:inline-flex}.footer-privacy-button:hover{color:var(--ink)}.consent-fallback{color:var(--graphite);margin:0;font-size:.82rem}.consent-fallback a{color:var(--cobalt)}.consent-banner{border-radius:var(--radius-panel);background:var(--glass-strong);-webkit-backdrop-filter:blur(28px)saturate(160%);border:1px solid #ffffffc2;align-items:center;gap:1rem;width:min(100%,52rem);min-height:5.5rem;margin-top:2rem;padding:1rem 1rem 1rem 1.3rem;display:flex;box-shadow:0 24px 80px #00000029}.consent-copy{flex:1}.consent-banner p{color:var(--graphite);margin:0;font-size:.78rem;line-height:1.5}.consent-banner .consent-error{color:var(--ink);margin-top:.45rem;font-weight:600}.consent-banner p button{color:var(--cobalt);font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0}.consent-actions{flex:none;gap:.55rem;display:flex}.consent-actions button{min-height:2.75rem;padding:.55rem .9rem;font-size:.78rem}.privacy-dialog{border-radius:var(--radius-dialog);width:min(100% - 2rem,43rem);max-height:min(48rem,100dvh - 2rem);color:var(--ink);background:var(--glass-strong);-webkit-backdrop-filter:blur(32px)saturate(155%);border:1px solid #ffffffb8;padding:0;overflow:hidden;box-shadow:0 35px 120px #00000047}.privacy-dialog::backdrop{-webkit-backdrop-filter:blur(5px);background:#00000052}.privacy-dialog-shell{grid-template-rows:auto minmax(0,1fr) auto;max-height:min(48rem,100dvh - 2rem);display:grid}.privacy-dialog header,.privacy-dialog footer{justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 1.5rem;display:flex}.privacy-dialog header{border-bottom:1px solid var(--line)}.privacy-dialog footer{border-top:1px solid var(--line);justify-content:flex-end}.privacy-dialog .dialog-kicker{margin-bottom:.25rem;font-size:.62rem}.privacy-dialog h2{letter-spacing:-.035em;margin:0;font-size:1.45rem}.dialog-close{width:2.75rem;height:2.75rem;color:var(--graphite);cursor:pointer;background:#0000000f;border:0;border-radius:50%;flex:none;place-items:center;font-size:1.5rem;transition:color .16s,background .16s,transform .16s;display:grid}.dialog-close:hover{color:var(--ink);background:#0000001a}.dialog-close:active{transform:scale(.94)}.privacy-content{overscroll-behavior:contain;padding:1.5rem;overflow-y:auto}.privacy-updated{color:var(--muted);margin:0 0 1.5rem;font-size:.72rem}.privacy-content section+section{margin-top:1.5rem}.privacy-content h3{margin:0 0 .5rem;font-size:.94rem}.privacy-content p{color:var(--graphite);margin:.65rem 0 0;font-size:1rem;line-height:1.65}.privacy-content a{color:var(--cobalt)}.privacy-content code{font-size:.9em}@media (width<=820px){.page-section{grid-template-columns:1fr}.section-intro{max-width:35rem}.contact-heading{grid-template-columns:1fr;align-items:start}.contact-heading p{max-width:35rem}}@media (width<=680px){.site-nav{width:calc(100% - 1rem);margin-top:.5rem}.nav-inner{min-height:3.35rem;padding-left:1rem}.nav-links a{display:none}.nav-links .nav-contact{align-items:center;min-height:2.75rem;padding:.55rem .85rem;display:inline-flex}.nav-links .nav-blog{display:inline-flex}main,.site-footer{width:min(100% - 2rem,72rem)}.hero{grid-template-columns:1fr;align-content:center;gap:3.5rem;min-height:auto;padding-top:6rem}.hero h1{font-size:clamp(3.4rem,15vw,5.7rem)}.hero-portrait{grid-row:1;width:6.5rem;margin-right:0}.hero-portrait:before{inset:-.75rem}.consent-float{width:auto;bottom:1rem;left:1rem;right:1rem}.career-entry{grid-template-columns:1fr;gap:.8rem}.career-meta{flex-direction:row;justify-content:space-between;align-items:center}.career-heading{flex-direction:column;gap:.8rem}.career-heading>p{text-align:left}.education-entry{grid-template-columns:1fr;gap:.8rem}.contact-links{grid-template-columns:1fr}.contact-links>a+a{border-left:0}.consent-banner{flex-direction:column;align-items:stretch;padding:1rem}.consent-actions{grid-template-columns:1fr 1fr;display:grid}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start}}@media (width<=340px){.hero h1{font-size:15.5vw}}@media (prefers-color-scheme:dark){:root{--page:#101012;--paper:#1c1c1e;--ink:#f5f5f7;--graphite:#b4b4b9;--muted:#8e8e93;--line:#ffffff1f;--glass:#232326b3;--glass-strong:#262629e6;--content-surface:#1c1c1ee6;--content-border:#ffffff1c;--cobalt:#2997ff;--cobalt-hover:#46a5ff;--action:#0071e3;--action-hover:#0068d0;--focus:#2997ff;--shadow:0 24px 80px #00000047}body{background:radial-gradient(circle at 78% 8%, #2997ff29, transparent 28rem), radial-gradient(circle at 12% 34%, #ffffff0d, transparent 25rem), var(--page)}body:before{opacity:.08}.site-nav,.consent-banner,.privacy-dialog{border-color:#ffffff1c}.nav-links a:hover,.dialog-close{background:#ffffff14}.contact-links>a:hover{background:#ffffff0a}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@supports not (backdrop-filter:blur(1px)){.site-nav,.career-list,.education-list,.consent-banner,.privacy-dialog{background:var(--paper)}}
