:root{color-scheme:light;--bg:#f5f6f3;--bg2:#eef0eb;--tx:#202822;--mu:#606b62;--accent:#48634b;--bd:#d3d9d1;--card:#edf0ea;--a:#48634b;--b:#334f3b;--c:#994636;--ease:cubic-bezier(.23,1,.32,1);--radius:4px}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark;--bg:#171e19;--bg2:#202a22;--tx:#edf0e9;--mu:#afb9ad;--bd:#3a463c;--card:#253127;--heading-accent:#b3c7a4;--a:#a5ba96;--b:#b3c7a4;--c:#df9c87}}
:root[data-theme="dark"]{color-scheme:dark;--bg:#171e19;--bg2:#202a22;--tx:#edf0e9;--mu:#afb9ad;--bd:#3a463c;--card:#253127;--heading-accent:#b3c7a4;--a:#a5ba96;--b:#b3c7a4;--c:#df9c87}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--font-manrope),Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,h4,p,figure,dl,dd{margin:0}img{display:block;max-width:100%}::selection{background:#becdb2;color:#202822}:focus-visible{outline:2px solid var(--tx);outline-offset:6px;border-radius:2px}.page-width{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:112px;border-top:1px solid var(--bd)}.section-intro{max-width:820px;margin-bottom:54px}h2{font-size:clamp(2.1rem,4.6vw,4rem);font-weight:500;letter-spacing:-.065em;line-height:1.13;text-wrap:balance}h2 em{font-style:normal;color:var(--heading-accent,var(--accent))}.section-lead{max-width:640px;margin-top:24px;color:var(--mu);font-size:17px;line-height:1.8;text-wrap:pretty}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--mu);margin-bottom:22px}.skip-link{position:fixed;left:20px;top:10px;z-index:3;transform:translateY(-160%);padding:12px 18px;background:var(--tx);color:var(--bg)}.skip-link:focus{transform:translateY(0)}
/* Layers: header 1, mobile nav 2, skip link 3. */
.site-header{position:sticky;top:0;z-index:1;background:var(--bg);border-bottom:1px solid var(--bd)}.site-nav{width:min(1440px,calc(100% - 80px));height:80px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{flex:none}.logo img{width:128px;height:48px;object-fit:contain}.nav-actions,.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{font-size:13px;position:relative;color:var(--mu);padding-block:12px}.nav-links a::after{position:absolute;content:'';height:1px;left:0;right:0;bottom:7px;background:var(--tx);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease)}.nav-links a[aria-current]{color:var(--tx)}.nav-links a[aria-current]::after{transform:scaleX(1)}.theme-toggle{margin-left:8px;border:0;border-left:1px solid var(--bd);background:none;padding:6px 0 6px 22px;font-size:11px;color:var(--mu);min-width:80px;min-height:44px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;align-items:center;padding-block:64px 84px;min-height:min(800px,calc(100svh - 80px))}.hero-kicker{font-size:12px;letter-spacing:.05em;color:var(--mu);margin-bottom:28px}.hero h1{font-size:clamp(4.4rem,8.1vw,7.75rem);font-weight:500;letter-spacing:-.085em;line-height:1.04;margin-left:-.065em}.name-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.name-line>span{display:block}.name-period{color:var(--accent)}.hero-lead{margin-top:30px;max-width:470px;font-size:15px;line-height:1.85;color:var(--mu);text-wrap:pretty}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px}.button{min-height:52px;padding:14px 23px;display:inline-flex;gap:30px;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;border-radius:var(--radius);white-space:nowrap;transition:transform 160ms var(--ease),background-color 160ms ease}.button-primary{background:var(--accent);color:var(--accent-ink,#f5f6f3)}.arrow{display:inline-block;transition:transform 220ms var(--ease)}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid var(--bd);padding-block:10px;white-space:nowrap}.text-link span{transition:transform 220ms var(--ease)}.hero-figure{align-self:center}.hero-photo-frame{height:clamp(420px,41vw,570px);border-radius:var(--radius);overflow:hidden;background:var(--bg2)}.hero-photo-frame picture{display:block;width:100%;height:100%}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:49% center;filter:saturate(.62);transition:transform 900ms var(--ease)}.hero-figure figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:17px;font-size:10px;color:var(--mu)}.hero-figure figcaption span:last-child{text-align:right}.about-body{display:grid;grid-template-columns:1.5fr 1fr;gap:13%}.approach-list{display:grid;gap:34px}.approach{display:grid;grid-template-columns:150px 1fr;gap:30px;align-items:start}.approach h3{font-size:15px;font-weight:600;line-height:1.5;letter-spacing:-.02em}.approach p{font-size:14px;line-height:1.85;color:var(--mu)}.profile-notes{border-left:1px solid var(--bd);padding-left:36px}.aside-title{color:var(--mu);font-size:11px;letter-spacing:.04em;margin-bottom:24px}.stats{display:grid;gap:20px}.stats>div{display:flex;flex-direction:row-reverse;align-items:baseline;justify-content:flex-end;gap:22px}.stats dd{font-size:27px;line-height:1.1;letter-spacing:-.055em;min-width:70px;font-variant-numeric:tabular-nums}.stats dt{font-size:11px;color:var(--mu)}.roles{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:28px}.roles span{font-size:10px;color:var(--mu)}.experience .section-intro{margin-bottom:48px}.experience-row{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding-block:38px;border-top:1px solid var(--bd)}.experience-company h3{font-size:23px;line-height:1.4;font-weight:500;letter-spacing:-.04em}.experience-date{font-family:monospace;font-size:10px;color:var(--mu);line-height:1.8;margin-top:13px;max-width:320px}.experience-description h4{font-size:16px;font-weight:500;margin-bottom:14px}.experience-description p{color:var(--mu);font-size:14px;line-height:1.85;max-width:540px}.services h2{max-width:700px}.service{border-top:1px solid var(--bd)}.service summary{list-style:none;display:flex;justify-content:space-between;gap:28px;align-items:center;padding-block:25px;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service h3{font-size:clamp(21px,2.9vw,34px);font-weight:400;line-height:1.4;letter-spacing:-.045em;transition:color 180ms ease,transform 220ms var(--ease)}.service-toggle{font-family:Arial,sans-serif;font-size:28px;font-weight:300;line-height:1;transition:transform 220ms var(--ease);width:32px;text-align:center}.service[open] .service-toggle{transform:rotate(45deg)}.service[open] h3{color:var(--heading-accent,var(--accent))}.service-content{padding:0 64px 30px 0;max-width:630px}.service-content p{color:var(--mu);font-size:15px;line-height:1.9}.service[open] .service-content{animation:detail-reveal 260ms var(--ease)}@keyframes detail-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.skills{display:grid;grid-template-columns:1fr 1fr;gap:20px 12%;align-items:start}.skills .section-intro{margin-bottom:0}.skill-list{margin:0;padding:0;list-style:none;display:grid;gap:24px}.skill-list li{display:flex;justify-content:space-between;gap:22px;font-size:16px;font-weight:500;letter-spacing:-.025em;padding-bottom:18px;border-bottom:1px solid var(--bd)}.skill-list li>span{font-size:15px;color:var(--mu)}.focus-areas{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.focus-areas span{font-size:11px;padding:6px 14px;border:1px solid var(--bd);border-radius:var(--radius);color:var(--mu)}.contact{padding-block:96px 84px}.contact-inner{max-width:1040px}.contact h2{max-width:700px}.contact .section-lead{margin-bottom:44px}.contact-email{font-size:clamp(1.2rem,3.4vw,2.8rem);line-height:1.6;letter-spacing:-.045em;display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid var(--tx);max-width:100%;overflow-wrap:anywhere;padding-bottom:8px}.contact-email .arrow{font-size:.9em;flex:none}.contact-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:42px;font-size:12px;color:var(--mu)}.social-links{display:flex;gap:28px}.social-links a{display:inline-flex;gap:10px;align-items:center;min-height:32px}.site-footer{display:flex;justify-content:space-between;gap:26px;border-top:1px solid var(--bd);padding-block:28px 34px;color:var(--mu);font-size:10px}.site-footer>div{display:flex;gap:36px;align-items:center}.back-top{display:flex;gap:16px;align-items:center;min-height:32px}.photo-credit{font-size:9px}
@media(hover:hover) and (pointer:fine){.nav-links a:hover{color:var(--tx)}.nav-links a:hover::after{transform:scaleX(1)}.button:hover{transform:translateY(-2px)}a:hover>.arrow{transform:translate(3px,-3px)}.text-link:hover>span{transform:translateY(3px)}.hero-figure:hover .hero-photo{transform:scale(1.025)}.service summary:hover h3{transform:translateX(7px);color:var(--heading-accent,var(--accent))}.social-links a:hover,.phone-link:hover{color:var(--tx)}}.button:active,.theme-toggle:active,.menu-toggle:active{transform:scale(.98)}
:root[data-theme="dark"] .logo img{filter:invert(1)}@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo img{filter:invert(1)}}
@media(min-width:1600px){.page-width{max-width:1360px}.hero{padding-block:80px 96px;min-height:800px}}
@media(max-width:1100px){.page-width{width:calc(100% - 72px)}.site-nav{width:calc(100% - 56px);height:78px}.nav-actions,.nav-links{gap:20px}.hero{gap:6%;padding-block:54px 68px;min-height:auto}.hero h1{font-size:clamp(4rem,8.8vw,6rem)}.hero-photo-frame{height:470px}.hero-lead{font-size:14px}.hero-actions{gap:20px}.button{gap:22px;padding-inline:18px}.section{padding-block:84px}.about-body{gap:8%}.approach{grid-template-columns:120px 1fr;gap:22px}.profile-notes{padding-left:24px}.contact-email{font-size:3.5vw}.hero-figure figcaption{font-size:9px}}
@media(max-width:767px){html{scroll-padding-top:90px}.page-width{width:calc(100% - 40px)}.site-nav{width:calc(100% - 40px);height:74px;gap:16px}.logo img{width:104px;height:43px}.nav-actions{gap:18px}.theme-toggle{border:0;margin:0;padding:8px 0;min-width:62px;font-size:10px}.menu-toggle{display:flex;align-items:center;gap:10px;border:0;background:none;padding:10px 0;min-height:44px;font-size:12px}.menu-mark{position:relative;display:grid;gap:5px;width:18px}.menu-mark i{display:block;height:1px;background:var(--tx);transition:transform 200ms var(--ease)}.menu-open .menu-mark i:first-child{transform:translateY(3px) rotate(45deg)}.menu-open .menu-mark i:last-child{transform:translateY(-3px) rotate(-45deg)}.nav-links{position:absolute;top:100%;left:0;right:0;z-index:2;display:grid;gap:0;padding:16px 20px 22px;background:var(--bg);border-bottom:1px solid var(--bd);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity 180ms var(--ease),transform 220ms var(--ease),visibility 220ms}.menu-open .nav-links{visibility:visible;opacity:1;transform:none}.nav-links a{font-size:18px;min-height:48px;padding:10px 0;width:fit-content}.nav-links a::after{bottom:6px}.hero{display:flex;flex-direction:column;gap:42px;align-items:stretch;padding-block:40px 56px}.hero-copy{max-width:560px}.hero-kicker{font-size:10px;margin-bottom:22px}.hero h1{font-size:clamp(4.1rem,15vw,7rem);line-height:1.03;letter-spacing:-.075em}.hero h1 .name-line{display:inline-block;margin-right:.18em}.hero h1 .name-line:last-child{margin-right:0}.hero-lead{margin-top:24px;font-size:14px;line-height:1.85;max-width:520px}.hero-actions{margin-top:26px;gap:26px}.button{min-height:48px;padding:13px 18px;font-size:12px}.text-link{font-size:11px}.hero-photo-frame{height:340px}.hero-figure figcaption{font-size:9px;margin-top:12px}.section{padding-block:62px}.section-intro{margin-bottom:36px}.eyebrow{font-size:10px;margin-bottom:16px}h2{font-size:clamp(2rem,8.5vw,3rem);letter-spacing:-.06em}.section-lead{font-size:14px;margin-top:20px;line-height:1.85}.about-body{grid-template-columns:1fr;gap:38px}.approach{grid-template-columns:1fr;gap:8px}.approach-list{gap:28px}.approach h3{font-size:15px}.approach p{font-size:13px}.profile-notes{border-left:0;border-top:1px solid var(--bd);padding:26px 0 0}.stats{grid-template-columns:repeat(3,1fr);gap:14px}.stats>div{flex-direction:column-reverse;gap:12px}.stats dd{font-size:26px}.stats dt{font-size:10px;line-height:1.7}.aside-title{margin-bottom:22px}.roles{margin-top:22px;gap:6px 20px}.experience-row{grid-template-columns:1fr;gap:22px;padding-block:30px}.experience-company h3{font-size:23px}.experience-date{margin-top:8px;font-size:9px}.experience-description h4{font-size:15px}.experience-description p{font-size:13px}.service summary{padding-block:22px;gap:18px}.service h3{font-size:21px}.service-toggle{font-size:24px}.service-content{padding:0 30px 24px 0}.service-content p{font-size:13px}.skills{grid-template-columns:1fr;gap:35px}.skill-list{gap:20px}.skill-list li{font-size:14px;padding-bottom:16px}.focus-areas{margin-top:0;gap:7px}.focus-areas span{font-size:10px;padding:5px 10px}.contact .section-lead{margin-bottom:30px}.contact-email{font-size:clamp(1rem,4.25vw,1.7rem);gap:12px;letter-spacing:-.035em}.contact-bottom{flex-direction:column;gap:20px;margin-top:30px}.social-links{flex-wrap:wrap;gap:24px}.site-footer{flex-direction:column;gap:15px;padding-block:24px}.site-footer>div{justify-content:space-between;gap:12px}.photo-credit{font-size:8px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}@supports(animation-timeline:scroll()){.hero-photo{animation:mountain-depth linear both;animation-timeline:scroll(root block);animation-range:0 700px}@keyframes mountain-depth{from{transform:scale(1)}to{transform:scale(1.07) translateY(2%)}}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.hero-photo{transform:none!important}}
