:root{color:#0b4c43;font-synthesis:none;text-rendering:optimizelegibility;--ink:#0b4c43;--green:#3dbb77;--paper:#f5f1e8;--line:#0b4c4399;--muted:#466a64;--mx:0px;--my:0px;background:#f5f1e8;font-family:Chivo,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--paper);min-width:320px;margin:0}body,button,a{font-family:inherit}a,button{color:inherit}::selection{color:var(--paper);background:var(--ink)}.scroll-progress{z-index:100;transform-origin:0;background:var(--green);pointer-events:none;width:100%;height:3px;position:fixed;top:0;left:0}.skip-link{z-index:200;background:var(--ink);color:#fff;padding:12px 18px;position:fixed;top:-60px;left:16px}.skip-link:focus{top:12px}.page-shell{width:min(100% - 96px,1440px);margin-inline:auto}.status-dot{background:var(--green);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.site-header{z-index:20;text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;width:min(100% - 96px,1440px);height:88px;font:700 12px/1.2 Chivo,sans-serif;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.brand,.menu-button{align-items:center;gap:10px;text-decoration:none;display:flex}.menu-button{cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:0;padding:12px 0;font-weight:700}.nav{background:var(--ink);min-width:190px;color:var(--paper);opacity:0;pointer-events:none;flex-direction:column;padding:12px;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:68px;right:0;transform:translateY(-8px)}.nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav a{border-bottom:1px solid #ffffff29;padding:12px 14px;text-decoration:none;transition:background .2s,padding-left .2s}.nav a:last-child{border-bottom:0}.nav a:hover,.nav a:focus-visible{background:#3dbb772e;padding-left:20px}.hero{grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);gap:70px;min-height:750px;padding:145px 0 78px;display:grid;position:relative}.hero-copy{align-self:center}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;line-height:1}.hero-eyebrow{display:none}.hero h1{letter-spacing:-.07em;margin:0;font-size:clamp(96px,10.6vw,164px);font-weight:800;line-height:.85}.hero h1 span{color:var(--green)}.hero-intro{letter-spacing:-.03em;max-width:590px;margin:56px 0 0;font-size:clamp(22px,2.15vw,34px);line-height:1.34}.hero-actions{gap:72px;margin-top:44px;display:flex}.text-link{border-bottom:2px solid var(--green);text-transform:uppercase;letter-spacing:.02em;justify-content:space-between;align-items:center;gap:36px;width:max-content;padding:0 0 8px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.text-link svg,.image-action svg,.contact-links svg,.contact-email svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:18px;height:18px;transition:transform .25s}.text-link:hover svg,.contact-links a:hover svg,.contact-email:hover svg{transform:translate(3px,-1px)}.hero-skills{min-height:320px;transform:translate(var(--mx), var(--my));align-self:center;align-items:center;transition:transform .3s ease-out;display:flex;position:relative}.skill-trace{width:118px;height:320px;position:absolute;inset:0 auto 0 0;overflow:visible}.skill-trace path{fill:none;stroke:var(--ink);stroke-width:1px}.skill-trace circle{fill:var(--green)}.skills-content{width:100%;margin-left:146px}.section-kicker,.panel-heading,.project-number{text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700;line-height:1}.hero-skills ul{grid-template-columns:repeat(2,1fr);gap:22px 30px;margin:28px 0 0;padding:0;list-style:none;display:grid}.hero-skills li{animation:.5s both skill-in;animation-delay:calc(.45s + var(--delay));padding-left:19px;font-size:16px;position:relative}.hero-skills li:before{content:"›";color:var(--green);font-size:23px;line-height:16px;position:absolute;left:0}@keyframes skill-in{0%{opacity:0;transform:translate(-8px)}}.location-rail{writing-mode:vertical-rl;letter-spacing:.08em;align-items:center;gap:14px;font-size:10px;font-weight:700;display:flex;position:absolute;top:164px;right:0;transform:rotate(180deg)}.ruled{border-top:1px solid var(--line)}.about-grid{grid-template-columns:.9fr 1.1fr;display:grid}.panel{padding:54px 0 64px}.panel-heading{justify-content:space-between;margin-bottom:60px;display:flex}.field-notes{border-right:1px solid var(--line);padding-right:58px}.field-notes h2{letter-spacing:-.045em;max-width:480px;margin:0 0 34px;font-size:clamp(28px,3vw,48px);line-height:1.08}.about-copy{max-width:570px}.about-copy p{margin:0 0 20px;font-size:15px;line-height:1.66}.fact-strip{background:var(--line);border:1px solid var(--line);grid-template-columns:.8fr .8fr 1.4fr;gap:1px;margin-top:48px;display:grid}.fact-strip div{background:var(--paper);flex-direction:column;justify-content:space-between;min-height:112px;padding:17px;display:flex}.fact-strip strong{letter-spacing:-.04em;font-size:20px}.fact-strip span{text-transform:uppercase;letter-spacing:.04em;font-size:10px;line-height:1.25}.career{padding-left:58px}.career-list{border-left:1px solid var(--line)}.career-entry{border-bottom:1px solid #0b4c434d;margin-bottom:30px;padding:0 0 30px 52px;position:relative}.career-entry:last-child{margin-bottom:22px}.career-node{background:var(--green);border-radius:50%;width:13px;height:13px;position:absolute;top:4px;left:-7px}.career-title{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.career-title h3{text-transform:uppercase;margin:0;font-size:21px}.career-title span{white-space:nowrap;font-size:14px}.career-entry p{max-width:560px;margin:12px 0 0;line-height:1.55}.career-entry .role-name{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.career-cv{margin:28px 0 0 52px}.work{padding:56px 0 0}.section-heading{justify-content:space-between;align-items:flex-start;margin-bottom:46px;display:flex}.section-heading h2{letter-spacing:-.055em;margin:12px 0 0;font-size:clamp(46px,6vw,86px);line-height:.95}.section-heading>span{letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.project{border-top:1px solid #0b4c4340;grid-template-columns:1.28fr .72fr;gap:58px;padding:62px 0;display:grid}.project-reverse{grid-template-columns:.72fr 1.28fr}.project-reverse .project-image{order:2}.project-image{aspect-ratio:2048/1175;backface-visibility:hidden;will-change:transform;background:#ebe7de;border-radius:18px;align-self:start;width:100%;min-height:0;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1);display:block;position:relative;overflow:hidden}.project-image:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #0b4c4333;position:absolute;inset:0}.project-image img{object-fit:contain;object-position:center;border-radius:inherit;filter:saturate(.82);width:100%;height:100%;transition:filter .5s cubic-bezier(.16,1,.3,1);display:block}.project-image:hover{transform:translateY(-5px);box-shadow:0 18px 42px #0b4c4324}.project-image:hover img{filter:saturate()}.image-action{background:var(--paper);text-transform:uppercase;opacity:0;border-radius:999px;align-items:center;gap:10px;padding:12px 15px;font-size:11px;font-weight:700;transition:all .25s;display:flex;position:absolute;bottom:16px;right:16px;transform:translateY(8px)}.project-image:hover .image-action,.project-image:focus-visible .image-action{opacity:1;transform:translateY(0)}.project-copy{align-self:center}.project-number{color:var(--green)}.project-copy h3{letter-spacing:-.05em;margin:14px 0 2px;font-size:clamp(36px,4vw,62px);line-height:1}.project-label{font-weight:500;margin:0 0 28px!important;font-size:21px!important}.project-narrative{max-width:570px}.project-narrative p{margin:0 0 17px;font-size:15px;line-height:1.62}.tech-list{flex-wrap:wrap;gap:8px;margin:30px 0 36px;padding:0;list-style:none;display:flex}.tech-list li{border:1px solid var(--green);padding:7px 10px;font-size:11px}.project-link{width:100%}.capabilities{padding:56px 0 72px}.capabilities .panel-heading{margin-bottom:44px}.capabilities h2{letter-spacing:-.06em;max-width:800px;margin:0 0 56px;font-size:clamp(48px,7vw,94px);line-height:.94}.capability-grid{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.capability-grid>div{border-right:1px solid var(--line);min-height:260px;padding:26px;transition:color .25s,background .25s}.capability-grid>div:last-child{border-right:0}.capability-grid>div:hover{color:var(--paper);background:var(--ink)}.capability-grid span{color:var(--green);font-size:11px;font-weight:700}.capability-grid h3{margin:60px 0 18px;font-size:20px}.capability-grid p{margin:0;font-size:14px;line-height:1.55}.contact{width:100%;max-width:none;color:var(--paper);background:var(--ink);margin-top:20px;padding:95px max(48px,50vw + min(100% - 96px,1440px)/-2) 82px}.contact .section-kicker{color:var(--green)}.contact h2{letter-spacing:-.07em;margin:45px 0 32px;font-size:clamp(58px,9vw,140px);line-height:.88}.contact>p{color:#f5f1e8bf;max-width:650px;font-size:20px;line-height:1.5}.contact-email{letter-spacing:-.04em;border-bottom:2px solid var(--green);align-items:center;gap:20px;margin-top:54px;font-size:clamp(25px,4vw,60px);font-weight:600;text-decoration:none;display:inline-flex}.contact-email svg{width:34px;height:34px}.contact-links{gap:34px;margin-top:70px;display:flex}.contact-links a{text-transform:uppercase;align-items:center;gap:9px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.site-footer{letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;gap:24px;padding:25px 0;font-size:10px;font-weight:700;display:flex}.site-footer a{text-decoration:none}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (width<=1050px){.page-shell,.site-header{width:min(100% - 48px,1440px)}.hero{grid-template-columns:1fr .7fr;gap:25px}.hero h1{font-size:clamp(84px,12vw,126px)}.skills-content{margin-left:92px}.skill-trace{width:74px}.hero-skills ul{grid-template-columns:1fr;gap:12px}.about-grid{grid-template-columns:1fr}.field-notes{border-right:0;border-bottom:1px solid var(--line);padding-right:0}.career{padding-left:0}.project,.project-reverse{grid-template-columns:1.05fr .95fr;gap:34px}.project-image{min-height:0}.capability-grid{grid-template-columns:repeat(2,1fr)}.capability-grid>div:nth-child(2){border-right:0}.capability-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.contact{padding-inline:24px}}@media (width<=740px){html{scroll-padding-top:68px}.page-shell,.site-header{width:calc(100% - 32px)}.site-header{height:68px}.nav{width:100vw;min-width:0;padding:14px 16px 20px;position:fixed;top:68px;left:0;right:0}.nav a{padding:16px 12px;font-size:14px}.hero{grid-template-columns:1fr;gap:48px;min-height:0;padding:112px 0 55px}.hero-eyebrow{margin:0 0 20px;display:block}.hero h1{font-size:clamp(74px,24vw,118px);line-height:.75}.hero-intro{margin-top:38px;font-size:21px}.hero-actions{justify-content:space-between;gap:28px}.text-link{gap:15px;font-size:10px}.hero-skills{min-height:250px}.skill-trace{width:82px;height:250px}.skills-content{margin-left:104px}.hero-skills ul{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}.hero-skills li{font-size:13px}.location-rail{display:none}.panel{padding:38px 0 45px}.panel-heading{margin-bottom:40px}.field-notes h2{font-size:36px}.about-copy p{font-size:14px}.fact-strip{grid-template-columns:1fr 1fr}.fact-strip div:last-child{grid-column:1/-1}.career-entry{padding-left:28px}.career-title{align-items:flex-start}.career-title h3{font-size:18px}.career-title span{font-size:11px}.career-entry p{font-size:14px}.career-cv{margin-left:28px}.work{padding-top:38px}.section-heading{margin-bottom:20px}.section-heading h2{font-size:50px}.project,.project-reverse{grid-template-columns:1fr;padding:42px 0 52px}.project-reverse .project-image{order:0}.project-image{aspect-ratio:2048/1175;border-radius:14px;min-height:0}.project-copy h3{font-size:42px}.project-narrative p{font-size:14px}.image-action{display:none}.capabilities h2{font-size:54px}.capability-grid{grid-template-columns:1fr}.capability-grid>div{border-right:0;border-bottom:1px solid var(--line);min-height:210px}.capability-grid>div:last-child{border-bottom:0}.capability-grid h3{margin-top:45px}.contact{padding-block:68px 58px}.contact h2{margin-top:34px;font-size:clamp(50px,16vw,76px)}.contact>p{font-size:16px}.contact-email{font-size:clamp(21px,6.5vw,32px)}.contact-email svg{width:22px;height:22px}.site-footer{flex-direction:column;width:calc(100% - 32px)}}@media (width<=400px){.hero h1{font-size:72px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-skills ul{gap:13px 8px}.skills-content{margin-left:88px}.skill-trace{width:68px}.fact-strip{grid-template-columns:1fr}.fact-strip div:last-child{grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
