:root{color:#edf0e9;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--background:#111917;--surface:#19221f;--accent:#d0edaf;--muted:#a5b0a9;--line:#ffffff1c;background:#111917;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{color:var(--background);background:var(--accent)}img{max-width:100%;display:block}svg{flex-shrink:0}h1,h2,h3,p{margin:0}.container{width:min(1180px,100% - 96px);margin-inline:auto}.section{padding:112px 0}.accent{color:var(--accent)}.skip-link{z-index:100;background:var(--accent);color:var(--background);padding:16px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:20px}.site-header{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#111917f5;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:32px;min-height:88px;display:flex}.wordmark{letter-spacing:-1.2px;white-space:nowrap;font-size:24px;font-weight:650}.wordmark span{color:var(--accent)}.navigation{align-items:center;gap:32px;display:flex}.navigation>a:not(.button){color:#c4cdc6;font-size:13px;transition:color .2s}.navigation>a:hover{color:var(--accent)}.button{background:var(--accent);color:#172019;border:1px solid var(--accent);border-radius:5px;justify-content:center;align-items:center;gap:22px;min-height:54px;padding:16px 23px;font-size:13px;font-weight:650;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#e0f5c9;transform:translateY(-2px)}.navigation>.button:hover{color:#172019}.button-small{min-height:42px;padding:11px 16px;font-size:12px}.menu-toggle{display:none}.eyebrow{letter-spacing:1.7px;color:var(--accent);align-items:center;gap:11px;font-size:10px;font-weight:600;line-height:1.7;display:flex}.eyebrow>span{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.hero-section{background:radial-gradient(at 78% 38%,#344b342a,#0000 55%);position:relative}.hero-grid{grid-template-columns:1.3fr 1fr;align-items:center;gap:72px;padding-block:80px 76px;display:grid}.hero-content h1{letter-spacing:-3.8px;margin:24px 0 25px;font-size:clamp(48px,5.65vw,78px);font-weight:500;line-height:1.07}h1 em,h2 em{color:var(--accent);letter-spacing:-3px;font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-description{color:#afb9b2;max-width:440px;font-size:15px;line-height:1.9}.hero-actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:32px;display:flex}.text-link{align-items:center;gap:10px;padding-block:12px;font-size:12px;display:inline-flex}.text-link:hover{color:var(--accent)}.hero-note{color:var(--muted);align-items:center;gap:9px;margin-top:29px;font-size:10px;line-height:1.6;display:flex}.status-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 4px #d0edaf0d}.hero-portrait{position:relative;transform:rotate(2deg)}.portrait-topline,.portrait-bottomline{letter-spacing:1.5px;color:var(--muted);justify-content:space-between;gap:10px;font-size:8px;display:flex}.portrait-topline{margin-bottom:13px}.portrait-bottomline{letter-spacing:.6px;margin-top:14px;font-size:10px}.portrait-bottomline>span{align-items:center;gap:5px;display:inline-flex}.portrait{aspect-ratio:.91;background:#2a332c;border:1px solid #ffffff1a;border-radius:7px;position:relative;overflow:hidden;box-shadow:15px 20px 60px #0000002b}.portrait img{object-fit:cover;object-position:center 35%;filter:saturate(.7);width:100%;height:100%}.portrait:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0b1619c9);position:absolute;inset:45% 0 0}.portrait-label{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#c1cdc4;background:#152019c9;border:1px solid #ffffff24;border-radius:4px;align-items:center;gap:13px;padding:17px;font-size:10px;line-height:1.8;display:flex;position:absolute;bottom:22px;left:22px;right:22px}.portrait-label strong{color:#fff;font-weight:500}.portrait-symbol{color:var(--accent);margin-left:auto;font-size:27px}.portrait-placeholder{background:radial-gradient(#405540,#1c2a22);place-items:center;height:100%;display:grid}.portrait-initials{letter-spacing:-10px;z-index:1;font:160px Georgia,serif}.portrait-initials>span{color:var(--accent)}.portrait-orbit{aspect-ratio:1;border:1px solid #d0edaf40;border-radius:50%;width:75%;position:absolute}.portrait-caption{letter-spacing:2px;font-size:8px;position:absolute;top:40px}.technology-strip{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-block:26px;display:flex}.technology-strip>span{color:#a5b0a9;letter-spacing:1.4px;max-width:140px;font-size:8px;line-height:1.9}.technology-strip>div{flex-wrap:wrap;justify-content:flex-end;gap:28px;display:flex}.technology-strip>div>span{color:#bac4bd;letter-spacing:-.3px;font-size:13px;font-weight:550}.services-section{border-block:1px solid var(--line);background:#151e1a}.section-heading h2{letter-spacing:-1.7px;margin-top:18px;font-size:clamp(30px,3.5vw,46px);font-weight:500;line-height:1.18}.section-description{max-width:375px;color:var(--muted);margin-top:22px;font-size:14px;line-height:1.9}.section-intro{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:44px;display:flex}.section-intro>p{max-width:340px;color:var(--muted);margin-bottom:4px;font-size:14px;line-height:1.9}.services-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.service-card{border:1px solid var(--line);background:#19221f;border-radius:6px;flex-direction:column;padding:30px 26px 25px;transition:border-color .2s,transform .2s;display:flex}.service-card:hover{border-color:#d0edaf50;transform:translateY(-4px)}.service-top{justify-content:space-between;align-items:center;margin-bottom:44px;display:flex}.service-icon{color:var(--accent)}.index-number{color:#99a89e;font-family:monospace;font-size:11px}.service-card h3{letter-spacing:-.7px;max-width:230px;margin-bottom:16px;font-size:21px;font-weight:500;line-height:1.3}.service-card>p{color:var(--muted);font-size:13px;line-height:1.85}.service-tags{color:#c2cbc3;margin:24px 0 30px;padding:0;font-size:11px;line-height:2.4;list-style:none}.service-tags li:before{content:"↗";color:var(--accent);margin-right:10px}.service-link{border-top:1px solid var(--line);color:var(--accent);justify-content:space-between;align-items:center;margin-top:auto;padding-top:20px;font-size:11px;display:flex}.service-link:hover{color:#fff}.experience-layout{grid-template-columns:.9fr 1.1fr;gap:100px;display:grid}.experience-note{border-left:2px solid var(--accent);max-width:300px;margin-top:55px;padding-left:20px}.experience-note>span{letter-spacing:1.4px;color:var(--accent);font-size:9px}.experience-note p{margin-top:12px;font-size:16px;line-height:1.6}.timeline{border-left:1px solid #d0edaf30;padding-left:30px}.timeline-item{border-bottom:1px solid var(--line);margin-bottom:33px;padding-bottom:33px;position:relative}.timeline-item:last-child{border:0;margin-bottom:0;padding-bottom:0}.timeline-item:before{content:"";background:var(--background);border:1px solid var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:-35px}.timeline-item:first-child:before{background:var(--accent);box-shadow:0 0 0 5px #d0edaf0b}.timeline-period{color:var(--accent);letter-spacing:1px;font-size:9px}.timeline h3{letter-spacing:-.5px;margin-top:13px;font-size:21px;font-weight:500}.timeline-company{color:#c0cbc3;margin-top:6px;font-size:12px}.timeline-description{color:var(--muted);margin-top:15px;font-size:13px;line-height:1.9}.tags{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.tags span{color:#c0cbc3;border:1px solid var(--line);border-radius:3px;padding:5px 9px;font-size:9px}.about-section{color:#1e2b22;background:#edf0e7}.about-section .eyebrow,.about-section .accent{color:#547840}.about-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:96px;display:grid}.about-art{background:#dbe4d3;border-radius:6px;flex-direction:column;justify-content:space-between;min-height:475px;padding:32px;display:flex;position:relative;overflow:hidden}.about-art:before{content:"";background-image:linear-gradient(#3959310b 1px,#0000 1px),linear-gradient(90deg,#3959310b 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.art-label{letter-spacing:1.4px;font-size:9px;position:relative}.code-art{letter-spacing:-7px;text-align:center;font-family:Georgia,serif;font-size:clamp(75px,8vw,110px);position:relative}.code-art>span{color:#648954}.art-bottom{justify-content:space-between;align-items:flex-end;font-size:12px;line-height:1.7;display:flex;position:relative}.about-copy{margin-top:25px}.about-copy>p{color:#4f5e51;margin-bottom:16px;font-size:13px;line-height:1.9}.education{border-top:1px solid #1e2b2226;margin-top:25px;padding-top:22px}.education>span{letter-spacing:1.5px;color:#547840;font-size:9px}.education>p{color:#5b665b;margin-top:12px;font-size:11px;line-height:1.8}.education strong{color:#1e2b22;font-weight:550}.process-grid{grid-template-columns:repeat(4,1fr);gap:32px;margin-top:50px;display:grid}.process-number{color:var(--accent);align-items:center;gap:18px;font-family:monospace;font-size:12px;display:flex}.process-number>span{background:var(--line);flex:1;height:1px}.process-grid h3{letter-spacing:-.5px;margin-top:25px;margin-bottom:12px;font-size:17px;font-weight:500}.process-grid p{color:var(--muted);font-size:12px;line-height:1.9}.contact-section{background:var(--accent);color:#1b2b1b;padding:86px 0}.contact-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:80px;display:grid}.contact-section .eyebrow{color:#416633}.contact-section h2{letter-spacing:-1.7px;margin-top:20px;font-size:clamp(32px,3.8vw,50px);font-weight:500;line-height:1.15}.contact-section h2 em{color:#1b2b1b;letter-spacing:-2px}.contact-grid>div>p:not(.eyebrow){color:#4c6341;max-width:400px;margin-top:24px;font-size:13px;line-height:1.9}.contact-panel{border-left:1px solid #1b2b1b26;min-width:0;padding-left:40px}.contact-label{letter-spacing:1.5px;color:#49673c;font-size:9px}.contact-email{letter-spacing:-.7px;overflow-wrap:anywhere;border-bottom:1px solid #1b2b1b26;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;padding-bottom:22px;font-size:clamp(17px,2vw,25px);display:flex}.contact-actions{align-items:center;gap:20px;margin-top:25px;display:flex}.button-dark{color:#edf0e9;background:#172219;border-color:#172219}.button-dark:hover{background:#2b3d2b}.copy-button{color:#203920;background:0 0;border:0;align-items:center;gap:8px;padding:12px 0;font-size:12px;display:flex}.contact-hint{color:#49613f;margin-top:16px;font-size:10px;line-height:1.8}.copy-status{min-height:20px;margin-top:6px;font-size:10px}.contact-section a:focus-visible,.contact-section button:focus-visible{outline-color:#172219}.site-footer{padding-block:30px}.footer-inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.site-footer .wordmark{font-size:20px}.site-footer p{color:var(--muted);font-size:10px}.footer-links{color:var(--muted);gap:24px;font-size:10px;display:flex}.footer-links a{align-items:center;gap:7px;display:flex}.footer-links a:hover{color:var(--accent)}.privacy-page{max-width:760px;min-height:80vh}.privacy-page h1{letter-spacing:-2px;margin-block:20px 30px;font-size:48px}.privacy-page h2{margin-block:32px 14px;font-size:22px;font-weight:500}.privacy-page>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9}.privacy-page p a{color:var(--accent);text-decoration:underline}.privacy-page>.button{margin-top:36px}@media (width>=1450px){.hero-grid{padding-block:100px}}@media (width<=1100px){.container{width:calc(100% - 64px)}.hero-grid{gap:40px}.hero-content h1{font-size:62px}.hero-actions,.technology-strip>div{gap:18px}.experience-layout{gap:55px}.about-grid{gap:50px}.contact-grid{gap:40px}.contact-panel{padding-left:28px}}@media (width<=800px){.container{width:calc(100% - 48px)}.section{padding-block:75px}.header-inner{min-height:74px}.navigation{gap:20px}.navigation>a:not(.button){font-size:11px}.navigation .button{gap:10px;padding-inline:12px;font-size:11px}.wordmark{font-size:21px}.hero-grid{gap:28px;padding-block:56px}.hero-content h1{letter-spacing:-2.5px;font-size:49px}.hero-description{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start;gap:10px}.portrait-label{gap:10px;padding:12px;font-size:8px;bottom:12px;left:12px;right:12px}.portrait-topline{letter-spacing:.5px;font-size:7px}.portrait-bottomline{font-size:8px}.technology-strip{align-items:flex-start}.technology-strip>div{gap:14px 20px}.technology-strip>div>span{font-size:11px}.section-intro{align-items:flex-start;gap:24px}.section-intro>p{max-width:260px;font-size:12px}.service-card{padding:24px 18px}.service-card h3{font-size:18px}.service-card>p{font-size:12px}.service-link{gap:5px;font-size:9px}.experience-layout{gap:32px}.about-grid{grid-template-columns:.8fr 1.2fr;gap:32px}.about-art{min-height:450px;padding:22px}.code-art{font-size:70px}.process-grid{gap:20px}.process-grid h3{font-size:15px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-panel{border-top:1px solid #1b2b1b26;border-left:0;padding-top:30px;padding-left:0}.contact-email{max-width:450px;font-size:25px}}@media (width<=620px){html{scroll-padding-top:85px}.container{width:calc(100% - 40px)}.section{padding-block:64px}.menu-toggle{border:1px solid var(--line);color:#edf0e9;background:0 0;border-radius:4px;align-items:center;gap:18px;padding:10px 12px;font-size:12px;display:flex}.menu-toggle>span{color:var(--accent);font-size:18px;line-height:1}.navigation{border-bottom:1px solid var(--line);background:#19221f;flex-direction:column;align-items:stretch;gap:0;padding:20px;display:none;position:absolute;top:73px;left:0;right:0}.navigation.is-open{display:flex}.navigation>a:not(.button){padding:17px 8px;font-size:15px}.navigation .button{min-height:48px;margin-top:12px;font-size:13px}.hero-grid{grid-template-columns:1fr;gap:48px;padding-top:45px;padding-bottom:40px}.hero-content h1{letter-spacing:-2.8px;font-size:clamp(46px,11.6vw,68px)}.hero-description{max-width:410px;font-size:14px}.hero-actions{flex-flow:wrap;align-items:center;gap:12px 22px;margin-top:24px}.hero-actions .button{gap:14px;padding-inline:17px;font-size:12px}.hero-note{margin-top:23px;font-size:9px}.hero-portrait{width:88%;max-width:380px;margin-inline:auto;transform:rotate(1.5deg)}.portrait{aspect-ratio:1}.portrait-label{padding:15px;font-size:9px}.portrait-topline{letter-spacing:.8px;font-size:8px}.portrait-bottomline{font-size:9px}.technology-strip{flex-direction:column;gap:15px;padding-block:23px}.technology-strip>span{max-width:none}.technology-strip>div{justify-content:flex-start;gap:14px 22px}.section-heading h2{letter-spacing:-1.5px;font-size:34px}.eyebrow{letter-spacing:1.3px;font-size:9px}.section-intro{flex-direction:column;gap:20px;margin-bottom:30px}.section-intro>p{max-width:400px;font-size:13px}.services-grid{grid-template-columns:1fr;gap:15px}.service-card{padding:26px}.service-top{margin-bottom:26px}.service-card h3{max-width:none;font-size:24px}.service-card>p{font-size:13px}.service-tags{margin-block:18px 22px}.service-link{font-size:11px}.experience-layout{grid-template-columns:1fr;gap:40px}.experience-note{max-width:none;margin-top:25px}.experience-note p{font-size:14px}.timeline{margin-left:5px;padding-left:25px}.timeline-item:before{left:-30px}.timeline h3{font-size:20px}.about-grid{grid-template-columns:1fr;gap:34px}.about-art{min-height:280px}.code-art{font-size:95px}.about-copy>p{font-size:14px}.process-grid{grid-template-columns:repeat(2,1fr);gap:32px 22px;margin-top:35px}.process-grid h3{font-size:16px}.contact-section{padding-block:64px}.contact-section h2{letter-spacing:-1.5px;font-size:38px}.contact-section h2 em{letter-spacing:-1.5px}.contact-email{font-size:23px}.footer-inner{flex-wrap:wrap;gap:20px}.footer-links{border-top:1px solid var(--line);justify-content:space-between;width:100%;padding-top:20px}.privacy-page h1{font-size:38px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
