:root{--bg:#101110;--surface:#181a17;--ink:#f1f3ea;--muted:#b1b6a9;--lime:#d5ff3f;--line:#363a31;--header-height:112px;--compact-header-height:72px;--portfolio-switch-width:344px;color:var(--ink);background:var(--bg);font-synthesis:none;font-family:Manrope,sans-serif}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--anchor-header-height,var(--header-height)) + 24px);scroll-behavior:smooth}body{min-width:280px;margin:0}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:hover{color:var(--lime)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:6px;border-radius:3px}#main:focus{outline:none}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}p,li,dd{overflow-wrap:break-word}::-moz-selection{color:var(--bg);background:var(--lime)}::selection{color:var(--bg);background:var(--lime)}.container{width:min(100% - 112px,1328px);margin-inline:auto}.section{padding-block:100px}.lime{color:var(--lime)}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;line-height:1.6}.skip-link{z-index:100;background:var(--lime);color:var(--bg);padding:12px 18px;position:absolute;top:12px;left:20px;transform:translateY(-180%)}.skip-link:focus{color:var(--bg);transform:none}.site-header{z-index:40;height:var(--header-height);pointer-events:none;position:sticky;top:0}.header-inner{height:var(--header-height);pointer-events:auto;border-radius:22px;justify-content:space-between;align-items:center;gap:28px;transition:height .24s,padding .24s,transform .24s,border-color .24s,box-shadow .24s;display:flex}.site-header:not([data-scrolled]) .header-inner{backdrop-filter:none;box-shadow:none;background:0 0;border-color:#0000}.site-header[data-scrolled] .header-inner{height:var(--compact-header-height);padding-inline:20px;transform:translateY(8px)}.brand{align-items:center;gap:13px;font-size:.9rem;font-weight:800;line-height:1.3;display:flex}.site-header .header-resume{visibility:hidden;opacity:0;gap:10px;min-height:40px;padding:6px 6px 6px 16px;transition:opacity .18s,transform .18s,visibility .18s,background-color .18s;transform:translateY(4px)}.header-resume .button-icon{width:26px;height:26px}.header-resume .button-icon svg{width:16px;height:16px}.site-header[data-past-hero] .header-resume{visibility:visible;opacity:1;transform:none}.header-actions{align-items:center;gap:18px;display:flex}.site-header nav,.footer-bottom nav{gap:28px;font-size:.82rem;display:flex}.site-header nav a,.header-email{padding-block:14px}.header-email{color:var(--muted);font-size:.8rem}.header-email span{color:var(--lime);margin-left:12px}.hero{min-height:calc(100svh - var(--header-height));grid-template-rows:1fr auto;grid-template-columns:1.25fr 1fr;gap:0 40px;padding-top:clamp(24px,4vh,44px);display:grid}.hero-copy{z-index:1;flex-direction:column;justify-content:center;padding-bottom:clamp(26px,4vh,45px);display:flex;position:relative}.hero-eyebrow{flex-wrap:wrap;align-items:center;gap:28px;margin-bottom:26px;display:flex}h1{letter-spacing:-.065em;text-transform:uppercase;font-size:clamp(3.5rem,6.7vw,6rem);font-weight:800;line-height:.99}.hero h1>span{margin-inline-start:-.07em;display:block}.hero h1>span:first-child{margin-inline-start:-.04em}.hero-description{color:var(--muted);max-width:475px;margin-top:26px;font-size:1rem;line-height:1.8}.hero-experience{color:var(--lime);font-size:.85rem;line-height:1.6}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.button{border:1px solid #666d5c;border-radius:999px;justify-content:center;align-items:center;gap:20px;min-height:46px;padding:7px 7px 7px 22px;font-size:.8rem;font-weight:700;line-height:1.4;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.button:focus-visible{border-radius:999px}.button-icon{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--lime);border-radius:50%;flex:none;place-items:center;transition:background-color .18s,border-color .18s,color .18s;display:grid;overflow:hidden}.button-icon svg{width:18px;height:18px}.button:is(:hover,:focus-visible){color:var(--ink);border-color:var(--lime);background:var(--surface)}.button:is(:hover,:focus-visible) .button-icon{border-color:var(--lime);background:var(--lime);color:var(--bg)}.button-primary{background:var(--lime);color:var(--bg);border-color:var(--lime)}.button-primary .button-icon,.button-primary:is(:hover,:focus-visible) .button-icon{border-color:var(--bg);background:var(--bg);color:var(--lime)}.button-primary:is(:hover,:focus-visible){color:var(--bg);background:#e2ff80}@media (prefers-reduced-motion:no-preference){.button:is(:hover,:focus-visible) [data-icon=resume]{animation:.38s button-download}.button:is(:hover,:focus-visible) [data-icon=contact]{animation:.38s button-contact}}@keyframes button-download{40%{opacity:0;transform:translateY(130%)}41%{opacity:0;transform:translateY(-130%)}to{opacity:1;transform:translateY(0)}}@keyframes button-contact{40%{opacity:0;transform:translate(110%,-110%)}41%{opacity:0;transform:translate(-110%,110%)}to{opacity:1;transform:translate(0)}}.text-link{text-underline-offset:5px;align-items:center;gap:10px;padding:14px 10px;font-size:.8rem;text-decoration:underline;display:inline-flex}.hero-portrait{background:#111;border-radius:8px 8px 0 0;align-self:stretch;min-width:0;position:relative;overflow:hidden}.hero-portrait>img{-o-object-fit:cover;object-fit:cover;-o-object-position:50% 15%;object-position:50% 15%;width:100%;height:100%;position:absolute}.hero-portrait:after{content:"";background:linear-gradient(#0000,#101110d9);position:absolute;inset:30% 0 0}.portrait-caption{z-index:1;flex-direction:column;align-items:start;gap:16px;font-size:1rem;line-height:1.6;display:flex;position:absolute;bottom:34px;left:30px;right:30px}.hero-bottom{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding-block:22px;font-size:.7rem;display:flex}.hero-bottom>span{max-width:calc((100% - var(--portfolio-switch-width)) / 2 - 16px);text-align:right}.availability-link{align-items:center;gap:10px;min-height:24px;display:inline-flex}.availability-link:hover{text-underline-offset:4px;text-decoration:underline}.availability-link:before{content:"";border:1px solid;border-radius:50%;flex:none;width:6px;height:6px}.hero-bottom span span{color:#767e6c;margin-inline:8px}.work-section,.skills-section{background:#1a1c18}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px;display:flex}.section-heading .eyebrow,.about-section .eyebrow,.contact-section>.container>.eyebrow{color:var(--lime);margin-bottom:20px}h2{letter-spacing:-.055em;font-size:clamp(2.25rem,4.25vw,3.8rem);font-weight:600;line-height:1.1}.section-heading>p{max-width:300px;color:var(--muted);font-size:.9rem;line-height:1.8}.case-studies{gap:60px;display:grid}.case-study{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(36px,5vw,72px);display:grid}.case-study+.case-study{border-top:1px solid #3b4034;padding-top:60px}.case-copy{min-width:0;padding-block:8px}.case-meta{align-items:center;gap:14px;margin-bottom:24px;display:flex}.case-number{width:38px;height:38px;color:var(--lime);font-variant-numeric:tabular-nums;border:1px solid #4b5340;border-radius:50%;flex:none;place-items:center;font-size:.7rem;display:grid}.case-meta .eyebrow{color:var(--ink);letter-spacing:.1em;font-size:.68rem}.case-meta .case-focus{margin-top:3px;font-size:.7rem;line-height:1.5}.case-copy h3{letter-spacing:-.05em;max-width:21ch;margin-bottom:18px;font-size:clamp(1.8rem,3vw,2.65rem);font-weight:600;line-height:1.12}.case-copy p,.case-copy dd{color:var(--muted);font-size:.85rem;line-height:1.75}.case-copy .case-intro{max-width:58ch;font-size:.9rem}.case-copy dl{gap:20px;margin-block:26px 22px;display:grid}.case-copy dt{letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-size:.68rem;font-weight:700}.case-copy dd{margin:0}.case-outcome{border-left:2px solid var(--lime);background:#d5ff3f07;border-radius:0 8px 8px 0;padding:16px 20px}.case-outcome dt{color:var(--lime);align-items:center;gap:7px;display:flex}.case-outcome svg{width:18px;height:18px}.case-outcome dd{color:var(--ink)}.tags{flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;list-style:none;display:flex}.tags li{color:var(--muted);align-items:center;gap:14px;font-size:.66rem;line-height:1.5;display:flex}.tags li+li:before{content:"";background:#77826a;border-radius:50%;width:3px;height:3px}.assistant-card{border:1px solid #656e54;border-radius:8px;grid-template-columns:.9fr 1.1fr;gap:56px;margin-top:60px;padding:34px;display:grid}.assistant-card .eyebrow{color:var(--lime)}.assistant-card h3{letter-spacing:-.04em;margin-top:12px;font-size:1.8rem}.assistant-card p,.assistant-card li{color:var(--muted);font-size:.84rem;line-height:1.8}.assistant-card .project-status{max-width:325px;margin-top:12px}.assistant-card ul{margin-bottom:0;padding-left:18px}.assistant-card li+li{margin-top:6px}.timeline{margin:0;padding:0;list-style:none}.timeline>li{border-top:1px solid var(--line);grid-template-columns:.75fr 1.25fr;gap:56px;padding-block:36px;display:grid}.timeline>li:last-child{padding-bottom:0}.role-dates{color:var(--ink);font-size:.8rem;line-height:1.8}.role-dates span{color:var(--muted);margin-top:8px;font-size:.74rem;display:block}.role-details h3{letter-spacing:-.04em;font-size:1.75rem;font-weight:600}.role-title{color:var(--lime);margin-top:5px;font-size:.9rem}.role-details ul{color:var(--muted);margin-top:18px;margin-bottom:0;padding-left:17px;font-size:.84rem;line-height:1.8}.role-details li+li{margin-top:8px}.skills-grid{grid-template-columns:1fr 1fr;gap:36px 56px;display:grid}.skills-grid article{border-top:1px solid #3b4034;padding-top:25px}.skills-grid h3{margin-bottom:20px;font-size:1rem;font-weight:600}.skills-grid .tags li{padding:8px 12px;font-size:.78rem}.testimonials-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.testimonials-grid figure{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;justify-content:space-between;padding:30px;display:flex}.testimonials-grid blockquote{margin:0 0 28px;font-size:1rem;line-height:1.75}.testimonials-grid blockquote:before{content:"“";color:var(--lime);margin-bottom:12px;font-size:3rem;line-height:.8;display:block}.testimonials-grid figcaption{align-items:center;gap:14px;font-size:.8rem;font-weight:600;display:flex}.testimonials-grid img{-o-object-fit:cover;object-fit:cover;border-radius:50%}.testimonials-grid small{color:var(--muted);margin-top:4px;font-size:.7rem;font-weight:400;line-height:1.6;display:block}.about-section{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:56px;display:grid}.about-copy p{color:var(--muted);font-size:.95rem;line-height:1.9}.about-copy p+p{margin-top:18px}details{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}summary{cursor:pointer;padding-block:5px;font-size:.85rem;font-weight:600}details p:first-of-type{margin-top:20px}details .text-link{margin-top:14px;padding-left:0}.section.contact-section{background:#1a1c18;padding-block:64px 112px}.contact-heading{justify-content:flex-start;align-items:flex-end;gap:clamp(24px,3vw,40px);display:flex}.contact-heading h2{font-size:clamp(2.8rem,6vw,5.4rem)}.contact-arrow{width:clamp(56px,6vw,88px);height:auto;color:var(--lime);flex:none;display:block}.contact-note{color:var(--muted);margin-top:20px;font-size:.85rem}.contact-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:18px;display:flex}.contact-email{letter-spacing:-.035em;border-bottom:2px solid;align-items:center;height:48px;padding-bottom:2px;font-size:clamp(1.1rem,2.8vw,2rem);line-height:1;display:inline-flex}.footer-bottom{color:var(--muted);border-top:1px solid #3b4034;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;padding-top:20px;font-size:.7rem;display:flex}.footer-bottom nav{gap:20px;font-size:.7rem}.footer-bottom a{padding-block:12px}.footer-bottom .back-to-top{min-height:46px;color:var(--ink);border:1px solid #666d5c;border-radius:999px;align-items:center;gap:12px;padding:6px 6px 6px 16px;font-weight:600;display:inline-flex}.back-to-top-icon{background:var(--lime);width:32px;height:32px;color:var(--bg);border-radius:50%;place-items:center;display:grid}.back-to-top-icon svg{width:20px;height:20px;transition:transform .18s}.back-to-top:hover{border-color:var(--lime)}.back-to-top:hover svg{transform:translateY(-2px)}@media (width<=1050px){.container{width:calc(100% - 64px)}.header-email{display:none}.hero{grid-template-columns:1.2fr .8fr;gap:0 24px}.hero-eyebrow{flex-wrap:wrap;gap:16px}.hero-portrait>img{-o-object-position:47% 0;object-position:47% 0}.portrait-caption{font-size:.9rem;left:20px;right:20px}.assistant-card{grid-template-columns:.85fr 1.15fr;gap:32px}.case-study{gap:32px}.section{padding-block:75px}.section-heading{gap:25px}.section-heading>p{max-width:230px}.footer-bottom{flex-wrap:wrap}}@media (width<=700px){:root{--header-height:88px;--compact-header-height:64px}.container{width:calc(100% - 40px)}.header-inner{width:100%;padding-inline:max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));border-inline:0;border-top:0;border-radius:0;flex-wrap:nowrap;gap:8px;margin-inline:0;display:flex}.site-header[data-scrolled] .header-inner{padding-inline:max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));box-shadow:none;border-radius:0;transform:none}.brand{flex:none;justify-content:center;width:44px;min-height:44px}.header-actions{flex:none;gap:0}.site-header .header-resume{gap:0;width:44px;min-height:44px;padding:0}.header-resume-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header-resume .button-icon{color:inherit;background:0 0;border:0}.header-resume .button-icon svg{width:20px;height:20px}.site-header nav{flex:1;justify-content:center;gap:clamp(10px,3vw,24px);font-size:.72rem}.site-header nav a{white-space:nowrap;align-items:center;min-height:44px;display:flex}.hero{flex-direction:column;min-height:0;padding-top:26px;display:flex}.hero-eyebrow{flex-direction:column;justify-content:center;gap:4px;margin-bottom:24px}.hero-eyebrow .eyebrow{font-size:.63rem}.hero-copy{text-align:center;align-items:center;padding-bottom:34px}h1{font-size:clamp(3.3rem,13.8vw,5rem);line-height:1}.hero h1>span{margin-inline:0}.hero-description{max-width:450px;margin-top:22px;font-size:.9rem;line-height:1.8}.hero-experience{font-size:.72rem}.actions{justify-content:center;gap:10px;margin-top:23px}.button{gap:16px;padding:7px 7px 7px 18px;font-size:.75rem}.text-link{padding-inline:4px;font-size:.73rem}.hero-portrait{display:none}.hero-bottom{text-align:center;justify-content:center;min-height:0;margin-top:0;padding-block:24px;font-size:.66rem}.hero-bottom>span:last-child{display:none}.section{padding-block:58px}h2{font-size:clamp(2.1rem,8.5vw,3rem)}.section-heading{margin-bottom:34px;display:block}.section-heading>p{max-width:100%;margin-top:22px;font-size:.85rem}.section-heading .eyebrow,.about-section .eyebrow{margin-bottom:16px}.case-study{flex-direction:column;align-items:stretch;gap:28px;display:flex}.case-study+.case-study{padding-top:38px}.case-studies{gap:38px}.case-copy h3{font-size:1.85rem}.case-copy p,.case-copy dd{font-size:.87rem}.assistant-card{margin-top:38px;padding:24px;display:block}.assistant-card>div+div{margin-top:24px}.timeline>li{grid-template-columns:1fr;gap:18px;padding-block:28px}.role-dates span{margin-left:10px;display:inline}.role-dates{font-size:.74rem}.role-details h3{font-size:1.55rem}.skills-grid{grid-template-columns:1fr;gap:28px}.testimonials-grid{grid-template-columns:1fr}.testimonials-grid figure{padding:25px}.about-section{display:block}.about-copy{margin-top:30px}.contact-heading h2{font-size:clamp(2.15rem,9vw,3.5rem)}.contact-section{text-align:center}.contact-heading{justify-content:center}.contact-arrow{display:none}.contact-actions{flex-direction:column;align-items:center;gap:14px}.contact-note{font-size:.8rem;line-height:1.8}.footer-bottom{flex-direction:column;align-items:center;gap:10px;margin-top:32px}.footer-bottom nav{flex-wrap:wrap;justify-content:center;gap:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}html{scroll-padding-bottom:110px}
