:root{--theme:#81c784;--theme-dark:#2f6f46;--theme-soft:#e7f5e9;--ink:#17211d;--muted:#5e6f66;--paper:#f8faf4;--white:#fff;--mist:#e5eff1;--clay:#b36b4f;--charcoal:#1f2a25;--line:#17211d21;--shadow:0 24px 70px #17211d24}*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:clip}body{background:linear-gradient(180deg, #81c78426, transparent 480px), var(--paper);max-width:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden}body.drawer-open{overflow:hidden}body.loaded{animation:.9s both pageTint}img{display:block}a{color:inherit;text-decoration:none}main{overflow-x:clip}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0}h1{max-width:8ch;margin-bottom:16px;font-size:clamp(4.2rem,8.6vw,8.8rem);line-height:.88}h2{max-width:min(100%,18ch);margin-bottom:18px;padding:.2em 0 .28em;font-size:clamp(2.2rem,4.8vw,4.75rem);line-height:1.16;overflow:visible}h3{margin-bottom:10px;font-size:clamp(1.18rem,1.8vw,1.45rem);line-height:1.18}.site-header{z-index:40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8faf4e6;border:1px solid #ffffffb8;border-radius:999px;justify-content:space-between;align-items:center;gap:16px;width:min(1220px,100% - 36px);margin:16px auto 0;padding:10px 12px;display:flex;position:sticky;top:0;box-shadow:0 16px 44px #17211d17}.brand,.site-nav{align-items:center;display:flex}.brand{flex:none;gap:10px;font-weight:820}.brand-mark{background:var(--theme-dark);width:40px;height:40px;color:var(--white);border-radius:50%;place-items:center;font-size:.78rem;display:grid}.site-nav{justify-content:flex-end;gap:2px}.site-nav a{min-height:38px;color:var(--muted);white-space:nowrap;border-radius:999px;padding:8px 11px;font-size:.86rem;font-weight:720;transition:background .18s,color .18s,transform .18s}.site-nav a:hover,.site-nav a:focus-visible{background:var(--theme-soft);color:var(--theme-dark);transform:translateY(-1px)}.drawer-toggle{background:var(--white);width:44px;height:44px;color:var(--theme-dark);cursor:pointer;border:1px solid #2f6f463d;border-radius:50%;place-items:center;display:none}.drawer-toggle span{background:currentColor;border-radius:999px;width:18px;height:2px;margin:2px 0;display:block}.drawer-backdrop{z-index:45;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#17211d57;position:fixed;inset:0}.drawer-nav{z-index:50;background:var(--paper);visibility:hidden;align-content:start;gap:8px;width:min(360px,100vw - 34px);height:100dvh;padding:20px;transition:transform .24s,visibility .24s;display:grid;position:fixed;top:0;right:0;transform:translate(105%);box-shadow:-22px 0 60px #17211d2e}.drawer-nav[data-open=true]{visibility:visible;transform:translate(0)}.drawer-head{justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:850;display:flex}.drawer-head button{color:var(--theme-dark);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.drawer-nav a{border-bottom:1px solid var(--line);color:var(--ink);padding:14px 4px;font-size:1.25rem;font-weight:830}.hero{grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);align-items:center;gap:58px;width:min(1220px,100% - 36px);margin:0 auto;padding:70px 0 52px;display:grid}.hero-copy{max-width:660px}.eyebrow{color:var(--theme-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;font-size:.76rem;font-weight:880}.hero-kicker{width:fit-content;max-width:100%;color:var(--theme-dark);background:#ffffffbd;border:1px solid #81c78485;border-radius:999px;margin-bottom:18px;padding:9px 13px;font-weight:760}.type-line{min-height:40px;color:var(--clay);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;margin-bottom:22px;font-size:clamp(1.25rem,2.1vw,1.65rem);font-weight:830;display:flex}.type-static{color:var(--ink);flex:none;margin-right:.24ch}.type-line span:not(.type-static):not(.cursor){min-width:0}.cursor{background:var(--clay);width:2px;height:1.25em;margin-left:5px;animation:.8s steps(2,start) infinite blink;display:inline-block}.hero-lede,.section-heading p,.feature-content p,.presentation-section p,.contact p{color:var(--muted);font-size:clamp(1.02rem,2vw,1.19rem)}.hero-actions,.contact-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.button{border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:13px 20px;font-weight:820;transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-3px);box-shadow:0 14px 32px #2f6f4629}.button.primary{border-color:var(--theme-dark);background:var(--theme-dark);color:var(--white)}.button.secondary{background:#ffffffc2}.linkedin-button{transform-origin:50%;position:relative}.linkedin-button:hover,.linkedin-button:focus-visible{background:var(--white);border-color:#2f6f4661;animation:.42s cubic-bezier(.18,.9,.28,1.25) linkedinPop}.hero-media{min-height:650px;position:relative}.hero-portrait{width:min(82%,560px);box-shadow:var(--shadow);border-radius:8px;position:absolute;inset:0 0 58px auto;overflow:hidden}.hero-portrait:after{content:"";background:linear-gradient(#0000 40%,#17211d61);position:absolute;inset:0}.hero-portrait img,.feature-image img,.presentation-image img{object-fit:cover}.hero-portrait img{object-position:52% center}.hero-badge{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border:1px solid #ffffffb8;border-radius:8px;width:min(380px,72%);padding:24px;position:absolute;bottom:0;left:0;box-shadow:0 22px 56px #17211d29}.hero-badge span,.publication-item span,.experience-card span,.service-card span,.timeline-item span,.award-list span{color:var(--theme-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;font-size:.74rem;font-weight:880;display:inline-block}.hero-badge strong{font-size:1.35rem;line-height:1.25;display:block}.intro-strip{background:var(--charcoal);width:100%;color:var(--white);justify-content:space-between;align-items:center;gap:26px;padding:30px max(18px,50vw - 610px);display:flex}.intro-strip p{max-width:870px;margin:0;font-size:clamp(1.08rem,2vw,1.5rem);line-height:1.38}.intro-strip a{color:var(--theme);flex:none;font-weight:860}.section{width:min(1220px,100% - 36px);margin:0 auto;padding:96px 0}section[id]{scroll-margin-top:128px}.section-heading{max-width:760px;margin-bottom:42px}.education-section .section-heading h2{max-width:min(100%,17ch);padding-block:.28em .34em;font-size:clamp(1.95rem,3.45vw,3.35rem);line-height:1.22}.profile-heading-row{grid-template-columns:minmax(0,1fr) minmax(280px,.52fr);align-items:end;gap:24px;margin-bottom:42px;display:grid}.profile-heading-row .section-heading{margin-bottom:0}.profile-grid{grid-template-columns:1fr;gap:16px;display:grid}.profile-card,.profile-quote,.experience-card,.service-card,.timeline-item,.publication-item{border:1px solid var(--line);background:#ffffffbd;border-radius:8px;transition:transform .22s,box-shadow .22s,border-color .22s,background .22s}.profile-card:hover,.profile-quote:hover,.experience-card:hover,.service-card:hover,.timeline-item:hover,.publication-item:hover{background:var(--white);border-color:#81c784b8;transform:translateY(-6px);box-shadow:0 18px 46px #17211d1a}.profile-card{min-height:260px;padding:28px}.profile-quote{border:1px solid var(--line);background:linear-gradient(135deg, #81c78438, #ffffffd1), var(--white);border-radius:8px;min-height:250px;padding:28px}.profile-card.large{background:linear-gradient(135deg, #81c78442, #ffffffbf), var(--white);align-content:center;min-height:0;display:grid}.profile-card.large p{max-width:920px;font-size:clamp(1.08rem,2vw,1.24rem)}.profile-card p,.experience-card p,.service-card p,.timeline-item p,.publication-item p,.award-list p{color:var(--muted)}.quote-card blockquote{color:var(--theme-dark);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;margin:0;font-size:1.55rem;font-weight:850;line-height:1.2;display:flex}.quote-cursor{height:1em;margin-right:2px}.split{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);align-items:start;gap:72px;display:grid}.sticky-heading{margin-bottom:0;position:sticky;top:116px}.timeline,.publication-list{gap:14px;display:grid}.timeline-item,.publication-item{padding:28px}.timeline-item span,.publication-item span{margin-bottom:18px}.feature-band{background:var(--theme-soft);grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);align-items:start;min-height:0;display:grid}.feature-image{align-self:start;height:620px;min-height:0;position:relative}.feature-image img{object-position:center 22%}.feature-content{align-self:center;width:100%;max-width:none;padding:62px max(18px,50vw - 610px) 62px 56px}.feature-content p{max-width:920px;margin-bottom:16px}.experience-grid,.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.experience-card,.service-card{min-height:260px;padding:28px}.services-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-card{min-height:300px}.skills-awards{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:18px;display:grid}.awards-panel,.skills-panel{border-radius:8px;padding:36px}.awards-panel{background:var(--charcoal);color:var(--white)}.awards-panel .eyebrow,.awards-panel span{color:var(--theme)}.awards-panel h2{max-width:8ch}.award-list{gap:18px;margin-top:34px;display:grid}.award-list article{border-top:1px solid #ffffff2e;padding-top:22px}.award-list p{color:#ffffffb8;margin-bottom:0}.skills-panel{border:1px solid var(--line);background:var(--white)}.skill-tags{flex-wrap:wrap;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.skill-tags li{background:var(--theme-soft);color:var(--theme-dark);border:1px solid #81c7848f;border-radius:999px;padding:10px 13px;font-weight:760}.publication-list{border-top:1px solid var(--line)}.publication-item{border-top:0;border-right:0;border-bottom:1px solid var(--line);background:0 0;border-left:0;border-radius:0;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:26px;display:grid}.publication-item:hover{transform:translate(6px)}.publication-item h3,.publication-item p,.publication-item span{margin-top:0}.presentation-section{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:center;gap:64px;width:min(1220px,100% - 36px);margin:0 auto;padding:16px 0 96px;display:grid}.presentation-image{height:690px;box-shadow:var(--shadow);border-radius:8px;position:relative;overflow:hidden}.presentation-image img{object-position:58% center}.trek-section{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start;gap:28px;width:min(1220px,100% - 36px);margin:0 auto 96px;display:grid}.trek-left{gap:18px;display:grid}.trek-image{aspect-ratio:1;min-height:0;box-shadow:var(--shadow);background:linear-gradient(135deg,#81c78438,#1f2a2514);border-radius:8px;align-self:start;position:relative;overflow:hidden}.trek-image img{object-fit:contain;object-position:center}.trek-intro,.trek-content{border:1px solid var(--line);background:linear-gradient(135deg, #81c78433, #fffc), var(--white);border-radius:8px;padding:42px}.trek-intro h2{max-width:14ch;margin-bottom:0;font-size:clamp(2.25rem,4.4vw,4.45rem)}.trek-content p{color:var(--muted);margin:0;font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.64}.trek-content p+p{margin-top:18px}.trek-content{display:block}.contact{background:linear-gradient(135deg, #81c784d6, #e5eff1e6), var(--theme);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:34px;width:min(1220px,100% - 36px);margin:0 auto 88px;padding:58px;display:grid}.contact h2{max-width:14ch}.contact p{color:#17211dbd}.site-footer{border-top:1px solid var(--line);width:min(1220px,100% - 36px);color:var(--muted);justify-content:space-between;gap:20px;margin:0 auto;padding:28px 0 42px;display:flex}.site-footer p{margin:0}.site-footer a{color:var(--theme-dark);font-weight:820}.reveal{opacity:0;transition:opacity .76s ease var(--delay), transform .76s cubic-bezier(.2, .72, .22, 1) var(--delay), clip-path .9s cubic-bezier(.2, .72, .22, 1) var(--delay)}.reveal[data-effect=fade-up]{transform:translateY(34px)}.reveal[data-effect=slide-left]{transform:translate(42px)}.reveal[data-effect=slide-right]{transform:translate(-42px)}.reveal[data-effect=scale-in]{transform:scale(.94)}.reveal[data-effect=tilt-in]{transform:translateY(30px)rotate(1.4deg)}.reveal[data-effect=wipe]{clip-path:inset(0 0 22%);transform:translateY(18px)}.reveal.is-visible{opacity:1;clip-path:inset(0);transform:none}@keyframes blink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes pageTint{0%{background-color:#eef7ee}to{background-color:var(--paper)}}@keyframes linkedinPop{0%{transform:translateY(-3px)scale(1)}48%{transform:translateY(-5px)scale(1.08)}to{transform:translateY(-3px)scale(1)}}@media (max-width:1100px){.site-header{align-items:center}.site-nav a{padding-inline:8px}.hero,.feature-band,.split,.presentation-section,.contact,.skills-awards{grid-template-columns:1fr}.hero{padding-top:54px}h1{max-width:10ch}.hero-copy{max-width:790px}.hero-media{min-height:620px}.hero-portrait{width:min(74%,580px)}.profile-heading-row,.profile-grid,.experience-grid,.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-card.large{min-height:340px}.sticky-heading{position:static}.feature-content{padding:58px 18px}.presentation-section{padding-top:0}.trek-section{grid-template-columns:minmax(210px,.66fr) minmax(0,1.34fr);gap:20px;margin-bottom:72px}.trek-image{min-height:0}.contact{align-items:start}}@media (max-width:1180px){.site-header{border-radius:999px;width:calc(100% - 24px)}.site-nav{display:none}.drawer-toggle{display:grid}section[id]{scroll-margin-top:102px}}@media (max-width:760px){.hero,.section,.presentation-section,.trek-section,.contact,.site-footer{width:calc(100% - 24px)}.hero{gap:34px;padding:44px 0 36px}h1{font-size:4rem}h2{font-size:2.45rem}.hero-actions,.contact-actions{display:grid}.button{width:100%}.hero-media{min-height:540px}.hero-portrait{width:86%;height:470px}.hero-badge{width:74%;padding:20px}.intro-strip{display:grid}.section{padding:72px 0}.profile-heading-row,.profile-grid,.experience-grid,.services-grid{grid-template-columns:1fr}.profile-card.large,.profile-quote,.feature-band{min-height:0}.feature-image{height:520px;min-height:520px}.publication-item{grid-template-columns:1fr;gap:8px}.presentation-image{height:560px}.trek-intro,.trek-content{padding:24px}.trek-image{min-height:0}.contact{margin-bottom:64px;padding:34px 22px}.site-footer{display:grid}}@media (max-width:560px){.trek-section{grid-template-columns:1fr}.trek-image{justify-self:center;width:min(100%,520px)}}@media (max-width:430px){.brand span:last-child{font-size:.95rem}h1{font-size:3.2rem}h2{font-size:2.08rem}.type-line{align-items:flex-start;min-height:72px;font-size:1.15rem}.hero-media{min-height:470px}.hero-portrait{height:410px}.hero-badge{width:88%}.feature-image,.presentation-image{height:480px;min-height:480px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.reveal{opacity:1;clip-path:none;transform:none}}
