:root{color-scheme:light;--page:#fbf9f4;--ink:#272e37;--body-ink:#4d5360;--muted:#666570;--accent:#775c9e;--marker-yellow:#f5e9a9;--marker-mint:#ccebd9;--timeline-line:#d9cde6;--line:#dedbe0;--soft:#eee8f3;--glass:#fbf9f4eb;--button:#252c35;--button-ink:#fff;--art:url(/assets/coast-light-DgSoyDgS.webp);--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}html[data-theme=dark]{color-scheme:dark;--page:#1d2029;--ink:#f2eee9;--body-ink:#c6c5cc;--muted:#afacb9;--accent:#cbb6ea;--marker-yellow:#665a32;--marker-mint:#315d4e;--timeline-line:#51465f;--line:#3e3f4c;--soft:#34313f;--glass:#1d2029ed;--button:#d6c2ef;--button-ink:#24212c;--art:url(/assets/coast-dark-CpCxem-7.webp)}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--page:#1d2029;--ink:#f2eee9;--body-ink:#c6c5cc;--muted:#afacb9;--accent:#cbb6ea;--marker-yellow:#665a32;--marker-mint:#315d4e;--timeline-line:#51465f;--line:#3e3f4c;--soft:#34313f;--glass:#1d2029ed;--button:#d6c2ef;--button-ink:#24212c;--art:url(/assets/coast-dark-CpCxem-7.webp)}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--page);scroll-padding-top:40px}body{color:var(--ink);background:var(--page);font:17px/1.75 var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-underline-offset:5px}button,summary{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:5px}.skip-link{z-index:100;color:var(--button-ink);background:var(--button);border-radius:8px;padding:8px 16px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.journal-shell{grid-template-columns:192px minmax(0,760px);justify-content:center;align-items:start;gap:clamp(44px,6vw,88px);width:min(100% - 96px,1128px);margin:64px auto 0;display:grid}.identity-rail{border-right:1px solid var(--line);flex-direction:column;align-items:flex-start;min-height:min(720px,100dvh - 64px);padding:0 24px 0 0;display:flex;position:sticky;top:32px}.identity{min-height:44px;color:var(--ink);flex-direction:column;align-items:flex-start;text-decoration:none;display:flex}.identity img{object-fit:cover;border-radius:50%;width:88px;height:88px;margin-bottom:18px}.person-name{letter-spacing:-.035em;font-size:19px;font-weight:690;line-height:1.3}.person-role{color:var(--muted);margin-top:5px;font-size:12px}.desktop-navigation{gap:3px;width:100%;margin-top:32px;display:grid}.desktop-navigation a{border-radius:10px;align-items:center;min-height:44px;margin-left:-12px;padding:8px 12px;font-size:13px;line-height:1.5;text-decoration:none;display:flex}.desktop-navigation a:hover,.desktop-navigation a[aria-current]{color:var(--ink);background:var(--soft)}.desktop-navigation a[aria-current]{box-shadow:inset 3px 0 var(--accent)}.portrait-caption{max-width:145px;color:var(--muted);margin:28px 0 30px;font-size:11px;line-height:1.8}.rail-bottom{margin-top:auto;padding-top:24px}.mobile-menu{display:none}main{min-width:0;padding-bottom:24px}.hero{isolation:isolate;margin:0;padding:28px 0 58px;position:relative}.hero:before{z-index:-1;content:"";background-image:var(--art);opacity:.56;pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:-14px -40px 0 -30px}html[data-theme=dark] .hero:before{opacity:.66}.hero-kicker,.section-kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:700;line-height:1.6}.hero h1{max-width:680px;font:400 clamp(36px, 3.5vw, 49px)/1.12 var(--serif);letter-spacing:-.045em;text-wrap:balance;margin:0}.hero-summary{max-width:640px;color:var(--body-ink);margin:24px 0 0;font-size:17px;line-height:1.75}.hero-links{flex-wrap:wrap;align-items:center;gap:20px 24px;margin-top:29px;display:flex}.hero-links a{min-height:46px;color:var(--ink);text-decoration-color:var(--accent);align-items:center;font-size:13px;font-weight:600;line-height:1.35;display:inline-flex}.hero-links a:first-child{color:var(--button-ink);background:var(--button);border-radius:999px;justify-content:center;padding:12px 23px;text-decoration:none}.hero-links a:hover{color:var(--accent)}.hero-links a:first-child:hover{filter:brightness(1.08);color:var(--button-ink)}.page-section,.contact-section{border-top:1px solid var(--line);margin:0;padding:52px 0 0;scroll-margin-top:35px}.section-kicker{margin-bottom:10px}.section-intro h2,.contact-heading h2{font:400 40px/1.15 var(--serif);letter-spacing:-.04em;text-wrap:balance;margin:0 0 18px}.section-intro>p:last-child{color:var(--body-ink);margin:0 0 44px;font-size:16px;line-height:1.85}.career-list{margin:0}.career-group{margin:0 0 54px}.career-company-header{flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:26px;display:flex}.career-company-dates{color:var(--accent);margin:0;font-size:12px;line-height:1.5}.career-company,.education-school{font:400 33px/1.22 var(--serif);letter-spacing:-.025em;margin:0}.career-company a,.education-school a{text-decoration:none}.career-company a span,.education-school a span{font:14px var(--sans);color:var(--accent);padding-left:9px}.career-entry{margin:0;padding:0}.career-entry+.career-entry{border-top:1px solid var(--line);margin-top:34px;padding-top:30px}.timeline-date{color:var(--accent);margin:0 0 8px;font-size:12px;line-height:1.55}.career-entry h4{max-width:650px;color:var(--ink);letter-spacing:-.02em;text-wrap:pretty;margin:0 0 8px;font-size:20px;font-weight:620;line-height:1.4}.timeline-place{color:var(--muted);margin:0 0 20px;font-size:12px;line-height:1.6}.career-story{max-width:69ch;color:var(--body-ink);font-size:16px;line-height:1.9}.career-story p{margin:0}.career-story p+p{margin-top:18px}#experience .career-list{--timeline-indent:32px;--timeline-x:6px;padding-left:var(--timeline-indent);margin-bottom:54px;position:relative}#experience .career-list:before{top:45px;bottom:.5em;left:var(--timeline-x);background:var(--timeline-line);content:"";width:1px;position:absolute;transform:translate(-50%)}#experience .career-group:last-child{margin-bottom:0}#experience .career-company{position:relative}#experience .career-company:before{box-sizing:border-box;top:.61em;left:calc(var(--timeline-x) - var(--timeline-indent));border:1.5px solid var(--accent);background:var(--page);width:10px;height:10px;box-shadow:0 0 0 4px var(--page);content:"";border-radius:50%;position:absolute;transform:translate(-50%,-50%)}#experience .career-group:first-child .career-company:before{background:var(--accent)}#experience .career-entry>.timeline-date{position:relative}#experience .career-entry>.timeline-date:before{box-sizing:border-box;top:50%;left:calc(var(--timeline-x) - var(--timeline-indent));background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 4px var(--page);content:"";border-radius:50%;position:absolute;transform:translate(-50%,-50%)}#experience .career-entry+.career-entry{border-top:0;margin-top:40px;padding-top:0}.career-marker{color:var(--ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.02em .13em .08em;font-weight:650}.career-marker--yellow{--marker-color:var(--marker-yellow)}.career-marker--mint{--marker-color:var(--marker-mint)}.career-marker--one{background:linear-gradient(176deg, transparent 5%, var(--marker-color) 10% 87%, transparent 93%);border-radius:2px 6px 3px 1px/4px 2px 5px 3px}.career-marker--two{background:linear-gradient(183deg, transparent 9%, var(--marker-color) 15% 92%, transparent 97%);border-radius:5px 2px 6px 3px/2px 5px 3px 4px}.career-marker--three{background:linear-gradient(179deg, transparent 3%, var(--marker-color) 8% 83%, transparent 91%);border-radius:1px 4px 2px 7px/5px 3px 4px 2px}.education-section{padding-top:48px}.education-entry{margin-bottom:54px}.education-entry .career-company-header{margin-bottom:18px}.contact-section{padding-top:48px}.contact-heading h2{max-width:580px}.contact-heading>p{max-width:620px;color:var(--body-ink);margin:0 0 28px;font-size:16px;line-height:1.85}.contact-links{border-top:1px solid var(--line)}.contact-links>a{border-bottom:1px solid var(--line);grid-template-columns:90px minmax(0,1fr) 22px;align-items:center;gap:12px;min-height:66px;text-decoration:none;display:grid}.contact-links>a:hover{color:var(--accent)}.contact-links>a>span:first-child{color:var(--muted);font-size:12px}.contact-links strong{overflow-wrap:anywhere;font-size:14px;font-weight:500}.contact-arrow{color:var(--accent);font-size:15px}.site-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:42px 0 12px;font-size:11px;display:flex}.footer-meta{align-items:center;gap:20px;display:flex}@supports not (backdrop-filter:blur(1px)){:root{--glass:var(--page)}}@media (width>=1600px){.journal-shell{margin-top:50px}}@media (width<=1050px){.journal-shell{grid-template-columns:156px minmax(0,1fr);gap:38px;width:calc(100% - 64px)}.identity-rail{padding-right:18px}.hero:before{right:-24px}.hero h1{font-size:42px}}@media (width<=800px){html{scroll-padding-top:102px}.journal-shell{width:min(100% - 48px,680px);margin-top:0;display:block}.identity-rail{top:env(safe-area-inset-top,0px);z-index:20;border-right:0;border-bottom:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(22px);flex-direction:row;justify-content:space-between;align-items:center;gap:14px;min-height:80px;padding:12px 0;display:flex;position:sticky}.identity{grid-template-columns:42px 1fr;align-items:center;gap:0 12px;display:grid}.identity img{grid-row:1/span 2;width:42px;height:42px;margin:0}.person-name{font-size:16px}.person-role{margin:0;font-size:10px}.desktop-navigation,.portrait-caption{display:none}.rail-bottom{align-items:center;gap:8px;margin:0;padding:0;display:flex}.mobile-menu{display:block}.mobile-menu summary{border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:7px 12px;font-size:11px;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{border:1px solid var(--line);background:var(--page);border-radius:16px;min-width:200px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 50px #00000024}.mobile-menu nav a{border-radius:10px;align-items:center;min-height:46px;padding:8px 12px;font-size:14px;text-decoration:none;display:flex}.mobile-menu nav a:hover,.mobile-menu nav a[aria-current]{color:var(--ink);background:var(--soft)}.mobile-menu nav a[aria-current]{box-shadow:inset 3px 0 var(--accent)}.hero{padding:40px 0 42px}.hero:before{opacity:.32;inset:0 -24px}html[data-theme=dark] .hero:before{opacity:.4}.hero h1{max-width:610px;font-size:clamp(33px,5.7vw,43px)}.hero-kicker{margin-bottom:16px;font-size:10px}.hero-summary{margin-top:20px;font-size:16px}.hero-links{gap:12px 20px;margin-top:24px}.hero-links a{font-size:12px}.page-section,.contact-section{padding-top:40px;scroll-margin-top:0}.section-intro h2,.contact-heading h2{font-size:35px}}@media (width<=600px){#experience .career-list{--timeline-indent:26px;--timeline-x:4px}.hero{padding-top:clamp(52px,14vw,84px)}.hero:before{opacity:.78;background-position:100% 0;background-repeat:no-repeat;background-size:cover;height:clamp(210px,58vw,280px);inset:0 -24px auto;-webkit-mask-image:linear-gradient(#000 0% 32%,#0000 88%);mask-image:linear-gradient(#000 0% 32%,#0000 88%)}html[data-theme=dark] .hero:before{opacity:.82}}@media (width<=440px){.journal-shell{width:calc(100% - 40px)}.identity-rail{gap:8px}.identity{column-gap:8px}.identity img{width:36px;height:36px}.identity{grid-template-columns:36px 1fr}.person-name{font-size:14px}.person-role{display:none}.identity img{grid-row:1}.rail-bottom{gap:5px}.mobile-menu summary{padding-inline:9px}.hero h1{font-size:34px;line-height:1.14}.hero:before{left:-20px;right:-20px}.hero-links{flex-direction:column;align-items:flex-start;gap:7px}.hero-links a:first-child{align-self:stretch}.hero-links a{min-height:44px}.career-entry h4{font-size:19px}.career-company,.education-school{font-size:29px}.career-story,.section-intro>p:last-child{font-size:16px;line-height:1.85}.career-company-header{margin-bottom:22px}.contact-links>a{grid-template-columns:62px minmax(0,1fr) 16px;gap:8px}.contact-links strong{font-size:13px}.site-footer{flex-direction:column;align-items:flex-start;padding-top:30px}.footer-meta{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.rail-bottom,.desktop-navigation,.privacy-dialog,.skip-link{display:none}.journal-shell{width:100%;margin:0;display:block}.identity-rail{border:0;min-height:0;padding:0 0 24px;position:static}.identity img{width:64px;height:64px}.hero:before{display:none}.career-entry{break-inside:avoid}}:root{--graphite:var(--body-ink);--cobalt:var(--accent);--glass-strong:var(--page);--radius-panel:20px;--radius-dialog:22px}html,body{min-width:320px}body{padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.consent-float{z-index:30;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));width:min(100% - 32px,384px);position:fixed}.button-primary,.button-secondary{border:1px solid var(--line);border-radius:999px;min-height:44px;padding:10px 18px;font-size:13px;font-weight:600}.button-primary{color:var(--button-ink);background:var(--button)}.button-secondary{color:var(--ink);background:var(--soft)}.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}.consent-banner{border-color:var(--line);flex-wrap:wrap;width:100%;margin:0}.consent-copy{flex-basis:200px}.consent-actions{margin-left:auto}.footer-privacy-button{text-underline-offset:3px;text-decoration:underline}.privacy-dialog{border-color:var(--line)}.privacy-dialog h2{font-family:var(--serif);font-weight:400}.privacy-content code{overflow-wrap:anywhere}@supports not (backdrop-filter:blur(1px)){.identity-rail{background:var(--page)}}@media print{.consent-float,.footer-privacy-button{display:none}}.footer-controls{align-items:center;gap:8px;display:flex}.theme-button{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-button[hidden]{display:none}.theme-button:hover{color:var(--ink);background:var(--soft)}.theme-button svg{width:18px;height:18px}.theme-button .theme-moon,html[data-theme=dark] .theme-button .theme-sun{display:none}html[data-theme=dark] .theme-button .theme-moon{display:block}@media print{.theme-button{display:none}}body:has(.consent-float) .site-footer{padding-bottom:240px}
