:root{font-family:Arial,Helvetica,sans-serif;color:#263b35;background:#f7f5ee;font-synthesis:none;font-weight:400;--paper:#f7f5ee;--ink:#263b35;--muted:#63716a;--teal:#266758;--line:#d9ded3;--rail:190px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;line-height:1.65}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23958c71' filter='url(%23n)' opacity='.15' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b47c35;outline-offset:6px}a:hover{color:var(--teal)}p,h1,h2,h3{margin:0}svg{display:block;max-width:100%}::selection{background:#d5e6da}.skip-link{position:fixed;top:-90px;left:20px;background:var(--teal);color:#fff;padding:10px;z-index:100}.skip-link:focus{top:12px}.site-header{height:88px;display:flex;align-items:center;gap:32px;padding:0 5vw;position:fixed;inset:0 0 auto;z-index:20;background:#f7f5eef5;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,serif;font-size:34px;font-weight:700;letter-spacing:-3px;line-height:1}.wordmark span{color:#ba8c51}.site-header nav{display:flex;gap:28px;margin:auto;font-size:12px;font-weight:600}.site-header nav a{position:relative;padding:30px 0;color:#68736b;white-space:nowrap}.site-header nav a[aria-current]{color:var(--teal)}.site-header nav a:after{content:"";height:3px;background:var(--teal);position:absolute;bottom:15px;left:0;right:0;transform:scaleX(0);transition:transform .25s}.site-header nav a[aria-current]:after,.site-header nav a:hover:after{transform:scaleX(1)}.header-contact{font-size:12px;border:1px solid #bec9bc;padding:8px 15px;border-radius:4px}.header-contact span{margin-left:13px}.scroll-progress{position:absolute;bottom:-1px;left:0;height:2px;width:100%;transform-origin:left;background:var(--teal)}main{padding-top:88px;margin-right:var(--rail)}.chapter{padding:90px clamp(28px,6vw,100px);scroll-margin-top:0}.eyebrow,.small-label,.edition{font-size:10px;letter-spacing:1.8px;font-weight:600}.eyebrow{color:var(--teal);display:flex;align-items:center;gap:17px}.eyebrow>span:not(.status-dot){font-size:11px;color:#8a917d;padding-right:16px;border-right:1px solid #c8cdbf}.status-dot{display:inline-block;width:6px;height:6px;background:var(--teal);border-radius:50%;box-shadow:0 0 0 5px #2667580a}.hero{min-height:calc(100svh - 88px);padding-top:45px;padding-bottom:25px;display:flex;flex-direction:column;justify-content:center;position:relative;background:radial-gradient(ellipse at 85% 28%,#e5ead960,transparent 55%)}.hero-meta{display:flex;justify-content:space-between;gap:20px;margin-bottom:39px}.edition{font-size:8px;letter-spacing:1.2px;color:#758173}.hero-name{font-size:17px;margin-bottom:12px}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-3px;line-height:1.07}h1{font-size:clamp(56px,6.4vw,104px)}em{font-weight:400;color:var(--teal)}.hero-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;margin-top:32px}.hero-title{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--teal);font-weight:600;margin-bottom:12px}.hero-summary{font-size:15px;color:var(--muted);max-width:400px;line-height:1.8}.button{background:var(--teal);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 22px;font-size:12px;border-radius:4px;transition:background .2s,transform .2s;min-height:48px}.button:hover{color:#fff;background:#194e42;transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.hero .button{margin-top:24px}.text-link{font-size:11px;border-bottom:1px solid #b7c8b9;padding-bottom:4px;width:fit-content}.text-link span{margin-left:9px}.recent-link{display:block;margin-top:18px;color:var(--muted)}.journey-art{max-width:320px;justify-self:end}.journey-art>span{display:block;text-align:center;font-family:Georgia,serif;font-size:12px;color:#7b8878;font-style:italic}.hero-footer{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#7b8578}.hero-footer>span:first-child{letter-spacing:1.5px}.hero-footer span span{margin-left:16px}.section-title{max-width:750px;margin-bottom:50px}.section-title h2{font-size:clamp(40px,4.6vw,68px);margin-top:24px}.section-description{max-width:550px;color:var(--muted);font-size:15px;margin-top:24px;line-height:1.8}.education{background:#edf0e6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.education-layout{display:grid;grid-template-columns:.75fr 1.7fr;gap:60px}.degree-year{font-family:Georgia,serif;font-size:78px;line-height:1;color:#7c9380}.degree-year span{display:block;font-family:Arial,sans-serif;font-size:12px;line-height:1.7;max-width:130px;margin-top:15px;color:var(--muted)}.degree-year svg{width:135px;margin-top:48px;color:#78917f}.education-list{border-top:1px solid #cbd4c4}.education-item{padding:25px 0;border-bottom:1px solid #cbd4c4}.education-item .small-label{color:#74806d;letter-spacing:1.3px;font-size:9px}.education-item h3{font-size:21px;line-height:1.35;margin:10px 0 7px;font-weight:500}.education-item p{font-size:13px}.education-item p.muted{font-size:12px;margin-top:7px;color:var(--muted)}.section-footnote{margin-top:30px;font-size:11px;color:#6d7968}.journey-heading{padding-bottom:40px}.journey-heading .section-title{margin-bottom:20px}.role{display:grid;grid-template-columns:165px 1fr;gap:35px;position:relative;min-height:70svh;padding-top:65px;padding-bottom:65px}.role:before{content:"";position:absolute;top:0;bottom:0;left:calc(clamp(28px,6vw,100px) + 6px);border-left:1px solid #cdd7c8}.role-date{position:relative;padding-left:29px}.timeline-dot{position:absolute;top:5px;left:0;width:13px;height:13px;border:3px solid var(--paper);box-shadow:0 0 0 1px #7b9b87;background:#7b9b87;border-radius:50%}.role-date .small-label{font-size:9px;color:#7d8979;letter-spacing:1.3px}.role-date>p{font-family:Georgia,serif;font-size:23px;margin-top:10px}.latest-label{display:inline-block;font-size:7px;letter-spacing:1px;color:var(--teal);background:#dde8da;border-radius:3px;padding:4px 6px;margin-top:15px}.role-theme{font-family:Georgia,serif;font-size:18px;font-style:italic;color:#8a907b;margin-bottom:16px}.role h3{font-size:clamp(25px,2.6vw,38px);line-height:1.2;font-weight:500;letter-spacing:-1px;overflow-wrap:anywhere}.job-title{font-size:13px;color:var(--teal);font-weight:600;margin-top:14px}.role-summary{font-size:16px;color:#5c6e61;margin-top:26px;line-height:1.8}.responsibilities{padding-left:18px;margin:22px 0 26px;font-size:13px;color:#526158}.responsibilities li{padding-left:8px;margin:10px 0}.responsibilities li::marker{color:#9dac95}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0}.tags li{font-size:10px;line-height:1.4;padding:6px 10px;border:1px solid #d1dbcd;border-radius:3px;color:#466355}.project-list,.tools-list{font-size:11px;color:#71806f;line-height:1.8;margin-top:20px}.project-list strong{font-size:9px;letter-spacing:1.2px;margin-right:10px;color:#61725e}.tools-list{margin-top:9px}.tools-list strong{margin-right:8px}.role-content{border-bottom:1px solid var(--line);padding-bottom:40px}.role-latest{background:#ecf0e7}.role-latest .role-content{border-bottom:0}.source-note{font-size:10px;color:#6d7766;margin-top:24px;max-width:420px}.skills{background:#214e44;color:#f2f3e8}.skills .eyebrow,.skills .eyebrow>span{color:#c0d1b6}.skills .section-description{color:#c3d0c2}.skills h2{max-width:620px}.skill-groups article{display:grid;grid-template-columns:40px 1fr;gap:20px;border-top:1px solid #477064;padding:29px 0}.skill-number{font-family:Georgia,serif;font-size:17px;color:#95b6a2}.skill-groups h3{font-family:Georgia,serif;font-size:24px;font-weight:400;margin-bottom:8px}.skill-groups p{font-size:12px;max-width:580px;color:#c0cebf;margin-bottom:18px}.skills .tags li{color:#dce6d9;border-color:#547569}.personal-notes{display:flex;gap:70px;margin-top:40px;padding-top:25px;border-top:1px solid #477064}.personal-notes .small-label{color:#acbfa8;font-size:9px}.personal-notes p{font-size:12px;margin-top:9px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.project-visual{height:155px;background:#e9ecdf;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:24px;border-radius:3px}.project:nth-child(2) .project-visual{background:#eee7d8}.project:nth-child(3) .project-visual{background:#e1ece5}.project-visual svg{width:85%;max-width:220px;fill:var(--paper);stroke:#6d8e76;stroke-width:1.5}.project-visual-index{position:absolute;left:12px;top:8px;font-family:Georgia,serif;font-size:12px;color:#8b967f}.project>.small-label{font-size:8px;letter-spacing:1.1px;color:#6d7b69}.project h3{font-family:Georgia,serif;font-weight:400;font-size:25px;line-height:1.25;margin-top:12px;min-height:65px}.project dl{margin:24px 0}.project dt{text-transform:uppercase;font-size:8px;letter-spacing:1.1px;font-weight:600;margin-top:17px;color:#5c735f}.project dd{margin:5px 0 0;font-size:12px;color:var(--muted);line-height:1.8}.projects{border-bottom:1px solid var(--line)}.contact{min-height:calc(100svh - 88px);background:radial-gradient(ellipse at 70% 40%,#e6eadc90,transparent 70%);padding-bottom:25px}.contact h2{font-size:clamp(48px,6.5vw,94px);margin-top:30px}.closing{font-size:14px;color:var(--muted);margin-top:32px}.closing+p{font-size:14px;margin-top:6px}.email-link{display:block;width:fit-content;font-family:Georgia,serif;font-size:clamp(18px,2.2vw,29px);margin-top:26px;border-bottom:1px solid #b9c7b4;overflow-wrap:anywhere}.email-link span{display:inline-block;margin-left:15px}.phone-link{display:block;width:fit-content;font-size:13px;color:var(--muted);margin-top:13px}.download-area{margin-top:50px;border-top:1px solid var(--line);padding-top:25px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px 25px}.download-area .small-label{color:#6d7d66;font-size:9px}.download-area p{font-size:12px;color:var(--muted);margin-top:6px}.download-caption{grid-column:2;font-size:9px;justify-self:center;color:#788270}footer{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:70px;padding-top:24px;border-top:1px solid var(--line);font-size:9px;color:#77816f}footer .wordmark{font-size:27px}footer .text-link{margin-left:auto;font-size:9px}.character-rail{position:fixed;right:0;top:88px;bottom:0;width:var(--rail);border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;pointer-events:none;background:#f2f2e980}.rail-line{position:absolute;top:70px;bottom:340px;width:1px;background:linear-gradient(#d8dfd0,transparent)}.chapter-counter{font-family:Georgia,serif;font-size:21px;margin-top:23px;color:#526c59}.chapter-counter span{font-family:Arial,sans-serif;font-size:10px;color:#8a9480}.character-scene{position:absolute;bottom:42px;width:100%;padding:0 12px}.character-caption{text-align:center;font-family:Georgia,serif;font-style:italic;font-size:12px;color:#6c7f68;min-height:40px;padding:0 13px;animation:caption-in .6s ease both}.person{width:165px;margin:0 auto;overflow:visible}.person-body{transform-origin:0 0;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.shirt{transition:fill .6s}.head{animation:breathe 4s ease-in-out infinite;transform-origin:90px 92px}.eyes{animation:blink 5.7s infinite;transform-origin:90px 65px}.accessory{opacity:0;transition:opacity .5s}.accessory.is-on{opacity:1}.arm-right{transform-origin:113px 111px}.person--hello .arm-right{animation:wave 2s ease-in-out 2}.person--presenter .arm-right{animation:gesture .7s ease-in-out}.person--contact .arm-left{animation:gesture .7s ease-in-out;transform-origin:66px 114px}.rail-bottom{position:absolute;bottom:20px;font-size:7px;letter-spacing:1.2px;color:#8b947e}.section-title,.education-item,.role-content,.project{animation:content-enter .65s ease-out both}@keyframes content-enter{0%{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){.section-title,.education-item,.role-content,.project{animation:content-enter linear both;animation-timeline:view();animation-range:entry 0% entry 22%}}@keyframes breathe{50%{transform:translateY(-1.5px) rotate(-1deg)}}@keyframes blink{0%,44%,48%,to{transform:scaleY(1)}46%{transform:scaleY(.12)}}@keyframes wave{0%,to{transform:rotate(0)}25%,75%{transform:rotate(12deg)}50%{transform:rotate(-7deg)}}@keyframes gesture{50%{transform:rotate(-8deg)}}@keyframes caption-in{0%{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:1600px){main{max-width:1500px;margin-left:auto}.hero{min-height:800px}.hero-bottom{margin-top:50px}}@media(max-width:1150px){:root{--rail:150px}.site-header{padding:0 30px;gap:20px}.site-header nav{gap:20px}.chapter{padding-left:40px;padding-right:40px}.hero-meta .edition{display:none}.role{grid-template-columns:120px 1fr;gap:25px}.role:before{left:46px}.role-date>p{font-size:19px}.project-grid{gap:18px}.person{width:135px}.project h3{font-size:23px}.hero-bottom{grid-template-columns:1.3fr .9fr}.character-scene{padding:0 5px}.education-layout{gap:35px}.rail-bottom{font-size:6px}}@media(max-width:850px){:root{--rail:110px}.site-header{height:76px;padding:0 24px}.header-contact{display:none}.site-header nav{margin:0 0 0 auto;gap:19px;font-size:11px}.site-header nav a{padding:25px 0}.site-header nav a:after{bottom:10px}main{padding-top:76px}.character-rail{top:76px}.chapter{padding:65px 32px}.hero{min-height:calc(100svh - 76px);padding-top:36px;padding-bottom:24px}.hero-meta{margin-bottom:30px}h1{font-size:60px}.hero-bottom{grid-template-columns:1fr}.journey-art{display:none}.hero-summary{max-width:460px}.hero-footer{margin-top:35px}.hero-footer>span:last-child{display:none}.section-title h2{font-size:46px;letter-spacing:-2px}.education-layout{grid-template-columns:1fr;gap:20px}.degree-year{font-size:50px;display:flex;gap:25px;align-items:center}.degree-year span{margin:0;font-size:10px}.degree-year svg{display:none}.role{grid-template-columns:1fr;gap:24px;min-height:auto;padding-left:58px}.role:before{left:32px}.role-date{padding-left:0;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.timeline-dot{left:-32px;top:9px}.role-date>p{margin:0;font-size:21px}.latest-label{margin:0}.role-content{padding-bottom:20px}.role-theme{font-size:16px}.role h3{font-size:30px}.role-summary{font-size:15px}.project-grid{grid-template-columns:1fr}.project{display:grid;grid-template-columns:140px 1fr;gap:0 25px;padding:25px 0;border-top:1px solid var(--line)}.project-visual{grid-column:1;grid-row:1/5;height:130px}.project>.small-label,.project h3,.project dl,.project .tags{grid-column:2}.project h3{min-height:0;font-size:26px}.project dl{margin:10px 0 20px}.personal-notes{gap:25px;flex-direction:column}.person{width:102px}.character-caption{font-size:10px;padding:0 4px;line-height:1.4}.rail-bottom{display:none}.character-scene{bottom:20px}.rail-line{bottom:230px}.download-area{grid-template-columns:1fr}.download-area .button{width:fit-content}.download-caption{grid-column:1;justify-self:start}.contact h2{font-size:58px;letter-spacing:-2px}.email-link{font-size:22px}footer{gap:15px}footer .text-link{margin-left:0}}@media(max-width:600px){:root{--rail:68px}html{scroll-padding-top:105px}.site-header{height:96px;flex-wrap:wrap;padding:10px 18px 0;gap:4px;align-content:center}.site-header .wordmark{font-size:28px}.site-header nav{order:3;width:100%;justify-content:space-between;gap:6px;overflow:visible;font-size:9px}.site-header nav a{padding:9px 0 12px}.site-header nav a:after{bottom:5px;height:2px}.header-contact{display:block;margin-left:auto;font-size:9px;padding:4px 9px;border:0}.header-contact span{margin-left:8px}main{padding-top:96px}.character-rail{top:96px;background:#f1f1e7b0}.chapter{padding:52px 20px}.hero{min-height:calc(100svh - 96px);padding-top:30px;padding-bottom:22px}.hero-meta{margin-bottom:28px}.eyebrow{font-size:8px;letter-spacing:1.2px;gap:12px}.hero-name{font-size:14px}h1{font-size:clamp(40px,9.7vw,58px);letter-spacing:-2px;line-height:1.13}.hero-title{font-size:8px;letter-spacing:1.3px}.hero-bottom{margin-top:25px}.hero-summary{font-size:13px;line-height:1.8}.button{padding:12px 15px;gap:20px;font-size:11px}.recent-link{font-size:9px}.hero-footer{font-size:8px;margin-top:30px;padding-top:15px}.section-title{margin-bottom:30px}.section-title h2{font-size:36px;letter-spacing:-1.5px;line-height:1.12;margin-top:20px}.section-description{font-size:13px;margin-top:18px}.degree-year{font-size:45px;gap:20px}.degree-year span{font-size:10px}.education-item h3{font-size:19px}.education-item p{font-size:12px}.education-item p.muted{font-size:11px}.section-footnote{font-size:10px}.journey-heading{padding-bottom:25px}.role{padding-left:30px;padding-top:38px;padding-bottom:30px;gap:18px}.role:before{left:13px}.timeline-dot{left:-23px;top:6px}.role-date{gap:10px}.role-date>p{font-size:18px}.role-date .small-label{font-size:7px}.latest-label{font-size:6px}.role-theme{font-size:14px;margin-bottom:12px}.role h3{font-size:26px;letter-spacing:-.6px}.job-title{font-size:11px}.role-summary{font-size:13px;margin-top:20px}.responsibilities{font-size:12px;padding-left:13px}.responsibilities li{padding-left:3px}.tags{gap:5px}.tags li{font-size:9px;padding:5px 7px}.project-list,.tools-list{font-size:10px}.skill-groups article{grid-template-columns:20px 1fr;gap:10px;padding:24px 0}.skill-number{font-size:13px}.skill-groups h3{font-size:22px;line-height:1.3}.skill-groups p,.personal-notes p{font-size:11px}.project{display:block;padding:25px 0}.project-visual{height:140px;margin-bottom:18px}.project h3{font-size:27px;margin-top:10px}.project dl{margin:20px 0}.project dd{font-size:12px}.contact h2{font-size:41px;letter-spacing:-1.6px}.closing,.closing+p{font-size:12px}.email-link{font-size:17px;line-height:1.5}.email-link span{margin-left:0}.phone-link{font-size:12px}.download-area{margin-top:35px}.download-area p{font-size:11px}.download-caption{font-size:8px}footer{margin-top:40px;flex-direction:column;align-items:start;font-size:8px}.chapter-counter{font-size:16px;margin-top:17px}.chapter-counter span{font-size:8px}.rail-line{top:60px;bottom:155px}.character-scene{padding:0;bottom:calc(12px + env(safe-area-inset-bottom))}.person{width:66px}.character-caption{font-size:8px;line-height:1.4;overflow-wrap:anywhere;min-height:32px;padding:0 5px}.person .head,.person .arm-right,.person .arm-left{animation:none}.person-body{transition:transform .5s}.education-item .small-label{font-size:8px}.contact{padding-bottom:calc(25px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover{transform:none}}@media print{.site-header,.character-rail,.skip-link,.journey-art,.hero-footer,.button,.download-area,footer{display:none!important}main{margin:0;padding:0}.chapter{padding:15px 0;background:#fff!important;color:#000;min-height:0}.hero{min-height:0}.hero-meta{margin-bottom:10px}h1{font-size:32px}h2,.section-title h2{font-size:27px}.role{display:block;break-inside:avoid}.role:before,.timeline-dot{display:none}.role-date{padding:0}.skills{color:#000!important}.skills p,.skills .tags li{color:#333}.project-grid{display:block}.project{break-inside:avoid}.project-visual{display:none}.role-content,.education-item{break-inside:avoid}body{background:#fff}.section-title,.role-content,.project{animation:none!important}.contact h2{font-size:32px}}@media(max-width:360px){.email-link{font-size:14px}.email-link span{margin-left:4px}.site-header nav{font-size:8px}}.arm-left,.arm-right{transition:d .55s ease}.chapter-portrait{margin:0 0 36px;display:flex;align-items:center;gap:22px;width:fit-content;max-width:100%}.portrait-art{width:112px;flex:0 0 112px;position:relative;background:radial-gradient(ellipse at 50% 55%,#dbe5d5 0,transparent 67%);border-bottom:1px solid #ced9c8}.chapter-portrait .person{width:112px;max-width:100%}.chapter-portrait figcaption{max-width:210px;line-height:1.5}.chapter-portrait figcaption span{display:block;color:#6c7d65;font-size:10px;letter-spacing:.5px;margin-bottom:6px}.chapter-portrait figcaption strong{font-family:Georgia,serif;font-weight:400;font-style:italic;font-size:18px;color:#57735d}.role-date .chapter-portrait{margin:32px 0 0;display:block;width:130px}.role-date .portrait-art,.role-date .person{width:130px}.role-date figcaption{margin-top:13px}.role-date figcaption strong{font-size:14px}.role-date figcaption span{font-size:9px}.hero .journey-art{width:260px;max-width:100%;display:block}.hero .chapter-portrait{display:flex;flex-direction:column;gap:14px;margin:0;text-align:center}.hero .portrait-art{width:180px;flex-basis:auto}.hero .person{width:180px}.hero .chapter-portrait figcaption strong{font-size:16px}.skills .chapter-portrait figcaption span,.skills .chapter-portrait figcaption strong{color:#d4e1cb}.skills .portrait-art{background:radial-gradient(ellipse at 50% 55%,#6c8c7040 0,transparent 70%);border-color:#64816e}.contact>.chapter-portrait{margin-top:28px;margin-bottom:22px}.character-age{text-align:center;font-size:9px;line-height:1.5;color:#73816a;margin:5px 8px 0}.character-scene>.person{width:165px}.person--intro .arm-right{animation:wave 1.8s ease-in-out 2}.person--skills .arm-right,.person--contact .arm-left{animation:gesture .8s ease-in-out}.chapter-prop{animation:prop-enter .45s ease-out both;transform-origin:100px 155px}@keyframes prop-enter{0%{opacity:0;transform:translateY(5px) rotate(-3deg)}to{opacity:1;transform:none}}@media(max-width:1150px){.role-date .chapter-portrait,.role-date .portrait-art,.role-date .person{width:96px}.character-scene>.person{width:135px}}@media(max-width:850px){.role-date .chapter-portrait{display:flex;flex-basis:100%;width:100%;margin:8px 0 0;gap:15px}.role-date .portrait-art{flex-basis:88px;width:88px}.role-date .person{width:88px}.role-date figcaption{margin-top:0}.hero .journey-art{display:none}.character-scene>.person{width:102px}.character-age{font-size:8px}}@media(max-width:600px){.chapter-portrait{gap:14px;margin-bottom:25px}.portrait-art{width:88px;flex-basis:88px}.chapter-portrait .person{width:88px}.chapter-portrait figcaption strong{font-size:16px}.chapter-portrait figcaption span{font-size:9px}.character-scene>.person{width:66px}.character-age{display:none}.chapter-portrait .head,.chapter-portrait .arm-left,.chapter-portrait .arm-right{animation:none}.role-date .chapter-portrait{gap:12px}.role-date figcaption strong{font-size:14px}}@media(prefers-reduced-motion:reduce){.chapter-prop,.person--intro .arm-right,.person--skills .arm-right,.person--contact .arm-left{animation:none}}@media print{.chapter-portrait{display:none}}.character-artwork{position:relative;width:100%;aspect-ratio:3/4}.character-artwork>.person{width:100%;height:100%}.pose-sequence{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate}.pose-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;mix-blend-mode:plus-lighter;opacity:0;animation-duration:5.6s;animation-iteration-count:infinite;animation-delay:.25s;animation-timing-function:linear;animation-fill-mode:both}.pose-frame--1{opacity:1;animation-name:chapter-pose-1}.pose-frame--2{animation-name:chapter-pose-2}.pose-frame--3{animation-name:chapter-pose-3}.pose-frame--4{animation-name:chapter-pose-4}.pose-sequence[data-ready=false] .pose-frame{animation:none;opacity:1}.character-artwork[data-paused=true] *{animation-play-state:paused!important}@keyframes chapter-pose-1{0%,12%,to{opacity:1}20%,88%{opacity:0}}@keyframes chapter-pose-2{0%,12%,44%,to{opacity:0}20%,36%{opacity:1}}@keyframes chapter-pose-3{0%,36%,68%,to{opacity:0}44%,60%{opacity:1}}@keyframes chapter-pose-4{0%,60%,to{opacity:0}68%,88%{opacity:1}}@media(max-width:600px){.pose-frame{animation-duration:6.8s}}@media(prefers-reduced-motion:reduce){.pose-frame{animation:none!important;opacity:0!important}.pose-frame--4,.pose-sequence[data-ready=false] .pose-frame--1{opacity:1!important}}.role-progression,.role-achievements{margin:32px 0}.role-progression h4,.role-achievements h4{font-size:12px;letter-spacing:1.3px;text-transform:uppercase;color:var(--teal);margin:0 0 20px}.role-progression ol,.role-achievements ol{list-style:none;padding:0;margin:0}.role-progression li{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.role-progression li span,.achievement-year{font-variant-numeric:tabular-nums;color:var(--teal)}.role-achievements li{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line)}.achievement-year{font-size:14px;font-weight:600;padding-top:2px}.role-achievements h5{font-size:18px;line-height:1.4;margin:0 0 9px;font-weight:600}.role-achievements p{font-size:14px;line-height:1.75;color:var(--muted)}@media(max-width:600px){.role-progression li{grid-template-columns:1fr;gap:2px}.role-achievements li{grid-template-columns:1fr;gap:8px}.role-achievements h5{font-size:17px}}@media print{.role-achievements li,.role-progression li{break-inside:avoid}.role-latest{break-inside:auto!important}}.pose-sequence[data-action=present-resume],.pose-sequence[data-action=present-expertise],.pose-sequence[data-action=present-regional-platform],.pose-sequence[data-action=present-portfolio]{transform:scaleX(-1)}.continued-learning{border-top:1px solid var(--line);padding:24px 0}.continued-learning p{font-size:15px;color:var(--muted);max-width:58ch}.career-note{font-size:13px;line-height:1.9;color:var(--muted);margin:28px 0}.career-note strong{color:var(--teal)}.engineering-loop{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:28px 0 36px;margin:0;border-bottom:1px solid currentColor}.engineering-loop h3{font-size:23px;margin:8px 0}.engineering-loop p{font-size:14px;line-height:1.7;margin:0}.engineering-loop .small-label{color:inherit;opacity:.75}@media(max-width:1000px){.engineering-loop{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.engineering-loop{grid-template-columns:1fr;gap:22px}.engineering-loop h3{font-size:21px}.engineering-loop p,.continued-learning p{font-size:12px}}.achievement-source{font-size:12px;margin-top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
