:root{--accent:#d2f887;--muted:#a4ada6;--line:#2d352e;--mono:"Courier New",monospace}.wrap{margin:auto;max-width:1240px;padding-left:48px;padding-right:48px}.header{align-items:center;border-bottom:1px solid #2d352e;border-bottom:1px solid var(--line);display:flex;height:92px;justify-content:space-between;margin:auto;max-width:1340px;padding:0 48px}.brand{font-size:38px;font-weight:800;letter-spacing:-3px}.brand span{color:#d2f887;color:var(--accent)}.nav{align-items:center;display:flex;font-size:13px;gap:36px}.footer a:hover,.nav>a:hover{color:#d2f887;color:var(--accent)}.nav-contact{border:1px solid #58634e;border-radius:5px;padding:12px 20px}.nav-contact span{margin-left:16px}.menu-toggle{display:none}.skip-link{background:#d2f887;background:var(--accent);color:#111;left:15px;padding:12px;position:absolute;top:-80px;z-index:10}.skip-link:focus{top:15px}.hero{grid-gap:30px;align-items:center;display:grid;gap:30px;grid-template-columns:1.15fr 1fr;padding-bottom:86px;padding-top:100px}.eyebrow{color:#a4ada6;color:var(--muted);font:11px Courier New,monospace;font:11px var(--mono);letter-spacing:1.7px;line-height:1.6;margin:0 0 25px}.hero .eyebrow{color:#d2f887;color:var(--accent)}.status-dot{background:#d2f887;background:var(--accent);border-radius:50%;box-shadow:0 0 15px #d2f84466;display:inline-block;height:7px;margin-right:10px;width:7px}h1{font-size:clamp(43px,4.4vw,64px);font-weight:600;letter-spacing:-3.5px;line-height:1.08;margin:0 0 28px}h1>span{color:#d2f887;color:var(--accent)}.intro{color:#a4ada6;color:var(--muted);font-size:15px;max-width:445px}.intro strong{color:#e7ebe2;font-weight:400}.hero-actions{align-items:center;display:flex;gap:26px;margin-top:33px}.button{align-items:center;border-radius:5px;display:inline-flex;font-size:13px;font-weight:600;gap:28px;padding:16px 22px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:#d2f887;background:var(--accent);color:#1b2413}.primary:hover{background:#e4ffb0}.resume-link{border-bottom:1px solid #667255;font-size:12px;padding:10px 0}.resume-link span{margin-left:10px}.hero-facts{display:flex;gap:40px;margin-top:52px}.hero-facts>div+div{border-left:1px solid #2d352e;border-left:1px solid var(--line);padding-left:35px}.hero-facts strong{display:block;font-size:25px;font-weight:500;letter-spacing:-.5px}.hero-facts strong span{color:#c1c8be;font-size:17px}.hero-facts small{color:#a4ada6;color:var(--muted);display:block;font-size:11px;margin-top:9px}.hero-visual{isolation:isolate;min-width:0;padding:55px 0 30px;position:relative}.orbit{border:1px solid #39472c;border-radius:50%;pointer-events:none;position:absolute;z-index:-1}.orbit-one{aspect-ratio:1;left:32px;top:0;width:85%}.orbit-two{aspect-ratio:1;left:72px;top:40px;width:65%}.hero-visual:before{background:radial-gradient(ellipse,#a3c76412,#0000 68%);content:"";inset:-25px;position:absolute;z-index:-1}.visual-cross{color:#d2f887;color:var(--accent);font-size:25px;font-weight:200;position:absolute;right:15px;top:5px}.api-card{background:#171c17;border:1px solid #45513b;border-radius:10px;box-shadow:0 30px 70px #0005;transform:rotate(-2deg);transition:transform .3s}.api-card.request-loading{border-color:#8aa663;box-shadow:0 30px 70px #0005,0 0 0 1px #d2f88722}.api-card.request-success{animation:request-success .65s ease}.api-card:hover{transform:rotate(0)}.window-bar{align-items:center;border-bottom:1px solid #2d352e;border-bottom:1px solid var(--line);color:#929d8b;display:flex;font:11px Courier New,monospace;font:11px var(--mono);justify-content:space-between;padding:16px 19px}.window-dots{display:flex;gap:6px}.window-dots i{background:#59634f;border-radius:50%;height:7px;width:7px}.window-dots i:first-child{background:#c99172}.window-dots i:nth-child(2){background:#c5b575}.window-dots i:last-child{background:#9bb77a}.endpoint{align-items:center;display:flex;font:12px Courier New,monospace;font:12px var(--mono);gap:12px;padding:22px 21px 13px}.endpoint>span{color:#d2f887;color:var(--accent);font-weight:700}.endpoint small{color:#afc59c;font-size:10px;margin-left:auto}.api-tabs{border-bottom:1px solid #2d352e;border-bottom:1px solid var(--line);display:flex;gap:10px;padding:0 21px}.api-tabs button{background:none;border:0;border-bottom:2px solid #0000;color:#a4ada6;color:var(--muted);font:11px Courier New,monospace;font:11px var(--mono);padding:12px 7px}.api-tabs .selected{border-color:#d2f887;border-color:var(--accent);color:#d2f887;color:var(--accent)}.api-card pre{color:#c0d5a4;font:12px/1.85 Courier New,monospace;font:12px/1.85 var(--mono);height:340px;margin:0;overflow:auto;overflow-wrap:anywhere;padding:22px;white-space:pre-wrap}.api-card.request-loading pre{animation:terminal-flicker .9s steps(2) infinite;color:#d2f887;color:var(--accent)}.api-actions{display:flex;gap:8px;padding:0 20px 18px}.api-actions button{background:#20271f;border:1px solid #45513b;border-radius:5px;color:#d6dfcf;font:10px Courier New,monospace;font:10px var(--mono);min-height:39px;padding:9px 12px;transition:transform .2s,border-color .2s,background .2s}.api-actions button:first-child{background:#d2f887;background:var(--accent);border-color:#d2f887;border-color:var(--accent);color:#17200f;flex:1 1;font-weight:700}.api-actions button:hover:not(:disabled){border-color:#d2f887;border-color:var(--accent);transform:translateY(-2px)}.api-actions button:active:not(:disabled){transform:translateY(0) scale(.97)}.api-actions button:disabled{cursor:wait;opacity:.75}.play-icon{display:inline-block;margin-right:7px;min-width:17px}.request-loading .play-icon{animation:loading-pulse .65s ease-in-out infinite alternate}.api-footer{border-top:1px solid #2d352e;border-top:1px solid var(--line);color:#9aa78f;display:flex;font:9px Courier New,monospace;font:9px var(--mono);gap:10px;justify-content:space-between;padding:15px 20px}.api-footer i{background:#d2f887;background:var(--accent);border-radius:50%;display:inline-block;height:5px;margin-right:6px;width:5px}.visual-caption{color:#87937f;display:flex;font:10px Courier New,monospace;font:10px var(--mono);justify-content:space-between;letter-spacing:1px;margin:32px 10px 0}.stack-strip{background:#161a16;border-block:1px solid #2d352e;border-block:1px solid var(--line)}.stack-strip .wrap{align-items:center;color:#c6cec0;display:flex;font-size:16px;font-weight:500;gap:22px;justify-content:space-between;min-height:88px}.stack-strip .strip-label{color:#8e9a85;font:9px Courier New,monospace;font:9px var(--mono);letter-spacing:1px;line-height:1.7;max-width:85px}.section{padding-bottom:100px;padding-top:100px}.section-heading{align-items:flex-end;display:flex;gap:40px;justify-content:space-between;margin-bottom:44px}h2{font-size:42px;font-weight:500;letter-spacing:-1.8px;line-height:1.16;margin:0}.section-heading .eyebrow{margin-bottom:18px}.section-heading>p{color:#a4ada6;color:var(--muted);font-size:13px;margin:0}.project-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.project-card{background:#171c18;border:1px solid #2d352e;border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:border-color .2s,transform .2s}.project-card:hover{border-color:#77875d;transform:translateY(-5px)}.project-art{background:radial-gradient(ellipse at center,#415132,#202b22 65%);display:grid;height:195px;overflow:hidden;place-items:center;position:relative}.art-number{color:#abb99d;font:10px Courier New,monospace;font:10px var(--mono);left:20px;position:absolute;top:18px}.art-icon{background:#ffffff08;border:1px solid #a2b68966;border-radius:12px;box-shadow:0 0 0 17px #9bba7a08,0 0 0 34px #9bba7a06;color:#cfe9ac;display:grid;font-size:32px;height:68px;place-items:center;transform:rotate(-7deg);width:85px;z-index:1}.art-lines{align-items:center;display:flex;gap:20px;inset:0;justify-content:center;opacity:.2;position:absolute;transform:rotate(-25deg)}.art-lines i{background:#b4d58f;height:300px;width:1px}.art-caption{bottom:16px;color:#b4c2a3;font:8px Courier New,monospace;font:8px var(--mono);letter-spacing:1.5px;position:absolute;right:17px}.news{background:radial-gradient(ellipse at center,#3d5250,#202d2c 65%)}.news .art-icon{border-color:#abcac177;color:#badbd4;transform:rotate(7deg)}.attendance{background:radial-gradient(ellipse at center,#534837,#2d2820 65%)}.attendance .art-icon{border-color:#c9b49377;color:#e3d1ac;transform:rotate(-5deg)}.project-body{padding:25px}.project-body .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:12px}.project-body h3{font-size:21px;letter-spacing:-.5px;margin:0 0 15px}.project-body>p:not(.eyebrow){color:#a4ada6;color:var(--muted);font-size:12px;min-height:102px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0}.tags span{border:1px solid #3a4537;border-radius:4px;color:#c2ccb8;font:9px Courier New,monospace;font:9px var(--mono);padding:6px 7px}details{border-top:1px solid #2d352e;border-top:1px solid var(--line);font-size:12px}summary{display:flex;justify-content:space-between;list-style:none;padding-top:18px}summary::-webkit-details-marker{display:none}summary span{color:#d2f887;color:var(--accent)}details[open] summary span{transform:rotate(45deg)}details ul{color:#a4ada6;color:var(--muted);line-height:1.8;padding-left:17px}.work-note{color:#929d8c;font-size:10px;margin-top:24px}.experience{grid-gap:80px;border-block:1px solid #2d352e;border-block:1px solid var(--line);display:grid;gap:80px;grid-template-columns:1fr 1.35fr}.muted{color:#909c8a}.section-intro{color:#a4ada6;color:var(--muted);font-size:13px;margin-top:24px;max-width:275px}.timeline{border-left:1px solid #3f4a36;padding-left:32px}.job{border-bottom:1px solid #2d352e;border-bottom:1px solid var(--line);margin-bottom:38px;padding-bottom:32px;position:relative}.job:last-child{border:0;margin:0;padding-bottom:0}.timeline-dot{background:#647259;border:2px solid #111412;border-radius:50%;height:9px;left:-37px;position:absolute;top:3px;width:9px}.timeline-dot.current{background:#d2f887;background:var(--accent);box-shadow:0 0 0 4px #c4ef8211}.job-date{color:#a9b09e;font:10px Courier New,monospace;font:10px var(--mono);margin:0 0 16px}.job-date span{background:#d2f88718;border-radius:3px;color:#d2f887;color:var(--accent);font-size:8px;margin-left:12px;padding:4px 6px}.job h3{font-size:22px;font-weight:500;margin:0 0 7px}.job .company{color:#d0d9c7;font-size:12px;margin:0 0 15px}.company span{color:#919d88}.job>p:last-child{color:#a4ada6;color:var(--muted);font-size:13px;margin-bottom:0}.about-grid{grid-gap:80px;display:grid;gap:80px;grid-template-columns:1fr 1.1fr}.about-copy>p{color:#a4ada6;color:var(--muted);font-size:14px;margin-top:0}.profile-photo{background:#171c18;border:1px solid #2d352e;border:1px solid var(--line);border-radius:10px;margin:0 0 32px;overflow:hidden;padding:10px;position:relative;width:min(100%,270px)}.profile-photo:after{color:#d2f887;color:var(--accent);content:"+";font:22px Courier New,monospace;font:22px var(--mono);position:absolute;right:22px;text-shadow:0 2px 8px #111;top:18px}.profile-photo img{border-radius:6px;display:block;filter:saturate(.82) contrast(1.05);height:250px;object-fit:cover;object-position:center 28%;width:100%}@keyframes terminal-flicker{50%{opacity:.72}}@keyframes loading-pulse{0%{opacity:.4;transform:translateX(-2px)}to{opacity:1;transform:translateX(2px)}}@keyframes request-success{0%,to{transform:rotate(-2deg)}35%{box-shadow:0 0 35px #d2f88722;transform:rotate(0) scale(1.015)}}.profile-photo figcaption{color:#aeb9a5;display:flex;font:9px Courier New,monospace;font:9px var(--mono);gap:16px;justify-content:space-between;letter-spacing:1px;padding:13px 5px 3px;text-transform:uppercase}.education{border-top:1px solid #2d352e;border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.education .eyebrow{font-size:9px;margin-bottom:18px}.education h4{font-size:12px;font-weight:500;margin:20px 0 6px}.education p:not(.eyebrow){color:#98a28e;font-size:11px;margin:0}.skill-row{border-bottom:1px solid #2d352e;border-bottom:1px solid var(--line);display:flex;gap:20px;padding:23px 0}.skill-row:first-child{padding-top:0}.skill-row>span{color:#d2f887;color:var(--accent);font:10px Courier New,monospace;font:10px var(--mono);padding-top:5px}.skill-row h3{font-size:17px;font-weight:500;margin:0 0 10px}.skill-row p{color:#a4ada6;color:var(--muted);font-size:12px;line-height:1.9;margin:0}.contact-section{background:radial-gradient(ellipse at 80% 50%,#91ba4120,#0000 65%),#191f17;border-block:1px solid #2d352e;border-block:1px solid var(--line);padding:85px 0}.contact-section h2{font-size:56px;letter-spacing:-2.5px}.contact-section h2 span{color:#d2f887;color:var(--accent)}.contact-section .wrap{position:relative}.contact-section p:not(.eyebrow){color:#a4ada6;color:var(--muted);font-size:13px}.contact-actions{align-items:center;display:flex;gap:25px;margin-top:25px}.copy-button{background:none;border:0;border-bottom:1px solid #566745;font-size:12px;padding:10px 0}.copy-button span{margin-left:12px}.copy-status{margin:10px 0;min-height:22px;overflow-wrap:anywhere}.email-link{color:#c7d7b7;font:12px Courier New,monospace;font:12px var(--mono);overflow-wrap:anywhere}.footer{align-items:center;display:flex;gap:25px;justify-content:space-between;min-height:115px}.footer p{color:#96a08d;font-size:10px}.footer>div{display:flex;font-size:11px;gap:25px}@media (min-width:1500px){.hero{padding-bottom:110px;padding-top:120px}}@media (max-width:1000px){.wrap{padding-left:30px;padding-right:30px}.header{padding:0 30px}.hero{gap:20px;padding-top:65px}h1{font-size:49px}.hero-actions{gap:15px}.api-card pre,.resume-link{font-size:11px}.project-body{padding:20px}.project-body>p:not(.eyebrow){min-height:140px}.section-heading{gap:25px}.about-grid,.experience{gap:40px}.stack-strip .wrap{font-size:13px;gap:15px}.contact-section h2{font-size:48px}}@media (max-width:760px){.header{height:78px}.menu-toggle{background:none;border:1px solid #46523b;border-radius:4px;display:block;font-size:12px;padding:9px 13px}.nav{align-items:stretch;background:#171e16;border-bottom:1px solid #2d352e;border-bottom:1px solid var(--line);display:none;flex-direction:column;gap:24px;left:0;padding:25px 30px;position:absolute;right:0;top:78px;z-index:5}.nav.open{display:flex}.hero{gap:20px;grid-template-columns:1fr;padding-bottom:45px;padding-top:55px}h1{font-size:clamp(42px,8vw,60px);letter-spacing:-2.3px}.hero-copy{max-width:560px}.hero-visual{margin:auto;max-width:500px;padding-top:40px;width:100%}.api-card{transform:none}.api-card pre{font-size:12px}.orbit-one{height:280px;left:calc(50% - 140px);width:280px}.orbit-two{height:210px;left:calc(50% - 105px);width:210px}.stack-strip .wrap{flex-wrap:wrap;gap:20px 27px;justify-content:center;padding-bottom:25px;padding-top:25px}.stack-strip .strip-label{max-width:none;text-align:center;width:100%}.section{padding-bottom:65px;padding-top:65px}.section-heading{display:block;margin-bottom:30px}h2{font-size:35px}.section-heading>p{margin-top:20px}.project-grid{grid-template-columns:1fr}.project-art{height:220px}.project-body>p:not(.eyebrow){font-size:14px;min-height:0}.project-body{padding:26px}.project-body .eyebrow{font-size:9px}.project-body h3{font-size:24px}.tags span{font-size:10px}.work-note{font-size:11px}.about-grid,.experience{gap:36px;grid-template-columns:1fr}.profile-photo img{height:220px}.section-intro{max-width:none}.timeline{margin-left:5px}.contact-section{padding:60px 0}.contact-section h2{font-size:40px}.footer{flex-wrap:wrap;gap:18px;padding-bottom:25px;padding-top:25px}.footer>div{justify-content:space-between;width:100%}.footer p{margin-left:auto}.hero-facts{margin-top:38px}.hero-actions{flex-wrap:wrap}.eyebrow{font-size:10px}}@media (max-width:380px){.wrap{padding-left:20px;padding-right:20px}.header{padding:0 20px}h1{font-size:39px}.hero-facts{gap:20px}.hero-facts>div+div{padding-left:20px}.api-footer{font-size:8px}.contact-section h2{font-size:34px}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{-webkit-font-smoothing:antialiased;background:#111412;color:#f0f2ec;font-family:Arial,Helvetica,sans-serif;margin:0}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}a,button,summary{touch-action:manipulation}button,summary{cursor:pointer}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #d2f887;outline-offset:6px}::selection{background:#d2f887;color:#111412}p{line-height:1.7}section{scroll-margin-top:20px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}
/*# sourceMappingURL=main.c5f58f2e.css.map*/