/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}@font-face{font-family:Geist Local;src:url(/fonts/geist-sans.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono Local;src:url(/fonts/geist-mono.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--background:#f3f1ea;--foreground:#111513;--lime:#c9ff4a;--muted:#5f6561;--body:#505652;--line:#d8d8cf;--section-space-lg:clamp(5.25rem,8vw,7.5rem);--section-space-md:clamp(4.5rem,7vw,6.25rem);--page-gutter:max(32px,calc((100vw - 1116px)/2));--font-geist-sans:"Geist Local";--font-geist-mono:"Geist Mono Local"}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);font-family:var(--font-geist-sans),Arial,sans-serif;-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--lime);color:var(--foreground)}a{color:inherit;text-decoration:none}a:focus-visible{outline-offset:5px;outline:3px solid #78ad00}.dark a:focus-visible{outline-color:var(--lime)}:is(.building a:focus-visible,.contact a:focus-visible){outline-color:var(--foreground)}.nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1180px;height:82px;margin:auto;padding:0 32px;display:flex}.brand{font:800 24px var(--font-geist-mono),monospace;letter-spacing:-.08em}.brand span{color:#568000}.navLinks{gap:clamp(14px,2vw,28px);font-size:13px;display:flex}.navLinks a{transition:opacity .2s}.navLinks a:hover{opacity:.55}.hero{flex-direction:column;max-width:1180px;min-height:calc(100vh - 82px);margin:auto;padding:86px 32px 40px;display:flex}.eyebrow{font:600 12px var(--font-geist-mono),monospace;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px;display:flex}.statusDot{background:#568000;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #d7e9ad}h1{letter-spacing:-.07em;max-width:970px;margin:34px 0 26px;font-size:clamp(55px,8vw,112px);font-weight:750;line-height:.88}h1 em{color:#626964;font-family:Georgia,serif;font-weight:400}.heroCopy{max-width:650px;color:var(--body);margin:0;font-size:clamp(18px,2vw,23px);line-height:1.55}.heroActions{gap:12px;margin-top:38px;display:flex}.button{border:1px solid var(--foreground);justify-content:center;align-items:center;gap:30px;min-height:50px;padding:0 21px;font-size:14px;font-weight:650;transition:transform .2s;display:inline-flex}.primary{background:var(--foreground);color:#fff}.primary span{color:var(--lime)}.secondary:hover,.primary:hover{transform:translateY(-2px)}.heroMeta{grid-template-columns:repeat(3,1fr);gap:28px;margin-top:auto;padding-top:70px;display:grid}.heroMeta div{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding-top:15px;display:flex}.heroMeta strong{font-size:14px}.heroMeta span{color:var(--muted);text-align:right;font-size:12px}.section{max-width:1180px;padding:var(--section-space-lg) 32px;border-top:1px solid var(--line);margin:auto}.sectionLabel{font:600 11px var(--font-geist-mono),monospace;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0}.sectionTop{justify-content:space-between;align-items:center;margin-bottom:70px;display:flex}.sectionTop>span{font:12px var(--font-geist-mono),monospace;color:var(--muted)}.about{padding-block:var(--section-space-md)}.aboutGrid{grid-template-columns:1.15fr .85fr;gap:100px;margin-top:64px;display:grid}.about h2,.skillIntro h2,.buildingIntro h2{letter-spacing:-.055em;margin:0;font-size:clamp(42px,5.7vw,72px);line-height:1}.about h2 em,.skillIntro em,.contact h2 em,.buildingIntro em{color:#686f6a;font-family:Georgia,serif;font-weight:400}.aboutCopy{color:#4f5651;align-content:start;gap:1.35em;padding-top:5px;font-size:18px;line-height:1.7;display:grid}.aboutCopy p{margin:0}.aboutCopy p:first-child{color:var(--foreground);font-size:22px}.dark{background:var(--foreground);max-width:none;color:var(--background);padding-inline:var(--page-gutter);border:0}.dark .sectionLabel,.dark .sectionTop>span,.roleTitle p{color:#aeb4b0}.timeline{flex-direction:column;display:flex}.role{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:90px;display:grid}.role+.role{border-top:1px solid #353936;margin-top:78px;padding-top:78px}.roleRail{flex-direction:column;align-self:stretch;min-width:0;display:flex}.roleTitle{align-items:flex-start;gap:22px;display:flex}.companyMark{background:var(--lime);width:48px;height:48px;color:var(--foreground);font:bold 20px var(--font-geist-mono),monospace;border-radius:50%;flex:none;place-items:center;display:grid}.role h3{letter-spacing:-.03em;margin:0 0 9px;font-size:27px}.roleTitle p{margin:0;font-size:14px;line-height:1.5}.roleAnchor{grid-template-columns:86px minmax(0,1fr);align-items:end;gap:18px;margin-top:auto;padding-top:44px;display:grid}.roleYear{color:var(--lime);font:600 12px var(--font-geist-mono),monospace;letter-spacing:.06em}.roleStack{color:#aeb4b0;font:12px/1.5 var(--font-geist-mono),monospace;margin:0}.roleBody>p{margin:0 0 40px;font-size:20px;line-height:1.55}.roleBody ul{margin:0;padding:0;list-style:none}.roleBody li{color:#cbd0cc;border-top:1px solid #353936;grid-template-columns:44px 1fr;padding:20px 0;line-height:1.5;display:grid}.roleBody li span{color:var(--lime);font:11px var(--font-geist-mono),monospace}.role.compact{min-height:0}.role.compact .roleRail{align-self:start}.role.compact .roleAnchor{margin-top:34px;padding-top:0}.role.compact .roleBody>p{color:#cbd0cc;margin:0;font-size:17px}.building{background:var(--lime);padding:var(--section-space-lg) var(--page-gutter)}.buildingInner,.contactInner{max-width:1116px;margin:auto}.building .sectionLabel,.building .sectionTop>span{color:#405313}.buildingIntro{grid-template-columns:1.2fr .8fr;align-items:end;gap:90px;display:grid}.buildingIntro em{color:#4c5c20}.buildingIntro>p{max-width:540px;margin:0;font-size:19px;line-height:1.65}.buildingStrip{border-top:1px solid #7d9d2e;border-bottom:1px solid #7d9d2e;grid-template-columns:1fr 2fr;align-items:center;margin-top:72px;padding:25px 0;display:grid}.buildingStrip span,.buildingPlaceholders span{font:600 12px var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.08em;color:#405313}.buildingStrip p{margin:0;font-size:19px}.buildingPlaceholders{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px;display:grid}.buildingPlaceholders article{border:1px dashed #6c8927;flex-direction:column;justify-content:space-between;min-height:180px;padding:24px;display:flex}.buildingPlaceholders p{color:#405313;margin:0}.repoLink{border-bottom:1px solid var(--foreground);align-items:center;gap:12px;width:max-content;margin-top:24px;margin-left:auto;padding:16px 0;font-weight:700;display:flex}.placeholderLink small{font:10px var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.08em;opacity:.72}.impactGrid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.impactCard{border:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:370px;padding:27px;transition:transform .25s,box-shadow .25s;display:flex}.impactCard.featured{background:#dffe9c;border-color:#a4c85a;grid-column:span 2;min-height:0}.impactCard:hover{transform:translateY(-4px);box-shadow:0 14px 30px #11151314}.cardIndex,.tag{font:11px var(--font-geist-mono),monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.impactCard h3{letter-spacing:-.05em;max-width:650px;margin:16px 0;font-size:clamp(30px,4vw,53px);line-height:1}.impactCard:not(.featured) h3{font-size:34px}.impactCard p:not(.tag){color:#4d544f;max-width:580px;line-height:1.6}.cardArrow{align-self:flex-end;margin-top:24px;font-size:24px;line-height:1;transition:transform .2s}.cardArrow:hover{transform:translate(3px,-3px)}.skills{max-width:none;padding-inline:var(--page-gutter);background:#e8e6dd}.skillIntro{grid-template-columns:1.2fr .8fr;align-items:end;gap:90px;margin-top:70px;display:grid}.skillIntro>p{color:var(--muted);font-size:18px;line-height:1.65}.skillRows{margin-top:80px}.skillRows>div{border-top:1px solid #c8c8be;grid-template-columns:1fr 2fr;align-items:center;padding:25px 0;display:grid}.skillRows span{font:12px var(--font-geist-mono),monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.skillRows p{margin:0;font-size:19px}.education{max-width:none;padding-inline:var(--page-gutter);border-top:1px solid var(--line);grid-template-columns:.75fr 1fr 1fr;gap:35px;display:grid}.degree{border-left:1px solid var(--line);padding-left:25px}.degree span{font:11px var(--font-geist-mono),monospace;color:var(--muted);text-transform:uppercase}.degree h3{letter-spacing:-.03em;margin:38px 0 8px;font-size:23px}.degree p{color:var(--muted);margin:0}.contact{background:var(--lime);padding:var(--section-space-lg) var(--page-gutter) 38px}.contact .sectionLabel{color:#405313}.contact h2{letter-spacing:-.07em;max-width:1000px;margin:65px 0 35px;font-size:clamp(54px,8vw,100px);line-height:.92}.contact h2 em{color:#445417}.contactInner>p{max-width:630px;font-size:19px;line-height:1.6}.contactLinks{border-top:1px solid #7d9d2e;grid-template-columns:2fr repeat(3,1fr);margin-top:72px;display:grid}.contactLinks a{border-bottom:1px solid #7d9d2e;justify-content:space-between;align-items:center;gap:8px;margin-right:28px;padding:24px 0;font-size:17px;font-weight:650;display:flex}.contactLinks a:hover>span{transform:translate(3px,-3px)}.contactLinks>span{transition:transform .2s}.contactActions{font:12px var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.05em;border-top:1px solid #7d9d2e;justify-content:space-between;margin-top:100px;padding-top:20px;display:flex}.casePage{min-height:100vh}.caseNav{border-bottom:1px solid var(--line);max-width:1180px;height:82px;font:600 12px var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;margin:auto;padding:0 32px;display:flex}.caseNav>span{letter-spacing:-.08em;font-size:20px}.caseHero{max-width:1180px;padding:var(--section-space-md) 32px var(--section-space-lg);margin:auto}.caseHero .tag{margin:70px 0 0}.caseHero h1{max-width:980px;font-size:clamp(52px,7vw,94px)}.caseHero>p:last-child{max-width:700px;color:var(--body);font-size:20px;line-height:1.6}.caseBody{background:var(--foreground);color:var(--background);padding-inline:var(--page-gutter)}.caseSection{max-width:1116px;padding:var(--section-space-md) 0;border-top:1px solid #353936;grid-template-columns:1fr 2fr;margin:auto;display:grid}.caseSection>span{color:var(--lime);font:12px var(--font-geist-mono),monospace}.caseSection h2{letter-spacing:-.04em;margin:0 0 20px;font-size:clamp(30px,4vw,50px)}.caseSection p{color:#cbd0cc;margin:0;font-size:18px}.caseFooter{background:var(--lime);padding:38px var(--page-gutter);font:600 12px var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.08em}@media (max-width:900px){.navLinks{gap:15px;font-size:12px}.contactLinks{grid-template-columns:2fr 1fr 1fr}.contactLinks a:last-child{grid-column:2/4}}@media (max-width:700px){:root{--page-gutter:20px;--section-space-lg:82px;--section-space-md:70px}.nav{padding:0 20px}.navLinks a{display:none}.navLinks a:last-child{display:block}.hero{padding:64px 20px 28px}h1{margin-top:28px}.heroActions{flex-direction:column;align-items:stretch}.heroMeta{grid-template-columns:1fr;margin-top:60px;padding-top:0}.section{padding-inline:20px}.aboutGrid,.role,.skillIntro,.buildingIntro{grid-template-columns:1fr;gap:48px}.aboutGrid{margin-top:48px}.aboutCopy{gap:1.25em}.role+.role{margin-top:58px;padding-top:58px}.roleRail{align-self:start}.roleAnchor{margin-top:34px;padding-top:0}.roleStack{max-width:250px}.sectionTop{align-items:flex-start;gap:20px;margin-bottom:50px}.sectionTop>span{text-align:right}.buildingStrip,.skillRows>div{grid-template-columns:1fr;align-items:start;gap:12px}.buildingPlaceholders{grid-template-columns:1fr}.repoLink{margin-left:0}.impactGrid{grid-template-columns:1fr}.impactCard.featured{grid-column:auto;min-height:0}.impactCard{min-height:330px;padding:23px}.impactCard:not(.featured) h3{font-size:30px}.education{grid-template-columns:1fr}.degree{padding:22px 0 22px 20px}.degree h3{margin-top:25px}.contactLinks,.contactLinks a:last-child{grid-column:auto;grid-template-columns:1fr}.contactLinks a{margin-right:0}.contactActions{flex-direction:column;align-items:flex-start;gap:25px;margin-top:70px}.caseNav,.caseHero{padding-inline:20px}.caseSection{grid-template-columns:1fr;gap:26px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
