@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=DM+Serif+Display:ital@0;1&family=Space+Grotesk:wght@400;500;600;700&display=swap);body{margin:0}:root{--paper:#f7f7f0;--ink:#202820;--muted:#5e685c;--line:#dcdfd5;--green:#c3f36b;--forest:#1d3028;--display:"Space Grotesk",sans-serif;--body:"DM Sans",sans-serif;--serif:"DM Serif Display",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{-webkit-font-smoothing:antialiased;background:#f7f7f0;background:var(--paper);color:#202820;color:var(--ink);font-family:DM Sans,sans-serif;font-family:var(--body);font-size:16px;line-height:1.6}a,button{-webkit-tap-highlight-color:transparent}button,input{font:inherit}a,button{touch-action:manipulation}a{text-decoration:none}a,button{color:inherit}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%}button{border:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:Space Grotesk,sans-serif;font-family:var(--display);font-weight:500}h1,h2{letter-spacing:-.065em;line-height:1.05}ul{margin:0;padding:0}::selection{background:#c3f36b;background:var(--green);color:#202820;color:var(--ink)}:focus-visible{outline:3px solid #55852d;outline-offset:5px}main:focus{outline:none}[hidden]{display:none!important}.page-width{margin-inline:auto;width:min(1240px,calc(100% - 112px))}.section{padding-block:112px}.serif-word{font-family:"DM Serif Display",Georgia,serif;font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.045em}.eyebrow{align-items:center;display:flex;font-size:10px;font-weight:650;gap:9px;letter-spacing:.13em;line-height:1.6}.eyebrow>span{background:#202820;background:var(--ink);flex:none;height:6px;width:6px}.eyebrow-light{color:#c9d5c5}.eyebrow-light>span{background:#c3f36b;background:var(--green)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.skip-link{background:#c3f36b;background:var(--green);left:20px;padding:12px 20px;position:fixed;top:-100px;z-index:100}.skip-link:focus{top:10px}.site-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:hsla(60,30%,95%,.95);border-bottom:1px solid #dcdfd5;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:50}.nav-shell{height:90px;justify-content:space-between;margin:auto;width:min(1352px,calc(100% - 72px))}.brand,.nav-shell{align-items:center;display:flex}.brand{gap:16px;z-index:52}.brand-symbol{font-family:Space Grotesk,sans-serif;font-family:var(--display);font-size:44px;font-weight:700;letter-spacing:-.14em;line-height:1}.brand-symbol>span{font-weight:400}.brand-symbol i{color:#65a132;font-style:normal;letter-spacing:-.04em}.brand-caption{border-left:1px solid #bfc6b6;font-size:9px;font-weight:650;letter-spacing:.14em;line-height:1.5;padding-left:16px}.navigation{gap:34px}.navigation,.navigation>a{align-items:center;display:flex}.navigation>a{font-size:13px;gap:5px;min-height:44px;position:relative}.navigation>a>span{align-self:flex-start;color:#5e685c;color:var(--muted);font-size:8px;margin-top:9px}.navigation>a:not(.nav-contact):after{background:#202820;background:var(--ink);bottom:5px;content:"";height:2px;left:0;position:absolute;transition:width .2s;width:0}.navigation>a.active:after,.navigation>a:hover:after{width:calc(100% - 16px)}.navigation .nav-contact{background:#c3f36b;background:var(--green);border-radius:4px;gap:25px;padding:10px 20px;transition:background .2s}.nav-contact:hover{background:#afdf58}.menu-toggle{display:none}.button{align-items:center;border-radius:4px;display:inline-flex;font-size:13px;font-weight:550;gap:30px;justify-content:center;min-height:54px;padding:15px 24px;transition:background .2s,-webkit-transform .2s;transition:transform .2s,background .2s;transition:transform .2s,background .2s,-webkit-transform .2s;white-space:nowrap}.button svg{height:19px;width:19px}.button:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px)}.button-dark{background:#202820;background:var(--ink);color:#f7f7f0;color:var(--paper)}.button-dark:hover{background:#3b4b39}.button-outline{border:1px solid #202820;border:1px solid var(--ink)}.button-outline:hover{background:#202820;background:var(--ink);color:#f7f7f0;color:var(--paper)}.text-link{align-items:center;display:inline-flex;font-size:13px;font-weight:550;gap:12px;min-height:44px}.text-link svg{font-size:18px;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.text-link:hover svg{-webkit-transform:translate(2px,-2px);transform:translate(2px,-2px)}.status-dot{background:#609441;border-radius:50%;box-shadow:0 0 0 4px rgba(96,148,65,.1);display:inline-block;flex:none;height:7px;width:7px}.hero{grid-column-gap:40px;-webkit-column-gap:40px;column-gap:40px;display:grid;grid-template-columns:1.18fr 1fr;padding-top:65px}.hero-copy{position:relative;z-index:2}.hero-intro{font-size:17px;margin-bottom:14px;margin-top:33px}.hello-mark{color:#659a39;display:inline-block;margin-left:5px;-webkit-transform:rotate(10deg);transform:rotate(10deg)}.hero h1{font-size:clamp(58px,5.7vw,82px);letter-spacing:-.07em;line-height:1.025;position:relative;white-space:nowrap}.hero h1 .serif-word{display:inline-block;position:relative}.hero h1 .serif-word:after{background:#c3f36b;background:var(--green);bottom:1px;content:"";height:5px;left:1px;position:absolute;-webkit-transform:rotate(-3deg);transform:rotate(-3deg);width:100%;z-index:-1}.headline-star{-webkit-animation:star-turn 22s linear infinite;animation:star-turn 22s linear infinite;color:#5b8c36;display:inline-block;font-size:.7em;margin-left:16px;vertical-align:middle}.hero-description{color:#5e685c;color:var(--muted);font-size:15px;line-height:1.8;margin-top:25px;max-width:455px}.hero-actions{align-items:center;display:flex;gap:28px;margin-top:30px}.hero-visual{display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative}.hero-note{align-items:center;align-self:flex-end;display:flex;font-size:9px;gap:10px;letter-spacing:.09em;margin-top:6px}.portrait-composition{height:440px;isolation:isolate;position:relative;width:100%}.portrait-grid{background-image:radial-gradient(#a8b59c 1px,transparent 0);background-size:19px 19px;inset:30px 0;-webkit-mask-image:radial-gradient(ellipse,#000 25%,transparent 70%);mask-image:radial-gradient(ellipse,#000 25%,transparent 70%);opacity:.4;position:absolute}.portrait-circle{aspect-ratio:1;background:#dce8cb;border-radius:50%;bottom:28px;left:11%;overflow:hidden;position:absolute;width:79%}.portrait-circle:before{border:1px solid #bbcba6;border-radius:50%;content:"";inset:18px;pointer-events:none;position:absolute;z-index:1}.portrait-circle img{-webkit-filter:saturate(.65);filter:saturate(.65);height:100%;object-fit:cover;object-position:center bottom;position:absolute;transition:-webkit-filter .5s,-webkit-transform .7s;transition:filter .5s,transform .7s;transition:filter .5s,transform .7s,-webkit-filter .5s,-webkit-transform .7s;width:100%}.portrait-composition:hover img{-webkit-filter:saturate(1);filter:saturate(1);-webkit-transform:scale(1.02);transform:scale(1.02)}.portrait-ring{border:1px solid #b5c3a6;border-radius:50%;position:absolute;z-index:-1}.ring-one{height:87%;left:7%;top:20px;-webkit-transform:rotate(-27deg);transform:rotate(-27deg);width:87%}.ring-two{height:65%;left:0;top:85px;-webkit-transform:rotate(-28deg);transform:rotate(-28deg);width:95%}.floating-label{align-items:center;border-radius:5px;box-shadow:0 6px 20px #2030200a;display:flex;font-size:11px;gap:12px;line-height:1.6;padding:14px 17px;position:absolute;z-index:4}.floating-label strong{font-weight:550}.floating-label svg{font-size:22px}.label-code{background:#f7f7f0;background:var(--paper);border:1px solid #dcdfd5;border:1px solid var(--line);left:-5px;top:75px;-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}.label-ai{background:#c3f36b;background:var(--green);bottom:39px;right:-5px;-webkit-transform:rotate(6deg);transform:rotate(6deg)}.ai-symbol{font-size:36px;line-height:1}.portrait-coordinate{bottom:0;color:#5e685c;color:var(--muted);font-family:Space Grotesk,sans-serif;font-family:var(--display);font-size:8px;left:10%;letter-spacing:.13em;position:absolute}.portrait-plus{color:#7b8c6c;font-size:24px;font-weight:400;position:absolute}.plus-one{left:20%;top:28px}.plus-two{bottom:160px;right:4%}.hero-visual-footer{border-top:1px solid #dcdfd5;border-top:1px solid var(--line);color:#5e685c;color:var(--muted);display:flex;font-size:8px;gap:15px;justify-content:space-between;letter-spacing:.09em;margin-top:22px;padding-top:14px}.hero-visual-footer span:last-child{align-items:center;display:flex;gap:5px}.hero-bottom{grid-column:1/-1;justify-content:space-between;padding-block:44px 28px}.hero-bottom,.scroll-cue{align-items:center;display:flex}.scroll-cue{color:#5e685c;color:var(--muted);font-size:11px;gap:12px}.scroll-icon{align-items:center;border:1px solid #cbd2c1;border-radius:18px;color:#202820;color:var(--ink);display:flex;height:36px;justify-content:center;width:27px}.scroll-icon svg{-webkit-animation:scroll-nudge 2.5s ease-in-out infinite;animation:scroll-nudge 2.5s ease-in-out infinite}.hero-index{color:#5e685c;color:var(--muted);font-size:9px;letter-spacing:.13em}.stack-strip{background:#eff0e7;border-block:1px solid #dcdfd5;border-block:1px solid var(--line)}.stack-strip>.page-width{align-items:center;display:flex;gap:24px;justify-content:space-between;padding-block:25px}.stack-strip span{align-items:center;display:flex;font-family:Space Grotesk,sans-serif;font-family:var(--display);font-size:17px;font-weight:500;gap:24px;white-space:nowrap}.stack-strip .stack-caption{color:#5e685c;color:var(--muted);font-family:DM Sans,sans-serif;font-family:var(--body);font-size:9px;font-weight:500;letter-spacing:.09em;line-height:1.5;max-width:70px;white-space:normal}.stack-strip i{color:#8b997f;font-size:15px;font-style:normal}.stack-strip span:last-child i{display:none}.section-heading{align-items:flex-end;display:flex;gap:30px;justify-content:space-between;margin-bottom:46px}.home-about h2,.section-heading h2{font-size:clamp(38px,4.2vw,58px);margin-top:19px}.section-heading p{color:#5e685c;color:var(--muted);font-size:14px;line-height:1.8;margin-top:20px;max-width:470px}.section-heading>.text-link{flex-shrink:0;margin-bottom:4px}.project-list{border-top:1px solid #202820;border-top:1px solid var(--ink)}.work-item{grid-column-gap:20px;align-items:start;border-bottom:1px solid #dcdfd5;border-bottom:1px solid var(--line);-webkit-column-gap:20px;column-gap:20px;display:grid;grid-template-columns:70px 1fr 54px;padding:35px 16px 35px 0;position:relative;transition:background .25s}.work-number{font-family:Space Grotesk,sans-serif;font-family:var(--display);font-size:12px;padding-top:6px}.work-label,.work-number{color:#5e685c;color:var(--muted)}.work-label{display:block;font-size:9px;font-weight:550;letter-spacing:.13em;text-transform:uppercase}.work-main h3{font-size:clamp(22px,2.6vw,35px);letter-spacing:-.045em;line-height:1.2;margin-top:10px}.work-main>p{color:#5e685c;color:var(--muted);font-size:13px;margin-top:10px}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}.tag-list span{border:1px solid #d4d9cc;border-radius:4px;font-size:10px;line-height:1.5;padding:4px 10px;white-space:normal}.work-toggle{background:transparent;border:1px solid #cbd1c2;border-radius:50%;display:grid;height:48px;margin-top:22px;place-items:center;transition:background .25s,-webkit-transform .25s;transition:transform .25s,background .25s;transition:transform .25s,background .25s,-webkit-transform .25s;width:48px}.work-toggle svg{height:22px;width:22px}.work-open .work-toggle,.work-toggle:hover{background:#c3f36b;background:var(--green);border-color:#c3f36b;border-color:var(--green)}.work-toggle:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.work-open{background:#edf1e6;padding-left:20px}.work-details{grid-gap:44px;border-top:1px solid #d1d9c7;display:grid;gap:44px;grid-column:2/-1;grid-template-columns:1fr 1.2fr;margin-top:28px;padding-top:30px}.detail-label{font-size:9px;font-weight:650;letter-spacing:.12em}.work-details p,.work-details ul{color:#58634f;font-size:13px;line-height:1.85;margin-top:14px}.work-details ul{padding-left:17px}.work-details li{margin-bottom:10px;padding-left:5px}.work-details .text-link{margin-top:15px}.project-discretion{align-items:center;color:#5e685c;color:var(--muted);display:flex;font-size:11px;gap:9px;margin-top:25px}.project-discretion svg{flex:none;font-size:17px}.workflow-section{background:#1d3028;background:var(--forest);color:#f0f4e9;overflow:hidden;padding-block:85px;position:relative}.workflow-section:before{background-image:linear-gradient(#d7efc304 1px,transparent 0),linear-gradient(90deg,#d7efc304 1px,transparent 0);background-size:48px 48px;content:"";inset:0;pointer-events:none;position:absolute}.workflow-section>.page-width{position:relative}.workflow-heading{align-items:center;display:flex;justify-content:space-between}.workflow-heading h2{font-size:clamp(35px,4.3vw,58px);margin-top:20px}.workflow-heading .serif-word{color:#bad4a7}.workflow-asterisk{-webkit-animation:star-turn 35s linear infinite;animation:star-turn 35s linear infinite;color:#c3f36b;color:var(--green);font-size:130px;line-height:1;padding-right:15px}.workflow-tabs{border-bottom:1px solid #ffffff24;display:flex;gap:12px;margin-top:42px;padding-bottom:22px}.workflow-tabs button{align-items:center;background:transparent;border:1px solid #ffffff26;border-radius:4px;color:#c0ccbd;display:flex;font-size:12px;gap:9px;justify-content:center;min-height:45px;padding:10px 18px;transition:background .2s}.workflow-tabs button[aria-selected=true]{background:#c3f36b;background:var(--green);color:#202820;color:var(--ink)}.workflow-tabs button:hover,.workflow-tabs button[aria-selected=true]{border-color:#c3f36b;border-color:var(--green)}.workflow-tabs svg{font-size:17px}.workflow-panel{grid-gap:55px;align-items:center;display:grid;gap:55px;grid-template-columns:1fr 1.8fr;min-height:225px;padding-top:38px}.workflow-explanation h3{font-size:22px;letter-spacing:-.035em;line-height:1.25;max-width:250px}.workflow-explanation>p{color:#bac8b6;font-size:12px;line-height:1.85;margin-top:15px}.diagram-caption{color:#93a88b;display:block;font-size:7px;letter-spacing:.13em;margin-top:23px}.flow-diagram{align-items:center;display:flex;gap:10px;min-width:0}.flow-node{background:#ffffff03;border:1px solid #9ab98457;border-radius:6px;flex:1 1;min-width:0;padding:18px 12px;position:relative}.node-label{color:#a7b99b;display:block;font-size:7px;letter-spacing:.1em}.flow-node>svg{color:#c3f36b;color:var(--green);height:27px;margin-top:25px;width:27px}.flow-node h4{font-size:13px;letter-spacing:-.025em;line-height:1.3;margin-top:16px}.flow-node p{color:#b5c2ad;font-size:8px;line-height:1.6;margin-top:8px}.flow-connector{color:#c3f36b;color:var(--green);flex:none;width:15px}.home-about{grid-gap:90px;align-items:start;display:grid;gap:90px;grid-template-columns:1fr 1fr}.large-copy{font-size:24px;letter-spacing:-.035em;line-height:1.55}.muted-copy{color:#5e685c;color:var(--muted);font-size:14px;line-height:1.9}.home-about .text-link,.muted-copy{margin-top:22px}.contact-section{background:#c3f36b;background:var(--green);padding-block:56px 38px}.contact-top{gap:20px;justify-content:space-between}.contact-top,.location-label{align-items:center;display:flex}.location-label{font-size:10px;gap:8px}.contact-heading{align-items:center;display:flex;justify-content:space-between;padding-block:32px 38px}.contact-heading h2{font-size:clamp(60px,8vw,112px);letter-spacing:-.07em}.contact-heading h2 span{font-family:"DM Serif Display",Georgia,serif;font-family:var(--serif);font-style:italic;font-weight:400}.contact-arrow{background:#202820;background:var(--ink);border-radius:50%;color:#c3f36b;color:var(--green);display:grid;height:130px;place-items:center;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;width:130px}.contact-arrow svg{height:62px;width:62px}.contact-arrow:hover{-webkit-transform:rotate(8deg);transform:rotate(8deg)}.contact-bottom{align-items:center;border-top:1px solid #4b6b2d55;display:flex;gap:20px;justify-content:space-between;padding-top:25px}.contact-bottom>div{align-items:center;display:flex;flex-wrap:wrap;gap:7px}.email-link{font-family:Space Grotesk,sans-serif;font-family:var(--display);font-size:22px;letter-spacing:-.04em;overflow-wrap:anywhere}.email-link:hover{text-decoration:underline;text-underline-offset:4px}.copy-button{background:transparent;border:1px solid #59793350;border-radius:50%;display:grid;height:44px;margin-left:8px;place-items:center;width:44px}.copy-button:hover{background:#ffffff40}.copy-button svg{height:16px;width:16px}.copy-feedback{font-size:10px}.contact-bottom>p{font-size:10px;max-width:190px}.site-footer{grid-gap:30px;align-items:center;display:grid;gap:30px;grid-template-columns:1fr auto 1fr;padding-block:36px}.footer-name{font-size:13px;font-weight:650}.footer-name>span{color:#5e685c;color:var(--muted);display:block;font-size:9px;font-weight:400;margin-top:4px}.footer-socials{display:flex;gap:22px}.footer-socials a{align-items:center;display:flex;font-size:11px;gap:5px;min-height:44px}.footer-socials a:hover{text-decoration:underline;text-underline-offset:4px}.copyright{color:#5e685c;color:var(--muted);font-size:9px;justify-self:end;white-space:nowrap}.page-intro{padding-block:75px 50px}.page-intro h1{font-size:clamp(52px,7vw,94px);margin-top:25px}.inline-star{-webkit-animation:star-turn 30s linear infinite;animation:star-turn 30s linear infinite;color:#658d41;display:inline-block;font-size:.65em;margin-left:30px;vertical-align:middle}.intro-bottom{align-items:flex-end;display:flex;gap:30px;justify-content:space-between;margin-top:32px}.intro-bottom p,.intro-description{color:#5e685c;color:var(--muted);font-size:14px;line-height:1.9}.intro-description{margin-top:28px;max-width:630px}.project-total{font-size:9px;letter-spacing:.15em;white-space:nowrap}.work-section{padding-bottom:70px}.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.project-filters button{align-items:center;background:transparent;border:1px solid #dcdfd5;border:1px solid var(--line);border-radius:4px;display:flex;font-size:12px;gap:12px;min-height:44px;padding:9px 19px;transition:background .2s}.project-filters button[aria-pressed=true]{background:#202820;background:var(--ink);color:#f7f7f0;color:var(--paper)}.project-filters button:hover,.project-filters button[aria-pressed=true]{border-color:#202820;border-color:var(--ink)}.project-filters button>span{font-size:9px;opacity:.6}.learning-callout{align-items:center;display:flex;gap:40px;justify-content:space-between;padding-block:40px 80px}.learning-callout h2{font-size:36px;margin-top:20px;max-width:600px}.learning-callout p{color:#5e685c;color:var(--muted);font-size:13px;margin-top:18px}.back-link{align-items:center;display:inline-flex;font-size:12px;margin-bottom:28px;min-height:44px}.back-link:hover{text-decoration:underline}.about-intro{grid-gap:80px;align-items:center;display:grid;gap:80px;grid-template-columns:1.2fr 1fr;padding-bottom:45px;padding-top:75px}.about-intro h1{font-size:clamp(46px,5.1vw,72px);margin-top:25px}.about-intro .large-copy{font-size:21px;margin-top:30px;max-width:520px}.about-intro .muted-copy{max-width:490px}.about-links{display:flex;gap:30px;margin-top:25px}.portrait-small{height:420px}.portrait-small .portrait-circle{bottom:25px}.portrait-small .label-code{top:65px}.experience-layout{grid-gap:60px;border-top:1px solid #202820;border-top:1px solid var(--ink);display:grid;gap:60px;grid-template-columns:1fr 2.1fr;padding-top:30px}.experience-selectors{display:flex;flex-direction:column;gap:5px}.experience-selectors button{align-items:center;background:transparent;border-bottom:1px solid #dcdfd5;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 18px 18px 0;text-align:left}.experience-selectors button[aria-pressed=true]{background:#e6eedb;border-left:3px solid #6b8f40;padding-left:18px}.experience-selectors small{color:#5e685c;color:var(--muted);display:block;font-size:9px}.experience-selectors strong{display:block;font-family:Space Grotesk,sans-serif;font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:-.03em;margin-top:5px}.experience-selectors button>svg{font-size:20px}.experience-content{padding:15px 0}.experience-meta{align-items:center;display:flex;font-size:10px;gap:20px;letter-spacing:.04em}.current-badge{align-items:center;display:flex;font-size:8px;gap:8px}.experience-content h3{font-size:33px;letter-spacing:-.045em;line-height:1.2;margin-top:18px}.experience-description{color:#5e685c;color:var(--muted);font-size:15px;margin-top:14px}.experience-content ul{list-style:none;margin-top:28px}.experience-content li{color:#5c6656;font-size:13px;line-height:1.9;margin-bottom:14px;padding-left:22px;position:relative}.experience-content li:before{color:#65883e;content:"↗";left:0;position:absolute;top:0}.skills-section{background:#eef0e6;padding-block:90px}.skill-row{grid-gap:25px;align-items:start;border-top:1px solid #ccd4c1;display:grid;gap:25px;grid-template-columns:50px 1fr 1.6fr;padding-block:27px}.skill-number{color:#5e685c;color:var(--muted);font-family:Space Grotesk,sans-serif;font-family:var(--display);font-size:11px;padding-top:5px}.skill-row h3{font-size:23px;letter-spacing:-.04em;line-height:1.25}.skill-row .tag-list{margin-top:0}.skill-row .tag-list span{background:#f7f7f0;background:var(--paper);border:1px solid #d6ddcc;font-size:11px;padding:5px 11px}.beyond-code{grid-gap:100px;display:grid;gap:100px;grid-template-columns:1fr 1fr}.education-block{align-self:start;border:1px solid #ced7c4;border-radius:5px;overflow:hidden;padding:34px;position:relative}.education-block:after{bottom:10px;color:#d8e1cd;content:"↗";font-size:80px;line-height:1;position:absolute;right:22px}.education-year{color:#5f793f;display:block;font-family:Space Grotesk,sans-serif;font-family:var(--display);font-size:45px;letter-spacing:-.06em;margin-top:40px}.education-block h3{font-size:25px;letter-spacing:-.04em;margin-top:14px}.education-block p{font-size:14px;margin-top:8px}.education-block>span:last-child{color:#5e685c;color:var(--muted);display:block;font-size:10px;margin-top:10px}.off-screen h2{font-size:48px;margin-top:24px}.off-screen p{color:#5e685c;color:var(--muted);font-size:14px;line-height:1.9;margin-top:24px}.hobby-list{display:flex;font-size:12px;gap:20px;margin-top:25px}.learning-grid{grid-gap:45px 32px;display:grid;gap:45px 32px;grid-template-columns:1fr 1fr;padding-bottom:100px}.learning-card{background:#fafaf5;border:1px solid #dcdfd5;border:1px solid var(--line);border-radius:5px;display:flex;flex-direction:column;overflow:hidden}.learning-image{aspect-ratio:16/10;background:#e4e8dd;border-bottom:1px solid #dcdfd5;border-bottom:1px solid var(--line);overflow:hidden}.learning-image img{height:100%;object-fit:cover;object-position:top;transition:-webkit-transform .6s;transition:transform .6s;transition:transform .6s,-webkit-transform .6s;width:100%}.learning-card:hover .learning-image img{-webkit-transform:scale(1.03);transform:scale(1.03)}.learning-content{display:flex;flex:1 1;flex-direction:column;padding:26px}.learning-content h2{font-size:31px;letter-spacing:-.045em;margin-top:13px}.learning-content p{color:#5e685c;color:var(--muted);font-size:13px;line-height:1.85;margin-top:15px}.learning-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:auto;padding-top:24px}.learning-links .text-link{font-size:11px;gap:7px}.resume-section{padding-bottom:90px}.resume-toolbar{align-items:center;border-block:1px solid #dcdfd5;border-block:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;padding-block:12px}.resume-toolbar>span{align-items:center;display:flex;font-size:9px;gap:10px;letter-spacing:.07em}.resume-preview{background:#e3e7dd;padding:25px}.resume-preview object{background:#fff;border:0;display:block;height:900px;width:100%}.pdf-fallback{background:#eff2e8;padding:100px 30px;text-align:center}.pdf-fallback>svg{font-size:40px}.pdf-fallback h2{font-size:40px;margin-top:20px}.pdf-fallback p{margin-block:20px}.mobile-resume{display:none}@-webkit-keyframes star-turn{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes star-turn{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes scroll-nudge{0%,to{-webkit-transform:translateY(-2px);transform:translateY(-2px)}50%{-webkit-transform:translateY(3px);transform:translateY(3px)}}@keyframes scroll-nudge{0%,to{-webkit-transform:translateY(-2px);transform:translateY(-2px)}50%{-webkit-transform:translateY(3px);transform:translateY(3px)}}@-webkit-keyframes enter{0%{opacity:0;-webkit-transform:translateY(15px);transform:translateY(15px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes enter{0%{opacity:0;-webkit-transform:translateY(15px);transform:translateY(15px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.about-intro,.hero-copy,.page-intro{-webkit-animation:enter .7s ease-out both;animation:enter .7s ease-out both}.hero-visual{-webkit-animation:enter .9s ease-out both;animation:enter .9s ease-out both}@media (min-width:1500px){.hero{padding-top:85px}.hero h1{font-size:88px}.portrait-composition{height:470px}.hero-bottom{padding-top:55px}}@media (max-width:1150px){.page-width{width:calc(100% - 80px)}.hero{gap:30px}.hero h1{font-size:6.1vw}.hero-intro{margin-top:27px}.portrait-composition{height:390px}.hero-visual-footer{font-size:7px}.floating-label{font-size:10px;padding:10px 12px}.label-code{left:-10px}.label-ai{right:-8px}.portrait-ring.ring-one{height:85%;top:35px}.stack-strip>.page-width{gap:18px}.stack-strip span{font-size:15px;gap:18px}.stack-strip .stack-caption{font-size:8px}.workflow-panel{gap:30px;grid-template-columns:1fr 1.6fr}.flow-diagram{gap:7px}.flow-node{padding:15px 10px}.flow-node h4{font-size:12px}.flow-node p{font-size:7px}.flow-connector{width:12px}.home-about{gap:60px}.contact-heading h2{font-size:90px}.site-footer{grid-template-columns:1fr auto}.copyright{grid-column:1/-1;justify-self:start}.about-intro{gap:45px}.portrait-small{height:370px}.experience-layout{gap:40px}.beyond-code{gap:60px}}@media (max-width:900px){.page-width{width:calc(100% - 56px)}.nav-shell{height:78px;width:calc(100% - 48px)}.navigation{gap:22px}.navigation>a{font-size:12px}.navigation .nav-contact{gap:12px;padding:9px 13px}.brand-caption{display:none}.hero{gap:20px;padding-top:47px}.hero h1{font-size:6.4vw}.hero-intro{font-size:15px}.hero-description{font-size:13px}.hero-actions{flex-wrap:wrap;gap:15px}.hero-actions .button{font-size:12px;gap:17px;padding:13px 19px}.hero-actions .text-link{font-size:11px}.hero-note{font-size:7px;gap:7px}.portrait-composition{height:335px}.portrait-circle{bottom:25px}.label-code{top:55px}.label-ai{bottom:32px}.floating-label{font-size:9px;gap:8px;padding:9px 10px}.floating-label svg{font-size:18px}.ai-symbol{font-size:27px}.portrait-coordinate{font-size:7px}.hero-visual-footer{font-size:6px}.portrait-plus{font-size:20px}.hero-bottom{padding-top:34px}.stack-strip>.page-width{gap:15px}.stack-strip span{font-size:13px;gap:15px}.stack-strip i{font-size:11px}.section{padding-block:80px}.workflow-section{padding-block:65px}.workflow-panel{gap:30px;grid-template-columns:1fr}.workflow-explanation{grid-gap:15px 35px;align-items:start;display:grid;gap:15px 35px;grid-template-columns:1fr 1.3fr}.workflow-explanation h3{font-size:24px;max-width:320px}.workflow-explanation>p{font-size:13px;margin:0}.diagram-caption{grid-column:1/-1;margin-top:0}.flow-node{padding:24px}.flow-node h4{font-size:15px}.flow-node p{font-size:10px}.node-label{font-size:9px}.flow-diagram{gap:16px}.flow-connector{width:20px}.workflow-asterisk{font-size:100px}.contact-top .eyebrow{font-size:8px}.location-label{font-size:9px}.contact-heading h2{font-size:80px}.contact-arrow{height:105px;width:105px}.contact-arrow svg{height:50px;width:50px}.email-link{font-size:20px}.contact-bottom>p{font-size:9px;max-width:145px}.large-copy{font-size:21px}.home-about{gap:40px}.about-intro{gap:30px}.about-intro h1{font-size:45px}.about-intro .large-copy{font-size:17px}.about-intro .muted-copy{font-size:13px}.portrait-small{height:320px}.about-intro .label-code{top:35px}.experience-content h3{font-size:28px}.skill-row{gap:18px;grid-template-columns:30px 1fr 1.5fr}.skill-row h3{font-size:21px}.beyond-code{gap:35px}.education-block{padding:25px}.education-year{font-size:38px}.off-screen h2{font-size:40px}.hobby-list{font-size:11px;gap:12px}.learning-callout h2{font-size:31px}.learning-callout{gap:25px}.learning-callout .button{font-size:11px;gap:15px;padding:13px 17px}.resume-preview object{height:750px}}@media (max-width:680px){html{scroll-padding-top:90px}.page-width{width:calc(100% - 40px)}.section{padding-block:65px}.nav-shell{height:72px;width:calc(100% - 40px)}.brand-caption{display:block;font-size:8px}.brand-symbol{font-size:38px}.brand{gap:13px}.brand-caption{padding-left:13px}.menu-toggle{background:transparent;border:1px solid #dcdfd5;border:1px solid var(--line);border-radius:50%;display:grid;height:44px;place-items:center;width:44px;z-index:52}.menu-toggle svg{height:21px;width:21px}.navigation{display:none}.navigation.is-open{align-items:stretch;background:#f7f7f0;background:var(--paper);border-top:1px solid #dcdfd5;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:0;height:calc(100dvh - 72px);inset:72px 0 auto;overflow-y:auto;padding:28px 24px 50px;position:fixed}.navigation>a{border-bottom:1px solid #dcdfd5;border-bottom:1px solid var(--line);font-family:Space Grotesk,sans-serif;font-family:var(--display);font-size:36px;justify-content:space-between;letter-spacing:-.04em;min-height:75px;padding-block:12px}.navigation>a>span{font-family:DM Sans,sans-serif;font-family:var(--body);font-size:11px;letter-spacing:0;margin-top:12px}.navigation>a:not(.nav-contact):after{display:none}.navigation>a.active{color:#5a8138}.navigation .nav-contact{border:0;font-family:DM Sans,sans-serif;font-family:var(--body);font-size:16px;letter-spacing:0;margin-top:30px;min-height:55px;padding:14px 20px}.hero{gap:0;grid-template-columns:1fr;padding-top:35px}.hero .eyebrow{font-size:8px;letter-spacing:.1em}.hero-intro{font-size:15px;margin-bottom:13px;margin-top:27px}.hero h1{font-size:clamp(45px,10.2vw,68px);letter-spacing:-.065em;line-height:1.04}.headline-star{font-size:.66em;margin-left:13px}.hero-description{font-size:13px;line-height:1.85;margin-top:23px;max-width:390px}.hero-actions{flex-wrap:nowrap;gap:22px;margin-top:25px}.hero-actions .button{font-size:12px;gap:20px;min-height:50px;padding:14px 18px}.hero-actions .text-link{font-size:12px;gap:8px}.hero-visual{justify-self:center;margin-top:38px;width:min(420px,100%)}.hero-note{align-self:flex-end;font-size:7px;margin-right:5px;margin-top:0}.portrait-composition{height:350px}.portrait-circle{bottom:25px;left:13%;width:74%}.ring-one{height:85%;left:9%;top:27px;width:82%}.ring-two{height:65%;left:5%;top:80px;width:91%}.label-code{left:0;top:65px}.label-ai,.label-code{font-size:10px;padding:11px 13px}.label-ai{bottom:40px;right:0}.portrait-plus.plus-one{left:15%;top:24px}.portrait-plus.plus-two{bottom:143px;right:6%}.portrait-coordinate{bottom:4px;font-size:7px;left:13%}.hero-visual-footer{font-size:7px;margin-top:15px;padding-top:12px}.hero-bottom{padding-block:26px 24px}.scroll-cue{font-size:9px;gap:9px}.hero-index{display:none}.scroll-icon{height:30px;width:23px}.stack-strip>.page-width{grid-gap:16px 10px;display:grid;gap:16px 10px;grid-template-columns:repeat(3,1fr);padding-block:20px}.stack-strip .stack-caption{display:none}.stack-strip span{font-size:14px;gap:12px;justify-content:space-between}.stack-strip i{font-size:11px}.stack-strip span:nth-child(4) i{display:none}.section-heading{align-items:flex-start;gap:20px;margin-bottom:30px}.home-about h2,.section-heading h2{font-size:39px;margin-top:17px}.section-heading p{font-size:13px;margin-top:17px;max-width:310px}.section-heading>.text-link{align-self:flex-end;font-size:11px;gap:6px;white-space:nowrap}.section-heading>.text-link svg{font-size:15px}.eyebrow{font-size:8px;gap:8px;letter-spacing:.11em}.eyebrow>span{height:5px;width:5px}.work-item{gap:10px;grid-template-columns:27px 1fr 36px;padding:27px 0}.work-number{font-size:10px;padding-top:2px}.work-label{font-size:8px;letter-spacing:.08em}.work-main h3{font-size:23px;line-height:1.18;margin-top:9px}.work-main>p{font-size:12px;line-height:1.7;margin-top:9px}.tag-list{gap:6px;margin-top:15px}.tag-list span{font-size:9px;padding:4px 8px}.work-toggle{height:36px;margin-top:22px;width:36px}.work-toggle svg{height:18px;width:18px}.work-open{margin-inline:-10px;padding-inline:10px}.work-details{gap:25px;grid-column:2/-1;grid-template-columns:1fr;margin-top:15px;padding-top:25px}.work-details p,.work-details ul{font-size:12px;margin-top:12px}.detail-label{font-size:8px}.work-details ul{padding-left:13px}.work-details .text-link{font-size:11px}.workflow-section{padding-block:55px}.workflow-heading h2{font-size:clamp(29px,7.4vw,43px);margin-top:17px}.workflow-asterisk{align-self:flex-start;font-size:55px;margin-left:12px;margin-top:43px;padding-right:0}.workflow-tabs{gap:7px;justify-content:space-between;margin-top:30px;padding-bottom:18px}.workflow-tabs button{flex:1 1;font-size:10px;gap:6px;min-height:44px;padding:9px 11px;white-space:nowrap}.workflow-tabs svg{height:14px;width:14px}.workflow-panel{gap:25px;min-height:0;padding-top:28px}.workflow-explanation{display:block}.workflow-explanation h3{font-size:23px;max-width:300px}.workflow-explanation>p{font-size:12px;line-height:1.85;margin-top:13px;max-width:450px}.diagram-caption{font-size:7px;margin-top:22px}.flow-diagram{align-items:stretch;flex-direction:column;gap:9px}.flow-node{border-radius:4px;display:grid;grid-template-columns:1fr;padding:18px 18px 18px 57px;position:relative}.node-label{font-size:7px}.flow-node>svg{height:23px;left:17px;margin:0;position:absolute;top:38px;width:23px}.flow-node h4{font-size:16px;margin-top:6px}.flow-node p{font-size:10px;margin-top:5px}.flow-connector{align-self:center;height:17px;-webkit-transform:rotate(90deg);transform:rotate(90deg);width:15px}.home-about{gap:30px;grid-template-columns:1fr}.home-about .large-copy{font-size:21px}.muted-copy{font-size:13px;margin-top:18px}.home-about .text-link{margin-top:16px}.contact-section{padding-block:33px 25px}.contact-top{display:block}.contact-top .eyebrow{font-size:7px}.location-label{font-size:9px;margin-top:15px}.contact-heading{padding-block:30px}.contact-heading h2{font-size:clamp(45px,12vw,75px);line-height:1.06}.contact-arrow{flex:none;height:70px;margin-left:15px;width:70px}.contact-arrow svg{height:34px;width:34px}.contact-bottom{display:block;padding-top:16px}.email-link{font-size:clamp(15px,4.1vw,23px)}.copy-button{height:38px;margin-left:3px;width:38px}.copy-feedback{font-size:9px}.contact-bottom>p{font-size:9px;margin-top:15px;max-width:none}.site-footer{gap:20px;grid-template-columns:1fr;padding-block:30px}.footer-name{font-size:14px}.footer-name>span{font-size:10px}.footer-socials{gap:24px}.footer-socials a{font-size:12px}.copyright{font-size:9px;grid-column:auto;justify-self:start}.page-intro{padding-block:43px 35px}.page-intro h1{font-size:clamp(47px,11.6vw,70px);margin-top:23px}.inline-star{margin-left:19px}.intro-bottom{display:block;margin-top:25px}.intro-bottom p,.intro-description{font-size:13px;line-height:1.9}.project-total{display:block;font-size:8px;margin-top:25px}.project-filters{grid-gap:7px;display:grid;gap:7px;grid-template-columns:1fr 1fr;margin-bottom:25px}.project-filters button{font-size:11px;justify-content:center;min-height:44px;padding:10px 13px;white-space:nowrap}.work-section{padding-bottom:30px}.project-discretion{align-items:flex-start;font-size:9px;line-height:1.7;margin-top:20px}.project-discretion svg{margin-top:2px;width:14px}.learning-callout{display:block;padding-block:25px 60px}.learning-callout h2{font-size:33px;margin-top:18px}.learning-callout p{font-size:12px;line-height:1.8}.learning-callout .button{font-size:12px;gap:25px;margin-top:25px;padding:14px 20px}.about-intro{gap:25px;grid-template-columns:1fr;padding-bottom:5px;padding-top:43px}.about-intro h1{font-size:clamp(40px,10.5vw,65px);line-height:1.06;margin-top:23px}.about-intro .large-copy{font-size:20px;margin-top:25px}.about-intro .muted-copy{font-size:13px;line-height:1.9}.about-links{margin-top:18px}.about-links .text-link{font-size:12px}.portrait-small{height:340px;justify-self:center;width:min(400px,100%)}.portrait-small .label-code{top:60px}.experience-layout{gap:25px;grid-template-columns:1fr;padding-top:16px}.experience-selectors{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.experience-selectors button{border:1px solid #dcdfd5;border:1px solid var(--line);border-radius:4px;gap:8px;min-height:76px;padding:12px!important}.experience-selectors button[aria-pressed=true]{background:#e6eedb;border:1px solid #8ea56e}.experience-selectors small{font-size:8px}.experience-selectors strong{font-size:17px;margin-top:5px}.experience-selectors button>svg{flex:none;font-size:17px}.experience-content{padding:4px 0 0}.experience-meta{font-size:9px}.experience-content h3{font-size:27px;margin-top:18px}.experience-description{font-size:13px}.experience-content ul{margin-top:22px}.experience-content li{font-size:12px;line-height:1.9;padding-left:19px}.skills-section{padding-block:55px}.skills-section h2{font-size:36px}.skill-row{gap:12px;grid-template-columns:25px 1fr;padding-block:24px}.skill-number{font-size:10px}.skill-row h3{font-size:22px}.skill-row .tag-list{grid-column:2/-1;margin-top:3px}.skill-row .tag-list span{font-size:10px;padding:5px 9px}.beyond-code{gap:45px;grid-template-columns:1fr}.education-block{padding:27px}.education-year{font-size:42px;margin-top:28px}.education-block h3{font-size:24px}.education-block p{font-size:13px}.off-screen h2{font-size:42px;margin-top:20px}.off-screen p{font-size:13px;margin-top:22px}.hobby-list{font-size:12px;gap:22px}.back-link{font-size:11px;margin-bottom:23px}.learning-grid{gap:28px;grid-template-columns:1fr;padding-bottom:65px}.learning-image{aspect-ratio:16/10}.learning-content{padding:23px}.learning-content h2{font-size:29px}.learning-content p{font-size:12px}.learning-links{gap:25px;padding-top:20px}.resume-intro .button{font-size:12px;gap:30px;margin-top:25px}.resume-toolbar>span{font-size:7px;gap:7px;letter-spacing:0}.resume-toolbar .text-link{font-size:10px;gap:7px}.resume-preview{display:none}.mobile-resume{align-items:flex-start;background:#e9eedf;border:1px solid #dcdfd5;border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;margin-top:20px;padding:35px 24px}.mobile-resume>svg{color:#60873c;font-size:31px}.mobile-resume h2{font-size:31px;line-height:1.1;margin-top:25px}.mobile-resume p{color:#5e685c;color:var(--muted);font-size:12px;line-height:1.9;margin-top:20px}.mobile-resume .button{font-size:11px;gap:20px;margin-top:25px;white-space:normal}.resume-section{padding-bottom:55px}}@media (max-width:360px){.page-width{width:calc(100% - 32px)}.hero h1{font-size:10vw}.hero .eyebrow{font-size:7px}.hero-actions{gap:15px}.hero-actions .button{font-size:11px;gap:10px;padding-inline:15px}.hero-actions .text-link{font-size:10px}.portrait-composition{height:300px}.floating-label{font-size:8px;padding:9px 10px}.section-heading{display:block}.section-heading>.text-link{margin-top:15px}.workflow-tabs button{font-size:9px;padding-inline:7px}.workflow-tabs svg{width:12px}.workflow-heading h2{font-size:28px}.workflow-asterisk{font-size:44px}.contact-arrow{height:58px;width:58px}.contact-arrow svg{height:29px;width:29px}.email-link{font-size:14px}.hobby-list{gap:15px}.about-intro h1{font-size:10.2vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{-webkit-animation:none!important;animation:none!important;transition:none!important}}.portrait-composition{overflow-clip-margin:12px;overflow:clip}.work-main{min-width:0}@media (max-width:680px){.portrait-composition{overflow-clip-margin:0}.ring-two{left:7%;width:86%}.section-heading{display:block}.section-heading>.text-link{margin-top:15px}.hero-description,.intro-bottom p,.intro-description{font-size:14px}.section-heading p,.work-main>p{font-size:13px}.work-details p,.work-details ul,.workflow-explanation>p{font-size:14px}.tag-list span{font-size:10px}.about-intro .muted-copy,.experience-content li,.experience-description,.learning-content p,.muted-copy,.off-screen p{font-size:14px}.flow-node p{font-size:12px}.node-label{font-size:8px}.mobile-resume p{font-size:14px}.work-item{grid-template-columns:27px minmax(0,1fr) 44px}.work-toggle{margin-top:18px}.copy-button,.work-toggle{height:44px;width:44px}.scroll-cue{min-height:44px}}.stack-strip>.page-width{grid-gap:20px 24px;display:grid;gap:20px 24px;grid-template-columns:repeat(6,minmax(0,1fr))}.stack-strip .stack-caption{display:block;grid-column:1/-1;max-width:none}.stack-strip span:not(.stack-caption){gap:10px;justify-content:space-between;min-width:0;white-space:normal}.stack-strip span:nth-child(6n+1) i{display:none}@media (min-width:681px) and (max-width:900px){.stack-strip>.page-width{grid-template-columns:repeat(4,minmax(0,1fr))}.stack-strip span:nth-child(6n+1) i{display:inline}.stack-strip span:nth-child(4n+1) i{display:none}}@media (max-width:680px){.stack-strip>.page-width{gap:17px 12px;grid-template-columns:repeat(3,minmax(0,1fr))}.stack-strip span:not(.stack-caption){font-size:13px}.stack-strip span:nth-child(3n+1) i{display:none}}.portrait-composition{--portrait-x:0px;--portrait-y:0px}.portrait-circle{-webkit-animation:portrait-arrive 1.2s cubic-bezier(.2,.7,.2,1) both;animation:portrait-arrive 1.2s cubic-bezier(.2,.7,.2,1) both;transition:translate .45s ease-out;translate:var(--portrait-x) var(--portrait-y);z-index:1}.portrait-orbits{height:100%;inset:0;overflow:visible;pointer-events:none;position:absolute;transition:translate .65s ease-out;translate:calc(var(--portrait-x)*-.45) calc(var(--portrait-y)*-.45);width:100%;z-index:0}.orbit-track{fill:none;stroke:#85a66c;stroke-width:.6;opacity:.28}.orbit-track-secondary{opacity:.18}.orbit-tracer{fill:none;stroke:#6d9c3c;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:.18 1.4 4 94.42;-webkit-animation:orbit-signal 12s linear infinite;animation:orbit-signal 12s linear infinite;-webkit-filter:drop-shadow(0 0 4px #b7e66d);filter:drop-shadow(0 0 4px #b7e66d)}.orbit-tracer-secondary{stroke:#a5d453;stroke-width:2;-webkit-animation-delay:-6s;animation-delay:-6s;animation-direction:reverse;-webkit-animation-duration:17s;animation-duration:17s}.floating-label{transition:translate .65s ease-out;translate:calc(var(--portrait-x)*-1.4) calc(var(--portrait-y)*-1.4)}.label-code{-webkit-animation:float-code 6s ease-in-out infinite;animation:float-code 6s ease-in-out infinite}.label-ai{-webkit-animation:float-ai 7s ease-in-out -2s infinite;animation:float-ai 7s ease-in-out -2s infinite}.label-ai .ai-symbol{-webkit-animation:star-turn 20s linear infinite;animation:star-turn 20s linear infinite}.portrait-plus{-webkit-animation:portrait-twinkle 5s ease-in-out infinite;animation:portrait-twinkle 5s ease-in-out infinite}.plus-two{-webkit-animation-delay:-2.5s;animation-delay:-2.5s}@-webkit-keyframes orbit-signal{to{stroke-dashoffset:-100}}@keyframes orbit-signal{to{stroke-dashoffset:-100}}@-webkit-keyframes float-code{0%,to{-webkit-transform:translateY(0) rotate(-7deg);transform:translateY(0) rotate(-7deg)}50%{-webkit-transform:translateY(-9px) rotate(-4deg);transform:translateY(-9px) rotate(-4deg)}}@keyframes float-code{0%,to{-webkit-transform:translateY(0) rotate(-7deg);transform:translateY(0) rotate(-7deg)}50%{-webkit-transform:translateY(-9px) rotate(-4deg);transform:translateY(-9px) rotate(-4deg)}}@-webkit-keyframes float-ai{0%,to{-webkit-transform:translateY(0) rotate(6deg);transform:translateY(0) rotate(6deg)}50%{-webkit-transform:translateY(8px) rotate(3deg);transform:translateY(8px) rotate(3deg)}}@keyframes float-ai{0%,to{-webkit-transform:translateY(0) rotate(6deg);transform:translateY(0) rotate(6deg)}50%{-webkit-transform:translateY(8px) rotate(3deg);transform:translateY(8px) rotate(3deg)}}@-webkit-keyframes portrait-twinkle{0%,to{opacity:.45;-webkit-transform:scale(.85);transform:scale(.85)}50%{opacity:1;-webkit-transform:scale(1.12);transform:scale(1.12)}}@keyframes portrait-twinkle{0%,to{opacity:.45;-webkit-transform:scale(.85);transform:scale(.85)}50%{opacity:1;-webkit-transform:scale(1.12);transform:scale(1.12)}}@-webkit-keyframes portrait-arrive{0%{opacity:0;-webkit-transform:scale(.94);transform:scale(.94)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes portrait-arrive{0%{opacity:0;-webkit-transform:scale(.94);transform:scale(.94)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@media (prefers-reduced-motion:reduce){.floating-label,.portrait-circle,.portrait-orbits{translate:none}.orbit-tracer{display:none}}@supports (offset-path:ellipse(33% 37% at 50% 50%)){@media (prefers-reduced-motion:no-preference){.portrait-composition .floating-label{-webkit-animation:card-orbit 28s linear infinite;animation:card-orbit 28s linear infinite;bottom:auto;left:0;offset-anchor:center;offset-path:ellipse(33% 37% at 50% 50%);offset-rotate:0deg;right:auto;top:0;translate:none;width:-webkit-max-content;width:max-content}.portrait-composition .label-code{-webkit-animation-delay:-17.5s;animation-delay:-17.5s;-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}.portrait-composition .label-ai{-webkit-animation-delay:-3.5s;animation-delay:-3.5s;-webkit-transform:rotate(5deg);transform:rotate(5deg)}@media (max-width:900px){.portrait-composition .floating-label{offset-path:ellipse(28% 37% at 50% 50%)}}@media (hover:hover) and (pointer:fine){.portrait-composition:hover .floating-label{-webkit-animation-play-state:paused;animation-play-state:paused}}}}@-webkit-keyframes card-orbit{0%{offset-distance:0}to{offset-distance:100%}}@keyframes card-orbit{0%{offset-distance:0}to{offset-distance:100%}}
/*# sourceMappingURL=main.89ae226f.css.map*/