@charset "UTF-8";
:root{--paper:#f7f8f4;--ink:#172c24;--muted:#5e6c62;--dark:#102720;--lime:#c5eb98;--line:#dce1d7;--font:"Segoe UI",Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #639d36;outline-offset:6px}::selection{background:var(--lime);color:var(--dark)}.wrap{width:min(1180px,calc(100% - 112px));margin-inline:auto}.dark-intro{background:var(--dark);color:#f6f7ef}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:109px;border-bottom:1px solid #ffffff20}.wordmark{display:flex;align-items:center;font-size:25px;font-weight:650;letter-spacing:-1.2px}.brand-mark{display:grid;place-items:center;position:relative;width:34px;height:34px;margin-right:12px;background:var(--lime);border-radius:7px;color:var(--dark);font-size:31px;line-height:1;letter-spacing:-6px;padding-right:6px;padding-bottom:7px}.brand-mark span{font-size:23px}.brand-dot{color:var(--lime)}.site-header nav{display:flex;align-items:center;gap:33px;font-size:14px}.site-header nav a{color:#e3e9df;transition:color .2s}.site-header nav a:hover{color:var(--lime)}.nav-contact{border:1px solid #c5eb9850;padding:11px 16px;border-radius:4px}.nav-contact span{margin-left:16px;color:var(--lime)}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:68px;padding-block:65px 58px;align-items:center}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1.7px;font-weight:600;color:#c7d4c5;margin:0 0 25px}.small-line{width:25px;height:1px;background:var(--lime);flex-shrink:0}h1{font-size:clamp(62px,6.3vw,88px);font-weight:550;line-height:1.02;letter-spacing:-4.8px;margin:0 0 25px}.accent{color:var(--lime)}.hero-role{font-size:23px;line-height:1.5;letter-spacing:-.5px;margin:0 0 20px;font-weight:400}.hero-role span{color:var(--lime)}.hero-description{font-size:16px;line-height:1.8;color:#bfcdbd;max-width:455px;margin:0 0 31px}.button{display:inline-flex;align-items:center;gap:33px;background:var(--lime);color:var(--dark);border-radius:4px;font-size:14px;font-weight:600;padding:16px 21px;transition:background .2s,transform .2s}.button span{font-size:21px;line-height:1}.button:hover{background:#d8f7b6;transform:translateY(-2px)}.portrait{width:100%;max-width:440px;justify-self:end;margin:0}.portrait img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;object-fit:cover;border-radius:6px;border:1px solid #b8d1b333}.portrait figcaption{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#afc3aa;letter-spacing:.4px;padding-top:15px}.intro-bottom{border-top:1px solid #ffffff20;display:flex;justify-content:space-between;padding-block:21px;color:#afc0ac;font-size:11px;letter-spacing:.3px}.intro-bottom a span{color:var(--lime);margin-left:16px}.section{display:grid;grid-template-columns:240px 1fr;gap:30px;padding-block:79px}.section-label{display:flex;align-items:baseline;gap:15px;font-size:10px;letter-spacing:1.6px;font-weight:650;padding-top:7px}.section-number{font-size:10px;letter-spacing:0;color:#64785e}.profile{padding-bottom:66px}.profile h2{font-size:35px;font-weight:500;line-height:1.3;letter-spacing:-1.15px;margin:0 0 27px}.muted-heading{color:#748170}.profile-text{display:grid;grid-template-columns:1fr 1fr;gap:32px}.profile-text p{font-size:15px;line-height:1.9;color:var(--muted);margin:0}.expertise{border-top:1px solid var(--line);padding-top:52px;padding-bottom:83px}.expertise-row{display:grid;grid-template-columns:48px 1fr 20px;gap:20px;align-items:start;padding-block:28px;border-bottom:1px solid var(--line)}.expertise-row:first-of-type{padding-top:0}.expertise-row:last-of-type{border-bottom:0;padding-bottom:0}.expertise-row h3{font-size:22px;font-weight:500;letter-spacing:-.5px;margin:0 0 9px}.expertise-row p{font-size:14px;line-height:1.8;color:var(--muted);max-width:540px;margin:0}.expertise-icon{display:grid;place-items:center;background:#eaf0e1;border:1px solid #dbe5d1;border-radius:7px;width:44px;height:44px;color:#3e5e32}.expertise-icon svg{width:25px;height:25px}.row-number{font-size:10px;color:#73816c;padding-top:7px}.contact-section{background:#e7eddf}.contact-inner{display:grid;grid-template-columns:240px 1fr;gap:30px;padding-block:65px}.contact-content h2{font-size:43px;line-height:1.2;letter-spacing:-1.7px;font-weight:500;margin:0 0 22px}.contact-content h2>span{color:#668947}.contact-content>p{font-size:14px;line-height:1.8;color:#56674f;margin:0 0 26px}.email-link{display:flex;align-items:center;justify-content:space-between;max-width:590px;font-size:clamp(23px,3vw,37px);letter-spacing:-1.25px;border-bottom:1px solid #9eb18e;padding-bottom:16px;gap:20px}.email-link:hover{color:#4c6c35}.email-link span{font-size:40px}.contact-meta{display:flex;justify-content:space-between;gap:20px;max-width:590px;margin-top:20px;font-size:11px;color:#5d7054}.contact-meta a:hover{text-decoration:underline}.contact-meta a span{margin-left:8px}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:30px;font-size:11px;color:#61705a}.footer-brand{font-size:19px;font-weight:650;letter-spacing:-.8px;color:var(--ink)}.footer nav{display:flex;gap:24px}.footer nav a:hover{text-decoration:underline}.skip-link{position:fixed;z-index:5;top:10px;left:10px;transform:translateY(-160%);padding:12px;background:var(--lime);color:var(--dark)}.skip-link:focus{transform:translateY(0)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.legal-page .site-header{color:var(--ink);border-color:var(--line)}.legal-page .site-header nav a{color:var(--ink)}.legal-page .brand-dot{color:#658b46}.legal-content{max-width:760px;margin-inline:auto;padding:70px 0 90px}.legal-content .eyebrow{color:var(--muted)}.legal-content h1{font-size:48px;letter-spacing:-2px;margin-bottom:35px}.legal-content h2{font-size:21px;font-weight:550;margin-top:32px}.legal-content p,.legal-content address,.legal-content li{font-size:16px;line-height:1.9;color:var(--muted);font-style:normal}.legal-content a:not(.back-link){text-decoration:underline;text-underline-offset:4px}.legal-content .back-link{display:inline-block;margin-top:30px;font-size:14px;font-weight:600}.legal-page .footer{border-top:1px solid var(--line)}
.professional-title{display:block;font-size:22px;font-weight:400;letter-spacing:-.4px;line-height:1.4;margin-bottom:10px;color:#c6d5c3}
@media(min-width:1500px){.hero{padding-block:80px 75px;gap:100px}.hero-description{max-width:460px}}
@media(max-width:1050px){.wrap{width:calc(100% - 72px)}.hero{gap:35px;grid-template-columns:1.1fr 1fr}.hero h1{font-size:72px}.hero-role{font-size:21px}.eyebrow{font-size:8px;letter-spacing:1.1px}.section,.contact-inner{grid-template-columns:175px 1fr;gap:20px}.profile h2{font-size:31px}.contact-content h2{font-size:38px}.profile-text{gap:24px}}
@media(max-width:760px){.portrait{width:min(100%,380px);justify-self:center}.portrait figcaption{font-size:10px}.wrap{width:calc(100% - 44px)}.site-header{min-height:83px}.wordmark{font-size:22px}.brand-mark{width:29px;height:29px;font-size:27px;border-radius:5px;margin-right:9px;padding-bottom:6px}.brand-mark span{font-size:19px}.site-header nav{gap:18px;font-size:12px}.nav-contact{padding:8px 10px}.nav-contact span{margin-left:5px}.hero{grid-template-columns:1fr;gap:38px;padding-block:48px 35px}.hero h1{font-size:clamp(63px,13.3vw,88px);letter-spacing:-4px}.eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:23px}.hero-role{font-size:23px}.hero-description{max-width:480px}.intro-bottom{font-size:10px;padding-block:19px}.section,.contact-inner{grid-template-columns:1fr;gap:28px;padding-block:45px}.section-label{font-size:9px;padding-top:0}.profile h2{font-size:30px;letter-spacing:-1px;margin-bottom:22px}.profile-text{grid-template-columns:1fr;gap:17px}.profile-text p{font-size:15px;line-height:1.8}.expertise{padding-top:34px}.expertise-row{gap:14px;grid-template-columns:44px 1fr 16px;padding-block:25px}.expertise-row h3{font-size:21px}.expertise-row p{font-size:14px}.contact-content h2{font-size:35px;letter-spacing:-1.1px}.email-link{font-size:clamp(22px,5.8vw,35px);letter-spacing:-1px}.email-link span{font-size:31px}.contact-meta{font-size:10px;gap:12px}.footer{flex-wrap:wrap;padding-block:25px;font-size:10px;row-gap:17px}.footer nav{gap:18px}.legal-content{padding-block:45px 60px}.legal-content h1{font-size:39px}.legal-content p,.legal-content address,.legal-content li{font-size:15px}}
@media(max-width:390px){.site-header nav>a:first-child{display:none}.site-header nav{gap:12px}.eyebrow{font-size:8px;letter-spacing:.6px}.hero h1{font-size:62px}.hero-role{font-size:21px}.contact-content h2{font-size:31px}.contact-meta{flex-direction:column;gap:12px}.footer>span{margin-left:auto}.footer nav{width:100%;justify-content:flex-end}.profile h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{body{background:white;color:black}.dark-intro{background:white;color:black}.site-header nav,.portrait,.intro-bottom,.button,.skip-link{display:none}.wrap{width:100%}.hero{display:block;padding-block:25px}.hero h1{font-size:50px;color:black}.hero-role,.hero-role span,.hero-description,.eyebrow{color:black}.section,.contact-inner{padding-block:25px}.contact-section{background:white}.footer{border-top:1px solid #ccc}.accent{color:black}.hero h1 br{display:none}.hero h1 br::after{content:' '}.contact-content h2{font-size:28px}.profile,.expertise-row,.contact-section{break-inside:avoid}}

.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}
.portrait-context{padding:0}.portrait-stage{position:relative;filter:drop-shadow(0 12px 18px #00000020)}.portrait-context img{clip-path:url(#portrait-puzzle);border:0;border-radius:0;aspect-ratio:4/5}.portrait-puzzle-outline{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;overflow:visible}.portrait-puzzle-outline path{fill:none;stroke:#c5eb983b;stroke-width:1;vector-effect:non-scaling-stroke}.portrait-context-note{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px;padding-bottom:5px}.context-mini-frames{position:relative;display:block;flex:0 0 28px;width:28px;height:20px;border:1px solid #c5eb9866;border-radius:3px}.context-mini-frames::before,.context-mini-frames::after{content:"";position:absolute;width:100%;height:100%;border:1px solid #c5eb983b;border-radius:3px;top:-4px;left:4px}.context-mini-frames::after{top:-8px;left:8px;border-color:#c5eb9824}.portrait-context-note p{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;font-size:10px;line-height:1.6;color:#a8bda2;margin:0}.portrait-context-note p span+span::before{content:"·";padding-right:10px;color:#78916e}.portrait:has(.portrait-context) figcaption{padding-top:17px}
@media(max-width:760px){.portrait-context-note{gap:12px;margin-top:18px}.portrait-context-note p{font-size:9px;gap:3px 7px}.portrait-context-note p span+span::before{padding-right:7px}.context-mini-frames{flex-basis:23px;width:23px;height:17px}.portrait:has(.portrait-context) figcaption{padding-top:16px}}
.portrait-stage{isolation:isolate;filter:drop-shadow(10px 20px 20px #00000042)}.portrait-stage::before,.portrait-stage::after{content:"";position:absolute;inset:0;clip-path:url(#portrait-puzzle);pointer-events:none}.portrait-stage::before{z-index:0;transform:translate(6px,8px);background:linear-gradient(135deg,#83917a 0%,#4b6041 38%,#203627 72%,#40543a 100%)}.portrait-stage::after{z-index:1;transform:translate(3px,4px);background:linear-gradient(145deg,#b2bfa1 0%,#61734f 35%,#344a32 76%,#6a7a56 100%)}.portrait-stage>img{position:relative;z-index:2}.portrait-stage>.portrait-puzzle-outline{z-index:3}.portrait-puzzle-outline path{stroke:url(#portrait-edge-light);stroke-width:1.4}.portrait-context-note{margin-top:28px}
@media(max-width:760px){.portrait-stage{filter:drop-shadow(7px 14px 15px #0000003b)}.portrait-stage::before{transform:translate(4px,6px)}.portrait-stage::after{transform:translate(2px,3px)}.portrait-context-note{margin-top:25px}}
