@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{font-family:DM Sans,sans-serif;color:#f0f2eb;background:#111413;font-synthesis:none;font-weight:400;--bg:#111413;--surface:#1a1e1b;--muted:#a4aba4;--line:#343b34;--accent:#c4ef87;--mono:"IBM Plex Mono",monospace;font-size:16px;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.container{width:min(1320px,calc(100% - 112px));margin-inline:auto}.mono{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;font-weight:400}.accent{color:var(--accent)}.site-header{border-bottom:1px solid var(--line);background:#111413f5;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:1.35rem;letter-spacing:-.06em;font-weight:700;display:flex;align-items:center;gap:6px}.brand-mark{color:var(--accent);font-weight:400;margin:0 3px;font-size:1.6rem}.brand-surname{font-weight:450}.brand-dot{color:var(--accent);margin-left:-5px}.site-header nav{display:flex;gap:38px;align-items:center;font-size:.875rem}.site-header nav a{display:flex;gap:8px;align-items:center;transition:color .2s}.site-header nav a:hover{color:var(--accent)}.site-header nav a:last-child{border-bottom:1px solid var(--accent);padding:9px 0}.menu-toggle{display:none}.skip-link{position:fixed;top:-80px;left:16px;background:var(--accent);color:var(--bg);padding:14px;z-index:50}.skip-link:focus{top:16px}.hero{padding-top:73px}.hero-eyebrow{display:flex;gap:26px;color:var(--accent);align-items:center}.location{display:flex;align-items:center;gap:6px;color:var(--muted)}h1{font-size:clamp(3.5rem,6.65vw,6.5rem);font-weight:500;line-height:1.09;letter-spacing:-.064em;margin:33px 0 31px}h1>span{color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.hero-intro{max-width:580px}.hero-intro>p{font-size:1.14rem;line-height:1.65;max-width:535px;color:#b8beb7;margin:0}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:28px}.button{display:inline-flex;gap:27px;align-items:center;padding:15px 21px;font-size:.875rem;font-weight:600;border-radius:5px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{color:#182013;background:var(--accent)}.button-primary:hover{background:#d6ffa4}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:.875rem}.text-link:hover{color:var(--accent)}.hero-note{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:0 5px 5px 0;min-width:230px}.note-rule{height:2px;width:38px;background:var(--accent);margin-bottom:13px}.hero-note>.mono{color:var(--muted)}.hero-note strong{font-size:1.15rem;font-weight:500}.hero-note>span:last-child{font-size:.875rem;color:var(--muted)}.hero-footer{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:52px 0 25px;color:#899389}.scroll-note{display:flex;align-items:center;gap:13px}.work-section{padding-top:74px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:33px}.eyebrow{display:block;color:var(--muted);font-size:.75rem;margin-bottom:17px}h2{font-size:clamp(2rem,3vw,2.8rem);font-weight:500;letter-spacing:-.045em;line-height:1.15;margin:0}.section-heading>p{font-size:.9rem;line-height:1.65;color:var(--muted);margin:0 0 3px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.project-card{min-width:0;background:#181c19;border:1px solid var(--line);border-radius:9px;overflow:hidden;display:flex;flex-direction:column}.project-visual{height:245px;padding:24px;display:flex;flex-direction:column;background:#29352e;border-bottom:1px solid #445248;color:#daeed9;position:relative}.visual-top{display:flex;justify-content:space-between;align-items:center;opacity:.8}.project-wordmark{margin:auto 0;font-size:2.4rem;letter-spacing:-.075em;font-weight:550;line-height:1.1}.project-wordmark>span:not(.wordmark-dot){font-weight:400;opacity:.7}.wordmark-small{display:block;font-size:.85rem!important;letter-spacing:.01em;margin-top:8px}.wordmark-dot{color:#c1c6ff}.project-docgov .project-visual{background:#2d2d42;border-color:#44435a;color:#e0ddf5}.project-docgov .project-wordmark{font-size:3.8rem;letter-spacing:-.07em}.project-eureka .project-visual{background:#2c363c;border-color:#46535c;color:#d2e6f1}.project-eureka .project-wordmark{font-size:3.7rem;font-weight:400}.pipeline{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;border-top:1px solid #ffffff29;padding-top:13px}.pipeline-item{display:flex;flex-direction:column;gap:6px;position:relative;padding-right:10px}.pipeline-item>.mono{opacity:.55;font-size:.75rem}.pipeline-item>span:nth-child(2){font-size:.75rem;line-height:1.4}.pipeline-item svg{position:absolute;right:4px;top:1px;opacity:.4;width:12px}.project-content{padding:24px;display:flex;flex-direction:column;flex:1}.project-meta{display:flex;justify-content:space-between;gap:12px;color:#a4aca2;font-size:.75rem;line-height:1.7;letter-spacing:.035em}.project-meta>span:last-child{white-space:nowrap}.project-content h3{font-size:1.45rem;font-weight:500;letter-spacing:-.035em;line-height:1.25;margin:19px 0 13px;max-width:300px}.project-content>p{color:#acb3aa;line-height:1.65;font-size:1rem;margin:0 0 20px}.tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0}.tags li{border:1px solid #3e453c;border-radius:4px;padding:5px 8px;font-size:.75rem;color:#c0c7bd;line-height:1.4}.project-content>.tags{margin-top:auto;margin-bottom:23px}.project-content details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.project-content summary{font-size:.8rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none}.project-content summary::-webkit-details-marker{display:none}.project-content details[open] summary svg{transform:rotate(180deg)}.project-facts{padding-left:17px;color:var(--muted);font-size:.875rem;line-height:1.7;margin:15px 0 0}.project-facts li+li{margin-top:10px}.project-link{display:flex;align-items:center;gap:8px;font-size:.8rem;padding-top:19px;color:#e0e8dc}.project-link:hover{color:var(--accent)}.project-link svg:last-child{margin-left:auto}.access-note{color:#929c90;font-size:.75rem;margin-top:8px}.experiments{padding-block:83px 90px}.compact h2{font-size:1.8rem}.compact{margin-bottom:27px}.experiment-list{border-top:1px solid var(--line)}.experiment{display:grid;grid-template-columns:48px 1fr 1.4fr .75fr 25px;align-items:center;gap:24px;padding:27px 0;border-bottom:1px solid var(--line);transition:background .2s}.experiment:hover{background:#1a211b}.experiment:hover .experiment-arrow{color:var(--accent);transform:translate(2px,-2px)}.experiment-icon{width:46px;height:46px;border:1px solid #3d463c;border-radius:9px;display:grid;place-items:center;color:#b9c9ae}.experiment-title>.mono{font-size:.75rem;color:#939e8f}.experiment h3{font-size:1.02rem;line-height:1.3;letter-spacing:-.025em;font-weight:500;margin:6px 0 0}.experiment>p{color:var(--muted);font-size:.875rem;line-height:1.65;margin:0}.experiment-tags{color:#a9b1a3;font-family:var(--mono);font-size:.75rem;line-height:1.8}.experiment-arrow{transition:transform .2s}.about-section{border-block:1px solid var(--line);background:#181d18;padding:86px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:13%}.about-copy h2{font-size:3.5rem;line-height:1.1;margin:22px 0 27px}.about-copy>p{font-size:1rem;line-height:1.8;color:#b0b8ab}.skills{border-top:1px solid #3b4438;margin-top:32px;padding-top:23px}.skills>.mono{color:var(--muted);display:block;margin-bottom:15px}.skills .tags li{font-size:.8rem;padding:6px 10px}.journey h3{font-size:1.1rem;font-weight:500;display:flex;gap:10px;align-items:center;margin:0 0 25px}.journey h3 svg{color:var(--accent)}.timeline{border-left:1px solid #424d3d;margin-left:6px;padding-left:24px}.timeline-item{position:relative;padding-bottom:25px}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;width:7px;height:7px;background:#758767;left:-28px;top:6px;border-radius:50%}.timeline-item:first-child:before{background:var(--accent)}.timeline-item>.mono,.education .mono{font-size:.75rem;color:#9ea997}.timeline-item:first-child>.mono{color:var(--accent)}.journey h4{font-size:1rem;letter-spacing:-.02em;font-weight:500;margin:8px 0 5px}.journey p{font-size:.875rem;color:#c0c8b9;margin:0 0 6px}.timeline-item>span:last-child{font-size:.8rem;color:#98a38f;line-height:1.5;display:block}.education-heading{margin-top:35px!important;padding-top:25px;border-top:1px solid #394233}.education{display:grid;grid-template-columns:1fr 1fr;gap:22px}.education p{font-size:.8rem;line-height:1.6;color:#9ea995}.contact-section{padding-block:87px 74px}.contact-body{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-body h2{font-size:clamp(2.5rem,4.8vw,4.6rem);font-weight:450;letter-spacing:-.055em}.contact-body p{color:var(--muted);line-height:1.7;margin:23px 0 0}.contact-button{border-radius:50%;width:98px;height:98px;display:grid;place-items:center;background:var(--accent);color:#172213;flex-shrink:0;transition:transform .2s,background .2s}.contact-button:hover{transform:rotate(8deg);background:#dbffaf}.contact-links{display:flex;gap:30px;margin-top:28px}.contact-links a{display:flex;align-items:center;gap:10px;font-size:.875rem}.contact-links a:hover{color:var(--accent)}.site-footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-block:27px;font-size:.8rem;color:#a1aa9a}.site-footer>.mono{font-size:.75rem}.site-footer a{display:flex;gap:8px;align-items:center}.site-footer a:hover{color:var(--accent)}@media(min-width:1600px){.hero{padding-top:90px}.hero-footer{padding-top:65px}}@media(max-width:1150px){.container{width:calc(100% - 64px)}.project-grid{gap:16px}.project-visual{padding:20px;height:220px}.project-wordmark{font-size:2rem}.project-content{padding:20px}.project-meta{flex-direction:column;gap:1px}.project-content h3{font-size:1.3rem}.experiment{grid-template-columns:44px 1fr 1.3fr 22px;gap:18px}.experiment-tags{display:none}.about-grid{gap:8%}.hero-note{min-width:200px}.hero-footer>.mono{font-size:.75rem}}@media(max-width:850px){.container{width:calc(100% - 48px)}.nav-wrap{height:76px}.hero{padding-top:50px}h1{font-size:clamp(3rem,7.6vw,4.5rem)}.hero-intro{max-width:480px}.hero-note{display:none}.hero-footer{padding-top:40px}.scroll-note{display:none}.section-heading{align-items:flex-start}.section-heading>p{max-width:210px}.project-grid{grid-template-columns:1fr}.project-card{display:grid;grid-template-columns:.85fr 1fr}.project-visual{height:100%;min-height:330px;border-bottom:0;border-right:1px solid #445248}.project-wordmark{font-size:2.2rem}.project-content h3{max-width:none}.project-meta{flex-direction:row;font-size:.75rem}.project-content>.tags{margin-top:0}.about-copy h2{font-size:2.7rem}.about-grid{gap:40px}.education{grid-template-columns:1fr}.experiment{grid-template-columns:40px 1fr 1.3fr 18px;gap:17px}.experiment-icon{width:38px;height:38px}.contact-button{width:78px;height:78px}}@media(max-width:600px){.container{width:calc(100% - 40px)}.nav-wrap{height:70px}.brand{font-size:1.2rem}.menu-toggle{display:flex;background:none;border:1px solid #394333;border-radius:5px;padding:7px;color:var(--accent)}.menu-toggle svg{width:20px;height:20px}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--bg);padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);gap:24px}.site-header nav.open{display:flex}.site-header nav a:last-child{align-self:flex-start}.hero{padding-top:41px}.hero-eyebrow{gap:14px;flex-wrap:wrap;font-size:.75rem}.hero-eyebrow .location{font-size:.75rem}h1{font-size:clamp(2.75rem,10vw,3.8rem);line-height:1.1;margin:29px 0 24px;letter-spacing:-.06em}.hero-intro>p{font-size:1rem;line-height:1.7}.hero-actions{gap:25px;margin-top:24px}.button{padding:14px 17px;gap:16px}.hero-footer{padding:36px 0 21px}.hero-footer>.mono{font-size:.75rem;line-height:1.7;letter-spacing:.035em}.work-section{padding-top:48px}.section-heading{flex-direction:column;gap:18px;margin-bottom:25px}.section-heading>p{max-width:none;font-size:.875rem}.section-heading>p br{display:none}h2{font-size:2rem}.eyebrow{font-size:.75rem;margin-bottom:13px}.project-card{display:flex}.project-visual{height:220px;min-height:0;border-right:0;border-bottom:1px solid #445248;padding:23px}.project-wordmark{font-size:2.7rem}.project-content{padding:23px}.project-content h3{font-size:1.6rem}.project-content>p{font-size:1rem}.project-meta{font-size:.62rem}.project-grid{gap:23px}.project-link,.project-content summary{font-size:.875rem}.tags li,.access-note{font-size:.75rem}.experiments{padding-block:52px}.compact h2{font-size:1.75rem}.compact{gap:20px}.experiment{grid-template-columns:40px 1fr 20px;gap:12px;padding:23px 0}.experiment-title{grid-column:2}.experiment-title>.mono{font-size:.75rem}.experiment h3{font-size:1.1rem}.experiment>p{grid-column:2;grid-row:2;font-size:.875rem}.experiment-arrow{grid-column:3;grid-row:1}.experiment-icon{align-self:start}.about-section{padding-block:51px}.about-grid{grid-template-columns:1fr;gap:45px}.about-copy h2{font-size:3rem;margin-top:19px}.about-copy>p{font-size:1rem}.skills{margin-top:24px}.education{grid-template-columns:1fr 1fr}.journey h4{font-size:1rem}.contact-section{padding-block:52px 45px}.contact-body{align-items:flex-end;gap:12px}.contact-body h2{font-size:2.3rem}.contact-body p{font-size:.95rem;margin-top:20px}.contact-button{width:51px;height:51px;margin-bottom:8px}.contact-button svg{width:29px;height:29px}.contact-links{flex-direction:column;gap:19px;margin-top:25px}.site-footer{flex-wrap:wrap;gap:17px;padding-block:23px;font-size:.75rem}.site-footer>.mono{display:none}.site-footer a{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
