:root{--paper:#f5f3ed;--ink:#292d29;--muted:#62695f;--line:#d8dbd0;--sage:#dce2d3;--purple:#71556f;--journey:0;--serif:Georgia, "Times New Roman", serif;--sans:Arial, Helvetica, sans-serif;--mono:"Courier New", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.6}body:before{content:"";opacity:.035;pointer-events:none;z-index:30;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait}button{background:0 0;border:0}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--purple);outline-offset:5px}button:active{transform:translateY(2px)}::selection{color:var(--ink);background:#d9c5d7}p{margin:0 0 1.4rem}h1,h2,h3,h4{margin:0;font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.055em;line-height:1.04}h1 em,h2 em{color:#69765d;font-weight:400}h2{font-size:clamp(2.75rem,4.3vw,4.5rem)}h3{letter-spacing:-.03em;font-size:1.8rem;line-height:1.2}em{font-family:var(--serif)}.eyebrow,.mono,.section-label,.hero-meta,.hero-bottom,.device-annotation>span,.device-instruction span{font-family:var(--mono);letter-spacing:.06em;font-size:.75rem}.muted{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:10px 20px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line);z-index:35;justify-content:space-between;align-items:center;height:92px;margin:0 5%;display:flex;position:relative}.wordmark{letter-spacing:-.07em;font-size:2rem;font-weight:700;line-height:1}.wordmark span{font-family:var(--mono);vertical-align:top;margin:3px 0 0 5px;font-size:.8rem;font-weight:400;display:inline-block}.site-header nav{align-items:center;gap:35px;font-size:.875rem;display:flex}.site-header nav a{position:relative}.site-header nav a:after,.text-link:after{content:"";background:currentColor;height:1px;transition:right .2s;position:absolute;bottom:-5px;left:0;right:100%}.site-header nav a:hover:after,.site-header nav a[aria-current]:after,.text-link:hover:after{right:0}.site-header .nav-contact{border:1px solid var(--ink);border-radius:3px;margin-left:13px;padding:8px 17px}.nav-contact span{margin-left:15px}.hero{height:calc(100svh - 92px);min-height:800px;max-height:1060px;padding:85px 6% 0;position:relative}.hero-copy{z-index:2;width:56%;max-width:650px;position:relative}.availability{text-transform:uppercase;font-family:var(--mono);letter-spacing:.015em;border:1px solid #cfd4c8;border-radius:3px;align-items:center;gap:9px;padding:5px 11px;font-size:.75rem;display:inline-flex}.availability i{background:#648051;border-radius:50%;width:6px;height:6px;display:block;box-shadow:0 0 0 3px #64805113}.hero-role{color:#5e645a;margin:38px 0 20px}.hero h1{letter-spacing:-.065em;font-size:clamp(4.5rem,7.5vw,8rem);line-height:1.02}.hero-description{color:#596053;max-width:400px;margin:30px 0;font-size:1rem;line-height:1.8}.hero-actions{align-items:center;gap:27px;display:flex}.button{border-radius:3px;justify-content:space-between;align-items:center;gap:30px;padding:14px 20px;font-size:.875rem;transition:background .2s,transform .2s;display:inline-flex}.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover{background:#4b5744}.button span{font-size:1.25rem}.text-link{align-items:center;gap:18px;padding:0;font-size:.875rem;display:inline-flex;position:relative}.hero-meta{color:#76796e;gap:22px;margin-top:50px;display:flex}.hero-meta span+span:before{content:"+";margin-right:22px}.hero-bottom{color:#72796b;border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:22px;display:flex;position:absolute;bottom:25px;left:6%;right:6%}.hero-bottom a span{margin-left:25px}.device-stage{z-index:20;top:calc(195px - var(--journey) * 90px);right:calc(11% - var(--journey) * 7%);width:330px;transform:scale(calc(1 - var(--journey) * .18)) rotate(calc(-6deg + var(--journey) * 6deg));transform-origin:100% 0;will-change:transform;transition:none;position:fixed}.device-annotation{color:#717967;opacity:calc(1 - var(--journey));pointer-events:none;flex-direction:column;display:flex;position:absolute;top:-79px;left:-58px;transform:rotate(6deg)}.device-annotation em{margin-top:2px;font-size:1.15rem}.annotation-arrow{position:absolute;top:10px;left:180px;transform:rotate(10deg);font-size:45px!important}.device-instruction{text-align:center;font-family:var(--serif);color:#6f7568;transform:rotate(calc(6deg - var(--journey) * 6deg));margin-top:25px;font-size:1rem}.device-instruction span{letter-spacing:.04em;margin-top:6px;font-size:.65rem;display:block}.handheld{touch-action:pan-y;color:#3b4633;background:linear-gradient(110deg,#e4e9dc 0%,#d3dbc7 55%,#bdc8ad 100%);border:1px solid #bdc7ae;border-radius:22px 22px 50px;width:330px;max-width:100%;padding:20px 21px 17px;position:relative;box-shadow:inset 2px 2px 2px #faffef,inset -3px -4px 3px #9ba889,5px 8px 0 -2px #a6b396,8px 15px 19px #2d3c222a,25px 50px 65px #37462b25}.hardware-top{font-family:var(--mono);letter-spacing:.045em;justify-content:space-between;padding:0 0 13px;font-size:.625rem;display:flex}.power-led{align-items:center;gap:5px;display:flex}.power-led:before{content:"";background:#677e48;border-radius:50%;width:5px;height:5px;box-shadow:0 0 4px #779655}.screen-bezel{background:linear-gradient(135deg,#58624f,#47503f);border-radius:9px 9px 27px;padding:14px 12px 8px;box-shadow:inset 1px 2px 3px #252d2380,0 1px #e8ecd8}.screen-glass{background:#303c2b;border-radius:3px;padding:4px;overflow:hidden;box-shadow:0 0 0 1px #66735b}.lcd{color:#2d3c25;font-family:var(--mono);background:#c2cca8;flex-direction:column;height:272px;padding:12px;line-height:1.2;display:flex;position:relative;overflow:hidden;box-shadow:inset 1px 2px 5px #3d4d4080}.lcd:after{content:"";pointer-events:none;background:linear-gradient(125deg,#ffffff18 0%,#0000 50%),repeating-linear-gradient(0deg,#0000,#0000 2px,#35452506 2px 3px);position:absolute;inset:0}.lcd-status{letter-spacing:.04em;border-bottom:1px solid #4b5e353d;justify-content:space-between;padding-bottom:6px;font-size:.625rem;display:flex}.lcd-profile{text-transform:uppercase;margin:10px 0 7px;font-size:1rem;font-weight:700}.lcd-profile small{margin-top:3px;font-size:.56rem;font-weight:400;display:block}.device-menu{flex:1;gap:1px;display:grid}.device-menu button{text-transform:uppercase;text-align:left;grid-template-columns:12px 1fr 20px;align-items:center;width:100%;padding:2px 4px;font-size:.7rem;line-height:1.15;display:grid}.device-menu button.selected{color:#d9e2c7;background:#3e4c30}.device-menu button:hover{color:#e5ecd9;background:#586943}.device-menu button span:last-child{text-align:right;opacity:.7;font-size:.56rem}.lcd-footer{border-top:1px solid #4b5e353d;justify-content:space-between;margin-top:8px;padding-top:6px;font-size:.56rem;display:flex}.screen-caption{text-align:center;color:#c3ceb5;font-family:var(--mono);letter-spacing:.12em;padding-top:8px;font-size:.49rem}.hardware-brand{justify-content:space-between;align-items:center;margin:17px 1px 10px;display:flex}.hardware-brand strong{font-family:var(--sans);letter-spacing:-.045em;font-size:1.2rem;font-style:italic}.hardware-brand strong span{font-weight:400}.hardware-brand>span{font-family:var(--mono);font-size:.53rem}.main-controls{justify-content:space-between;align-items:center;margin-top:7px;display:flex}.dpad{filter:drop-shadow(2px 4px 2px #34422555);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:110px;height:110px;display:grid}.dpad button,.dpad-center{color:#97a788;background:linear-gradient(130deg,#4c5843,#35412f);place-items:center;padding:0;font-size:1rem;display:grid}.dpad button:active{background:#273121;transform:translateY(2px)}.dpad .up{border-top:2px solid #66745c;border-radius:5px 5px 0 0;grid-area:1/2}.dpad .left{border-top:2px solid #66745c;border-radius:5px 0 0 5px;grid-area:2/1}.dpad .right{border-top:2px solid #66745c;border-radius:0 5px 5px 0;grid-area:2/3}.dpad .down{border-radius:0 0 5px 5px;grid-area:3/2}.dpad-center{grid-area:2/2}.dpad-center:after{content:"";background:radial-gradient(circle,#35412e,#46533d);border-radius:50%;width:20px;height:20px;box-shadow:inset 0 1px 2px #26321f}.action-buttons{gap:10px;margin-top:4px;margin-right:1px;display:flex;transform:rotate(-18deg)}.action-buttons>div{flex-direction:column;align-items:center;gap:7px;display:flex}.action-buttons>div+div{margin-top:-16px}.action-buttons button{color:#ede3e9;background:linear-gradient(135deg,#92758c,#665363);border:1px solid #675563;border-radius:50%;width:47px;height:47px;font-size:1rem;box-shadow:inset 1px 2px 1px #b094ab,2px 4px #4b424a,3px 7px 7px #26362140}.action-buttons button:active{transform:translateY(3px);box-shadow:inset 1px 2px 2px #43343f,0 1px #4b424a}.action-buttons span{font-family:var(--mono);font-size:.55rem}.bottom-controls{align-items:center;gap:12px;margin:14px 0 0 52px;display:flex}.bottom-controls>div:not(.speaker){flex-direction:column;align-items:center;gap:2px;display:flex;transform:rotate(-15deg)}.bottom-controls button{width:44px;height:23px;position:relative}.bottom-controls button:before{content:"";background:linear-gradient(#7d876d,#5d694e);border-radius:10px;width:37px;height:9px;display:block;box-shadow:inset 0 1px #99a088,1px 2px 2px #34442380}.bottom-controls span{font-family:var(--mono);font-size:.49rem}.speaker{gap:4px;margin-left:19px;display:flex;transform:rotate(-25deg)}.speaker i{background:#96a185;border-radius:3px;width:4px;height:28px;box-shadow:inset 1px 1px 1px #6a795c,1px 0 #e9eeda}.hardware-bottom{font-family:var(--mono);letter-spacing:.06em;opacity:.6;justify-content:space-between;align-items:center;margin-top:18px;font-size:.47rem;display:flex}.lcd-detail{flex:1;padding-top:12px;animation:.18s ease-out screen-in;position:relative}.lcd-number{font-size:.7rem}.lcd-detail h3{font-family:var(--mono);letter-spacing:-.04em;text-transform:uppercase;margin:14px 0 10px;font-size:1.3rem}.lcd-detail p{margin-bottom:8px;font-size:.7rem;line-height:1.45}.lcd-lines{gap:4px;margin:12px 0;display:flex}.lcd-lines i{background:#5f70464a;width:25px;height:5px}.lcd-hint{margin-top:15px;font-size:.6rem;display:block}.boot{padding:20px 0;font-size:.8rem}.boot p{margin-top:20px;font-size:.7rem;line-height:1.8}.mobile-pocket{display:none}.mobile-device-dialog{background:var(--paper);border:0;border-radius:15px;width:380px;max-width:95vw;max-height:95svh;padding:24px}.mobile-device-dialog .dialog-close{margin-bottom:15px;margin-left:auto;display:block}.mobile-device-dialog .handheld{margin:0 auto}.content-rail{margin:0 28% 0 6%}.section{border-bottom:1px solid var(--line);padding:100px 0;scroll-margin-top:20px}.section-label{color:#6b7263;align-items:center;gap:25px;margin-bottom:43px;display:flex}.section-label span{color:#8a9181}.about-layout{grid-template-columns:1.05fr 1fr;gap:45px;display:grid}.about-copy{padding-top:5px}.about-copy p{color:var(--muted);font-size:.9375rem;line-height:1.8}.about-copy .lead{color:var(--ink);font-size:1.0625rem}.about-copy .eyebrow{margin:28px 0 12px;display:block}.principles{border-top:1px solid var(--line);justify-content:space-between;gap:15px;margin-top:45px;padding-top:25px;font-size:.8125rem;display:flex}.principles b{font-family:var(--mono);color:#939b89;margin-right:12px;font-size:.7rem;font-weight:400}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:48px;display:flex}.section-heading>p{color:var(--muted);margin:0 0 5px;font-size:.875rem;line-height:1.7}.experience-timeline{margin:65px 0 0}.experience-role{grid-template-columns:70px 1fr;padding-bottom:50px;display:grid;position:relative}.role-marker{font-family:var(--mono);color:#7b846d;padding-top:3px;font-size:.75rem;position:relative}.role-marker:after{content:"";background:var(--line);width:1px;position:absolute;top:35px;bottom:0;left:10px}.experience-role:last-child .role-marker:after{bottom:50px}.role-marker span{place-items:center;width:24px;height:24px;transition:background .5s,color .5s;display:grid}.experience-role.in-view .role-marker span{color:var(--paper);background:#647354}.role-detail h3{margin:12px 0 6px;font-size:1.9rem}.role-detail h4{color:#707b63;margin-bottom:19px;font-size:.9375rem}.role-detail p,.role-detail li{color:var(--muted);font-size:.9375rem}.role-detail ul{margin:0 0 25px;padding:0;list-style:none}.role-detail li{padding:4px 0 4px 18px;position:relative}.role-detail li:before{content:"—";color:#8f9b83;position:absolute;left:0}.tags{flex-wrap:wrap;gap:7px;display:flex}.tags span{font-family:var(--mono);color:#68715d;border:1px solid #ccd1c3;border-radius:3px;padding:4px 8px;font-size:.6875rem;line-height:1.4}.role-detail .role-achievement{margin:22px 0 0;font-size:.8125rem;font-style:italic}.project{margin-bottom:65px}.project:last-child{margin-bottom:0}.project-art{background:#dce2d3;border:1px solid #cdd5c0;border-radius:3px;height:350px;transition:transform .5s,box-shadow .5s;position:relative;overflow:hidden}.project.in-view .project-art{box-shadow:0 12px 30px #3d492411}.lilac .project-art{background:#e0dce5;border-color:#d1cad9}.sand .project-art{background:#e8e4d8;border-color:#dad5c7}.preview-toolbar{font-family:var(--mono);color:#68715d;justify-content:space-between;padding:20px 24px;font-size:.65rem;display:flex}.preview-toolbar span:last-child{font-size:1.2rem}.sap-preview{background:#f2f4eb;border:1px solid #b6c1a6;border-radius:6px;width:67%;margin:4px auto 0;padding:25px;transform:rotate(-3deg);box-shadow:5px 10px #a9b79530}.preview-label,.preview-footnote{font-family:var(--mono);color:#738060;font-size:.6rem}.query-bubble{font-family:var(--serif);letter-spacing:-.025em;padding:15px 0 18px;font-size:1.7rem;line-height:1.2}.query-bubble span{color:#83906f;margin-top:3px;font-size:1.2rem;font-style:italic;display:block}.context-sources{gap:7px;display:flex}.context-sources span{font-family:var(--mono);border:1px solid #c8d0b9;border-radius:3px;padding:4px 8px;font-size:.55rem}.response-lines{gap:8px;padding:20px 0;display:grid}.response-lines i{background:#d4dac9;width:100%;height:4px}.response-lines i:nth-child(2){width:88%}.response-lines i:nth-child(3){width:62%}.preview-footnote{font-size:.52rem}.project-copy{padding-top:25px;position:relative}.project-copy .eyebrow{color:var(--muted);font-size:.65rem}.project-copy h3{margin:8px 0 10px;font-size:2rem}.project-copy p{color:var(--muted);margin-bottom:16px;font-size:.9375rem}.project-copy .text-link{position:absolute;bottom:2px;right:0}.project-copy .tags{padding-right:160px}.route-preview{margin:15px 35px}.route-preview>div:not(.route-metrics){vertical-align:middle;flex-direction:column;display:inline-flex}.route-preview>div>span{font-family:var(--mono);color:#7b6b87;font-size:.65rem}.route-preview strong{font-family:var(--serif);font-size:2.7rem;font-weight:400;line-height:1.2}.route-line{width:28%;margin:0 15px}.route-line span{font-size:.5rem!important}.route-line i{background:#a18faa;width:100%;height:1px;margin-top:10px;position:relative}.route-line i:after{content:"→";color:#8c7998;position:absolute;top:-14px;right:-2px}.route-metrics{border-top:1px solid #c7bece;justify-content:space-between;margin-top:45px;padding-top:22px;display:flex}.route-metrics span{color:#7b6b87;font-family:var(--serif)!important;font-size:1.7rem!important}.route-metrics small{font-family:var(--mono);font-size:.55rem}.focus-preview{text-align:center;font-family:var(--mono);letter-spacing:.1em;font-size:.55rem}.focus-circle{background:#f3f0e75c;border:1px solid #b6baa1;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:190px;height:190px;margin:14px auto;display:flex;box-shadow:0 0 0 8px #f3f0e729}.focus-circle strong{font-family:var(--serif);letter-spacing:-.06em;color:#6b7358;font-size:3.9rem;font-weight:400;line-height:1.1}.focus-circle span{letter-spacing:.03em;margin-top:9px;font-size:.45rem}.focus-people{color:#858b74}.skills-system{border:1px solid var(--line);border-radius:3px;grid-template-columns:210px 1fr;display:grid;overflow:hidden}.skill-tabs{border-right:1px solid var(--line);flex-direction:column;display:flex}.skill-tabs button{text-align:left;border-bottom:1px solid var(--line);grid-template-columns:25px 1fr 15px;align-items:center;gap:7px;padding:16px;font-size:.8125rem;display:grid}.skill-tabs button:last-child{border-bottom:0}.skill-tabs button span:first-child{font-family:var(--mono);color:#859079;font-size:.65rem}.skill-tabs button span:last-child{visibility:hidden}.skill-tabs button[aria-selected=true]{background:#e2e6d9}.skill-tabs button[aria-selected=true] span:last-child{visibility:visible}.skill-panel{flex-direction:column;justify-content:center;align-items:flex-start;padding:35px;display:flex}.skill-panel h3{font-family:var(--serif);margin:20px 0 25px;font-size:2rem;line-height:1.1}.skill-tools{flex-wrap:wrap;gap:10px;margin-bottom:25px;display:flex}.skill-tools span{background:#e1e5d8;border-radius:2px;padding:6px 11px;font-size:.875rem}.skill-panel p{color:var(--muted);font-size:.875rem}.skill-panel>.mono{margin-top:25px;font-size:.625rem}.service-list{margin-top:55px}.service-row{border-top:1px solid var(--line);grid-template-columns:25px 1fr .85fr;gap:20px;padding:32px 0;display:grid}.service-index{font-family:var(--mono);color:#8d977f;font-size:.75rem}.service-row h3{margin-bottom:14px;font-size:1.8rem}.service-row p{color:var(--muted);max-width:300px;font-size:.875rem;line-height:1.7}.service-row .mono{font-size:.65rem}.service-row ul{margin:4px 0 22px;padding:0;font-size:.875rem;line-height:1.9;list-style:none}.service-row ul li:before{content:"＋";color:#8d977f;margin-right:9px}.service-row .text-link{font-size:.8125rem}.freelance{background:#e0e5d7;border:1px solid #d0d8c6;border-radius:3px;margin:70px 0 0;padding:75px 40px;position:relative;overflow:hidden}.freelance h2{z-index:1;margin:30px 0 25px;font-size:clamp(3rem,4.7vw,5rem);position:relative}.freelance p{color:#68745c;font-size:.9375rem}.freelance .button{margin-top:8px}.freelance .availability{border-color:#b8c4aa}.freelance-mark{font-family:var(--serif);color:#cbd4bf;letter-spacing:-.08em;font-size:12rem;font-style:italic;line-height:1;position:absolute;bottom:-22px;right:5px}.contact-form{margin-top:45px}.contact-form fieldset{border:0;min-width:0;margin:0;padding:0}.form-grid{grid-template-columns:1fr 1fr;gap:27px;display:grid}.form-grid label{font-size:.8125rem;display:block}.form-grid label>span{color:#82718a;margin-left:3px}.form-grid label .optional{color:#8c9284;font-size:.6875rem}.form-grid input,.form-grid select,.form-grid textarea{width:100%;color:var(--ink);resize:vertical;background:0 0;border:0;border-bottom:1px solid #cbd0c0;border-radius:0;min-width:0;margin-top:3px;padding:12px 0;font-size:.9375rem;display:block}.form-grid textarea{min-height:130px}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#8b9183;opacity:1}.form-grid select{padding-right:20px}.full-width{grid-column:1/-1}.attachment-row{flex-wrap:wrap;align-items:center;gap:15px;margin-top:25px;display:flex}.attachment-button{cursor:pointer;border:1px dashed #aeb8a0;border-radius:3px;align-items:center;padding:10px 14px;font-size:.8125rem;display:inline-flex;position:relative;overflow:hidden}.attachment-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.attachment-button:focus-within{outline:3px solid var(--purple);outline-offset:3px}.attachment-row>span{color:#848c79;font-size:.6875rem}.file-selected{overflow-wrap:anywhere;background:#e6eadf;justify-content:space-between;gap:15px;margin-top:10px;padding:12px;font-size:.75rem;display:flex}.file-selected button{white-space:nowrap}.form-submit{justify-content:space-between;align-items:center;gap:25px;margin-top:35px;display:flex}.form-submit>span{color:#828b76;font-size:.6875rem;line-height:1.7}.form-status{margin-top:20px;font-size:.875rem}.form-status.error{color:#8a3641}.form-status.success{color:#405e2f}.form-status a{text-decoration:underline}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.site-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px;margin:0 6%;padding:45px 0 25px;display:flex}.site-footer>span{font-family:var(--mono);color:#878e7d;font-size:.65rem}.site-footer>div{color:#737d66;gap:20px;font-size:.75rem;display:flex}.site-footer>p{color:#7d8375;flex-basis:100%;margin:5px 0 0;font-size:.65rem}.modal-open{overflow:hidden}dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#22291e80}.project-dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px;width:900px;max-width:94vw;max-height:90svh;padding:0}.dialog-toolbar{border-bottom:1px solid var(--line);background:var(--paper);z-index:2;justify-content:space-between;align-items:center;padding:20px 30px;display:flex;position:sticky;top:0}.dialog-toolbar span{font-family:var(--mono);font-size:.7rem}.dialog-toolbar button{font-size:.8125rem}.case-body{padding:45px}.case-body h2{margin:10px 0 18px;font-size:3.5rem}.case-lead{font-family:var(--serif);color:#738166;font-size:1.5rem}.case-columns{grid-template-columns:1fr 1fr;gap:35px;margin:40px 0 10px;display:grid}.case-body h3{letter-spacing:-.01em;margin:28px 0 12px;font-size:1.1rem;font-weight:600}.case-body p{color:var(--muted);font-size:.9375rem;line-height:1.8}.case-body .eyebrow{font-size:.75rem}.architecture{grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0 35px;padding:0;list-style:none;display:grid}.architecture li{border:1px solid var(--line);background:#e8ebdf;padding:15px;font-size:.8125rem;line-height:1.4}.architecture span{font-family:var(--mono);color:#82916e;margin-bottom:12px;font-size:.65rem;display:block}.case-links{gap:25px;margin-top:25px;font-size:.8125rem;display:flex}.case-links a{text-decoration:underline}.case-links span{color:#727c65}.case-body .content-note{border-top:1px solid var(--line);color:#82758a;margin-top:30px;padding-top:20px;font-size:.75rem}.case-bottom{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:22px 35px;font-size:.8125rem;display:flex}.case-page{max-width:1050px;margin:70px auto 100px;padding:0 30px}.case-page .case-body{padding:40px 0}.case-page h1{margin-top:30px;font-size:4.7rem}.case-page>.eyebrow{margin-top:35px;display:block}.error-page{max-width:900px;padding:120px 7%}.error-page h1{margin-bottom:30px;font-size:4rem}.error-page .button{margin-top:20px}.no-js{background:#e3e7d9;padding:10px 6%;font-size:.75rem}.boot strong{letter-spacing:.1em}@keyframes screen-in{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@supports (animation-timeline:view()){.project-art{animation:linear both project-reveal;animation-timeline:view();animation-range:entry entry 90%}@keyframes project-reveal{0%{clip-path:inset(8% 3% 0);transform:translateY(25px)}to{clip-path:inset(0);transform:translateY(0)}}.role-detail{animation:linear both role-reveal;animation-timeline:view();animation-range:entry entry 70%}@keyframes role-reveal{0%{opacity:.55;transform:translate(20px)}to{opacity:1;transform:translate(0)}}}@media (min-width:1600px){.hero{padding-left:8%}.hero-copy{max-width:780px}.hero h1{font-size:8.5rem}.device-stage{right:calc(17% - var(--journey) * 11%)}.content-rail{max-width:1100px;margin-left:8%;margin-right:30%}}@media (max-width:1199px) and (min-width:901px){.hero{min-height:810px;padding-top:75px}.hero h1{font-size:6.8vw}.hero-description{max-width:340px}.hero-actions{flex-wrap:wrap;gap:20px}.hero-copy{width:52%}.device-stage{right:calc(6% - var(--journey) * 4%);transform:scale(calc(.91 - var(--journey) * .16)) rotate(calc(-5deg + var(--journey) * 5deg));top:210px}.content-rail{margin-right:31%}.about-layout{grid-template-columns:1fr;gap:25px}.about-copy{max-width:520px}.section-heading{flex-direction:column;align-items:flex-start;gap:20px}.skills-system{grid-template-columns:155px 1fr}.skill-panel{padding:25px}.skill-tabs button{padding:14px 10px}.project-copy .text-link{margin-top:20px;position:relative}.project-copy .tags{padding:0}.principles{flex-direction:column}.service-row{grid-template-columns:22px 1fr}.service-row>div:last-child{grid-column:2}.route-preview{margin:15px 20px}.route-preview strong{font-size:2rem}.route-line{width:20%;margin:0 8px}.route-line span{font-size:.4rem!important}.sap-preview{width:80%}.form-submit{flex-direction:column;align-items:flex-start}}@media (max-width:900px){.site-header{height:78px;margin:0 6%}.site-header nav{gap:20px}.site-header .nav-contact{margin-left:0}.hero{flex-direction:column;height:auto;min-height:0;max-height:none;padding:60px 6% 100px;display:flex}.hero-copy{width:100%;max-width:none}.hero h1{font-size:clamp(4.5rem,10vw,7rem)}.hero-description{max-width:480px}.hero-role{margin-top:30px}.hero-meta{margin-top:32px}.device-stage{z-index:3;will-change:auto;width:330px;margin:85px auto 65px;position:relative;top:auto;right:auto;transform:rotate(-5deg)}.device-annotation{opacity:1;top:-67px;left:-45px}.device-instruction{transform:rotate(5deg)}.hero-bottom{bottom:20px}.content-rail{margin:0 6%}.section{padding:75px 0}.about-layout{grid-template-columns:1fr 1fr;gap:35px}.about-layout h2{font-size:3.3rem}.mobile-pocket{z-index:40;background:var(--ink);color:var(--paper);border:1px solid #677260;border-radius:30px;padding:12px 18px;font-size:.8125rem;display:block;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 20px #28312430}.site-footer{padding-bottom:100px}.site-footer>span{display:none}.section-heading h2{font-size:3.7rem}.project-art{height:360px}.sap-preview{width:62%}.freelance h2{font-size:4.3rem}.case-body h2{font-size:3rem}.project-dialog{max-height:92svh}}@media (max-width:560px){.site-header{height:75px}.wordmark{font-size:1.65rem}.site-header nav{gap:18px}.site-header nav>a:first-child,.site-header nav>a:nth-child(3){display:none}.site-header .nav-contact{padding:7px 12px}.nav-contact span{margin-left:6px}.hero{padding-top:40px;padding-bottom:110px}.hero .availability{font-size:.6rem}.hero-role{letter-spacing:.035em;margin-top:30px;font-size:.59rem}.hero h1{font-size:clamp(3.8rem,14vw,5.5rem)}.hero-description{max-width:360px;margin:25px 0;font-size:.9375rem}.hero-actions{flex-wrap:wrap;gap:22px}.hero-actions .text-link{font-size:.8125rem}.hero-meta{gap:12px;font-size:.57rem}.hero-meta span+span:before{margin-right:12px}.device-stage{width:300px;margin-top:90px;margin-bottom:40px;transform:rotate(-4deg)}.device-stage .handheld{width:300px;padding:18px 17px 16px}.device-annotation{top:-65px;left:-3px}.device-annotation em{font-size:1.05rem}.device-annotation>span{font-size:.63rem}.annotation-arrow{top:8px;left:170px}.lcd{height:266px;padding:10px}.main-controls{margin-top:13px}.action-buttons{gap:9px}.action-buttons button{width:44px;height:44px}.dpad{width:105px;height:105px}.bottom-controls{gap:8px;margin-left:42px}.speaker{margin-left:15px}.hero-bottom{gap:15px;font-size:.55rem}.hero-bottom>span{max-width:125px}.hero-bottom a span{margin-left:5px}.content-rail{margin:0 6%}.section{padding:60px 0;scroll-margin-top:0}.section-label{gap:14px;margin-bottom:30px;font-size:.62rem}.about-layout{grid-template-columns:1fr;gap:30px}.about-layout h2,.section-heading h2,.services h2{font-size:3.15rem}.about-copy p{font-size:.9375rem}.principles{flex-direction:column;gap:16px;margin-top:25px}.section-heading{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:35px}.section-heading>p{font-size:.875rem}.experience-timeline{margin-top:35px}.experience-role{grid-template-columns:35px 1fr;padding-bottom:40px}.role-detail .eyebrow{font-size:.625rem}.role-detail h3{font-size:1.7rem}.role-detail li{font-size:.875rem}.role-detail .tags{gap:5px}.tags span{font-size:.625rem}.project{margin-bottom:48px}.project-art{height:300px}.preview-toolbar{padding:16px;font-size:.56rem}.sap-preview{width:84%;margin:8px auto;padding:19px}.query-bubble{font-size:1.55rem}.query-bubble span{font-size:1rem}.preview-label{font-size:.5rem}.context-sources span{font-size:.45rem}.response-lines{padding:15px 0}.project-copy .eyebrow{font-size:.6rem}.project-copy h3{font-size:1.8rem}.project-copy p{font-size:.875rem}.project-copy .text-link{margin-top:20px;position:relative}.project-copy .tags{padding-right:0}.route-preview{margin:20px 18px}.route-preview strong{font-size:2rem}.route-preview>div>span{font-size:.55rem}.route-line{width:22%;margin:0 10px}.route-line span{font-size:.4rem!important}.route-metrics{margin-top:35px}.route-metrics small{font-size:.45rem}.focus-circle{width:165px;height:165px;margin:12px auto}.focus-circle strong{font-size:3.5rem}.skills-system{grid-template-columns:1fr}.skill-tabs{border-right:0;grid-template-columns:1fr 1fr;display:grid}.skill-tabs button{border-right:1px solid var(--line);padding:12px;font-size:.8125rem}.skill-tabs button:last-child{border-bottom:1px solid var(--line)}.skill-panel{min-height:350px;padding:25px}.skill-panel h3{font-size:2rem}.service-row{grid-template-columns:22px 1fr;gap:15px}.service-row>div:last-child{grid-column:2}.service-row h3{font-size:1.75rem}.service-row p{margin-bottom:15px}.service-row ul{margin:0 0 20px}.freelance{margin-top:40px;padding:40px 25px}.freelance h2{font-size:3.2rem}.freelance .availability{font-size:.6rem}.freelance p{font-size:.875rem}.freelance p br{display:none}.freelance-mark{opacity:.7;font-size:8rem}.freelance .button{z-index:1;position:relative}.form-grid{grid-template-columns:1fr;gap:23px}.form-grid input,.form-grid select,.form-grid textarea{font-size:1rem}.form-submit{flex-direction:column;align-items:flex-start;gap:20px}.form-submit .button{width:100%}.site-footer{gap:20px;padding-top:30px}.site-footer>div{font-size:.6875rem}.site-footer>p{font-size:.625rem}.dialog-toolbar{gap:10px;padding:16px}.dialog-toolbar span{font-size:.6rem}.dialog-toolbar button{font-size:.75rem}.case-body{padding:25px}.case-body h2{font-size:2.6rem}.case-columns{grid-template-columns:1fr;gap:0;margin-top:20px}.case-body h3{margin-top:22px}.architecture{grid-template-columns:1fr 1fr}.case-bottom{gap:8px;padding:20px 15px;font-size:.7rem}.case-page{margin-top:45px;padding:0 6%}.case-page h1{font-size:3.2rem}.case-page .case-body h2{font-size:2rem}.mobile-device-dialog{max-height:96svh;padding:15px}.mobile-device-dialog .handheld{width:300px}.mobile-device-dialog .dialog-close{margin-bottom:10px}.error-page h1{font-size:3rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.device-stage{will-change:auto;transform:none}.project-art,.role-detail{opacity:1;clip-path:none;transform:none}}.inline-case{border:1px solid var(--line);border-radius:4px;scroll-margin-top:50px}.inline-case .dialog-toolbar{position:relative}.inline-case .case-body{padding:32px}.inline-case .case-body h2{font-size:3rem}.inline-case .architecture{grid-template-columns:1fr 1fr}.inline-case .case-columns{gap:25px}.inline-case:focus{outline:none}@media (max-width:560px){.inline-case .case-body{padding:22px}.inline-case .case-body h2{font-size:2.4rem}}[hidden]{display:none!important}.site-header{background:var(--paper);position:sticky;top:0}@media (max-width:560px){.dpad{width:132px;height:132px}.bottom-controls button{height:44px}.bottom-controls>div:not(.speaker){gap:0}}@media (max-width:360px){.device-stage{width:270px;transform:none}.device-stage .handheld{width:270px;padding:16px 14px}.device-instruction{transform:none}.screen-bezel{padding:11px 9px 7px}.lcd{padding:8px}.device-menu button{font-size:.68rem}.hardware-brand>span{font-size:.45rem}.action-buttons{gap:6px}.action-buttons button{width:42px;height:42px}.dpad{width:120px;height:120px}.bottom-controls{margin-left:25px}.speaker{margin-left:9px}.hero h1{font-size:3.7rem}}
:root{--paper:#f6f0ff;--ink:#281044;--muted:#6b547f;--line:#d6c5e8;--sage:#d7fa55;--purple:#7541d8;--acid:#dbff64;--orange:#ff9b65;--lavender:#c6b0f5;--deep:#271040;--pink:#f8c0dc}body{color:var(--ink);background:#efe6fb}body:before{opacity:.02}.site-header{background:var(--deep);color:#f6efff;border-bottom:1px solid #ffffff20;height:92px;margin:0;padding:0 5%}.site-header .nav-contact{background:var(--acid);color:var(--deep);border-color:#dcccf366;border-radius:100px;padding:10px 20px}.wordmark{letter-spacing:-.065em}.wordmark span{color:var(--acid)}.site-header nav a:after{background:var(--acid)}.button{border-radius:100px;padding:16px 23px;font-weight:600}.button.dark{background:var(--deep);color:var(--paper)}.button.dark:hover{background:#6232a7}.text-link{font-weight:600}.hero{background:var(--deep);color:var(--paper);height:calc(100svh - 92px);min-height:850px;padding:72px 5% 0;overflow:clip}.hero-copy{width:59%;max-width:740px}.hero .availability{color:var(--acid);background:#dfff630b;border-color:#dfff634d;border-radius:100px}.hero .availability i{background:var(--acid);box-shadow:none}.hero-role{color:#cfbbe8;margin:36px 0 25px}.hero h1{letter-spacing:-.078em;font-family:Arial,Helvetica,sans-serif;font-size:clamp(4.6rem,7.9vw,8.5rem);font-weight:850;line-height:1.06}.hero h1 em{color:var(--acid);letter-spacing:-.065em;font-family:Georgia,serif;font-weight:400}.hero-description{color:#dacde9;max-width:410px;font-size:1.0625rem}.hero .button.dark{background:var(--acid);color:var(--deep)}.hero .button.dark:hover{background:#ecffae}.hero .text-link{color:#f4eaff}.hero-meta{color:#bda7d0}.hero-bottom{color:#c9b4dc;border-color:#ffffff24;bottom:29px;left:5%;right:5%}.hero-bottom a{color:var(--acid)}.split-text{display:inline}.split-word{white-space:nowrap;display:inline-block}.split-letter{transform:translate(calc(var(--dx) * var(--letter-break,0)), calc(var(--dy) * var(--letter-break,0))) rotate(calc(var(--turn) * var(--letter-break,0)));will-change:transform;display:inline-block}.hero .split-letter{--letter-break:var(--hero-break,0)}[data-kinetic] .split-letter{--letter-break:calc(1 - var(--reveal,1))}.hero-orbit{pointer-events:none;position:absolute;inset:0;overflow:hidden}.orbit-tag{font:700 .75rem var(--mono);z-index:1;border:1px solid;border-radius:100px;padding:12px 20px;position:absolute}.tag-code{transform:rotate(9deg) translateY(calc(var(--hero-break,0) * -100px));color:var(--deep);background:var(--orange);top:38px;right:5%}.tag-ideas{transform:rotate(-12deg) translate(calc(var(--hero-break,0) * -65px), calc(var(--hero-break,0) * 55px));color:var(--deep);background:var(--lavender);bottom:120px;left:52%}.orbit-mark{color:#a883e8;transform:rotate(calc(-12deg + var(--hero-break,0) * 120deg)) scale(calc(1 - var(--hero-break,0) * .35));opacity:.85;font-size:8rem;line-height:1;position:absolute;top:49%;left:46%}.device-stage{width:364px;top:calc(205px - var(--journey) * 98px);right:calc(9% - var(--journey) * 6%);transform:scale(calc(1 - var(--journey) * .18)) rotate(calc(-7deg + var(--journey) * 7deg));filter:drop-shadow(0 25px 25px #14052330)}.device-annotation{color:#d2bceb;top:-65px;left:-32px;transform:rotate(7deg)}.device-annotation>span{color:var(--acid);font-size:.65rem}.device-annotation em{font-size:1.1rem}.annotation-arrow{color:var(--acid);top:-3px;left:247px;font-size:35px!important}.device-instruction{color:#795494;opacity:calc(.8 + var(--journey) * .2);font-size:1rem}.hero .device-instruction{color:#b69bcd}.device-instruction span{font-size:.625rem}.handheld{color:#2b1747;width:364px;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));isolation:isolate;background:linear-gradient(128deg,#b49ce5 0%,#9873cc 42%,#7149a8 100%);border:1px solid #c3a5ea;border-radius:28px 28px 60px;padding:21px 23px 16px;transition:transform .15s ease-out;box-shadow:inset 2px 3px 2px #e6d0ff,inset -3px -4px 2px #523275,6px 8px 0 -2px #523178,10px 16px 24px #18082350,25px 45px 70px #19072940}.handheld:after{content:"";pointer-events:none;z-index:-1;border:1px solid #edd8ff27;border-radius:21px 21px 51px;position:absolute;inset:10px}.shell-screw{background:#9e7ec5;border:1px solid #5e3f80;border-radius:50%;width:8px;height:8px;position:absolute;box-shadow:inset 0 1px 2px #44256580}.shell-screw:after{content:"";background:#4b286b;height:1px;position:absolute;top:3px;left:1px;right:1px;transform:rotate(-30deg)}.screw-one{top:13px;left:11px}.screw-two{bottom:21px;right:17px}.hardware-top{color:#281542;letter-spacing:.04em;padding:0 1px 14px;font-size:.625rem}.power-led{font-weight:700}.power-led:before{background:#dcff67;box-shadow:0 0 0 2px #2b194e38,0 0 7px #dfff64}.screen-bezel{background:linear-gradient(125deg,#35223e,#20152c);border:1px solid #4f375a;border-radius:12px 12px 26px;padding:13px 11px 8px;box-shadow:inset 1px 2px 5px #11081b,0 2px #c8a9e3}.screen-glass{background:#130e21;border-radius:6px;padding:3px;box-shadow:0 0 0 1px #6e557a}.lcd.color-screen{color:#f3e9ff;background:#171123;border-radius:3px;height:326px;padding:12px;font-family:Arial,Helvetica,sans-serif;overflow:hidden;box-shadow:inset 0 0 15px #0005}.lcd:after{background:linear-gradient(123deg,#ffffff0b,#0000 45%,#ad80ff08);border:1px solid #ffffff0c}.screen-caption{letter-spacing:.11em;color:#b1a0be;font-size:.45rem}.hardware-brand{margin:15px 0 6px}.hardware-brand strong{color:#241432;font-size:1.4rem;font-style:italic}.hardware-brand strong span{font-weight:500}.hardware-brand>span{font-size:.47rem;font-weight:700}.main-controls{margin:4px 0 0}.dpad{filter:drop-shadow(2px 4px 1px #2e184a80);width:120px;height:120px}.dpad button,.dpad-center{color:#b7a0c8;background:linear-gradient(145deg,#392b48,#201627)}.dpad .up,.dpad .left,.dpad .right{border-top-color:#71617e}.dpad-center:after{background:radial-gradient(circle,#1c1524,#3b2b47);box-shadow:inset 0 2px 3px #160d21}.dpad button:active{background:#110a1d}.action-buttons{gap:14px;margin-right:0}.action-buttons button{color:#25143a;border:1px solid #321a47;width:49px;height:49px;font-weight:700}.action-buttons .action-a{background:linear-gradient(145deg,#f2ffa7,#c3eb40);box-shadow:inset 1px 2px 1px #ffffd5,2px 4px #6d842c,3px 7px 7px #22113650}.action-buttons .action-b{background:linear-gradient(145deg,#ffd1a1,#ff9758);box-shadow:inset 1px 2px 1px #ffe3bd,2px 4px #a95a3e,3px 7px 7px #22113650}.action-buttons span{color:#251239;font-weight:700}.bottom-controls{gap:11px;margin:4px 0 0 55px}.bottom-controls button{width:44px;height:36px}.bottom-controls button:before{background:linear-gradient(#51395d,#302136);height:10px;box-shadow:inset 0 1px #8c7299,1px 2px 2px #21112d}.bottom-controls span{font-size:.52rem;font-weight:700}.speaker i{background:#674687;width:4px;height:32px;box-shadow:inset 1px 1px 2px #412655,1px 0 #c7a1e9}.hardware-bottom{opacity:.8;margin:11px 8px 0 1px;font-size:.47rem}.shell-color-dots{color:#ddff67;letter-spacing:4px}.handheld[data-pressed=up] .up,.handheld[data-pressed=down] .down,.handheld[data-pressed=left] .left,.handheld[data-pressed=right] .right{background:#120b1a;transform:translateY(3px)}.handheld[data-pressed=select] .action-a,.handheld[data-pressed=back] .action-b{transform:translateY(3px);box-shadow:inset 0 1px 3px #45285760,0 1px 1px #21102e}.handheld[data-pressed=start] .bottom-controls>div:nth-child(2) button,.handheld[data-pressed=mode] .bottom-controls>div:first-child button{transform:translateY(3px)}.os-status{font:.55rem var(--mono);color:#ccb6e7;border-bottom:1px solid #b49bdc29;flex-shrink:0;justify-content:space-between;align-items:center;padding-bottom:9px;display:flex}.os-status>span:first-child{align-items:center;gap:5px;display:flex}.os-status i{background:var(--acid);border-radius:50%;width:4px;height:4px}.os-status b{color:var(--acid);font-weight:400}.os-welcome{padding:11px 0 8px}.os-welcome>span{font:.55rem var(--mono);color:#b49ad0}.os-welcome strong{letter-spacing:-.04em;margin-top:5px;font-size:1.3rem;line-height:1.02;display:block}.os-welcome em{color:var(--acid);font-size:1.4rem;font-weight:400}.os-app-grid{flex:1;grid-template-columns:1fr 1fr;gap:5px;min-height:0;display:grid}.os-app-grid button{text-align:left;color:#e7d8f8;background:#2d203e;border:1px solid #5a416f80;border-radius:5px;align-items:center;gap:6px;padding:5px;font-size:.64rem;transition:background .15s,transform .15s;display:flex;position:relative}.os-app-grid button:hover,.os-app-grid button.is-selected{background:#4c2d6e;border-color:#bd8df9}.os-app-grid button.is-selected:after{content:"";border:1px solid var(--acid);pointer-events:none;border-radius:5px;position:absolute;inset:-1px}.os-app-grid b{color:var(--acid);font-size:.56rem;position:absolute;top:2px;right:4px}.app-icon{color:#231036;border-radius:4px;flex-shrink:0;place-items:center;width:23px;height:24px;font-size:1rem;font-weight:700;display:grid}.icon-0,.icon-4{background:var(--acid)}.icon-1,.icon-6{background:var(--pink)}.icon-2,.icon-5{background:var(--orange)}.icon-3,.icon-7{background:var(--lavender)}.lcd-footer{font-family:var(--mono);color:#ac95bf;border-color:#c8a4e72b;flex-shrink:0;align-items:center;margin-top:9px;padding-top:8px;font-size:.5rem}.lcd-footer>button{font:inherit;color:var(--acid);padding:0}.os-content{flex-direction:column;flex:1;min-height:0;display:flex}.os-breadcrumb{font:.56rem var(--mono);color:#cbb5e0;border-bottom:1px solid #c7a0e824;flex-shrink:0;align-items:center;gap:8px;padding:7px 0;display:flex}.os-breadcrumb>span:last-child{color:var(--acid);margin-left:auto}.os-breadcrumb button{color:var(--acid);padding:0 3px;font-size:.85rem}.os-reader{scrollbar-width:thin;scrollbar-color:#b99adb #2d1d3f;flex:1;min-height:0;padding:13px 3px 5px 0;overflow-y:auto}.os-kicker{font:.5rem var(--mono);letter-spacing:.06em;color:var(--orange);text-transform:uppercase;line-height:1.4;display:block}.os-reader h3,.os-project-browser h3{letter-spacing:-.03em;color:#f3e8ff;margin:9px 0;font:700 1.15rem/1.12 Arial,Helvetica,sans-serif}.os-reader p,.os-project-browser p{color:#d4c1e8;margin:0 0 12px;font:.74rem/1.55 Arial,Helvetica,sans-serif}.os-tags{flex-wrap:wrap;gap:5px;display:flex}.os-tags span{font:.53rem/1.3 var(--mono);color:#dfcaee;background:#2b1c3a;border:1px solid #614379;border-radius:3px;padding:4px 6px}.os-page-controls{border-top:1px solid #b58aca25;flex-shrink:0;justify-content:space-between;align-items:center;margin-top:6px;padding-top:7px;display:flex}.os-page-controls>button{color:var(--acid);min-width:26px;min-height:22px;padding:0;font-size:.875rem}.os-page-controls>div{gap:5px;display:flex}.os-page-controls>div button{width:16px;height:16px;padding:0;position:relative}.os-page-controls>div button:after{content:"";background:#685179;border-radius:50%;position:absolute;inset:5px}.os-page-controls>div button[aria-pressed=true]:after{background:var(--acid);inset:4px}.os-primary{background:var(--acid);border-radius:4px;justify-content:space-between;align-items:center;width:100%;margin-top:auto;font-weight:700;color:#241036!important;padding:8px!important;font-size:.65rem!important;display:flex!important}.os-primary span{font-family:var(--mono);font-size:.55rem}.os-project-browser{flex-direction:column;flex:1;min-height:0;padding:9px 0 0;display:flex}.os-project-graphic{background:var(--lavender);color:var(--deep);border-radius:4px;flex-shrink:0;justify-content:space-between;align-items:center;height:65px;margin-top:7px;padding:10px;display:flex;position:relative;overflow:hidden}.os-project-graphic>span{font-size:3.7rem;line-height:1}.os-project-graphic small{font:.5rem/1.3 var(--mono);text-align:right;max-width:86px}.project-graphic-1{background:var(--orange)}.project-graphic-2{background:var(--acid)}.os-project-browser h3{margin:9px 0 5px;font-size:1rem}.os-project-browser p{margin-bottom:5px;font-size:.66rem;line-height:1.4}.os-project-picker{gap:5px;margin-bottom:6px;display:flex}.os-project-picker button{font:.55rem var(--mono);color:#c8b2dc;border:1px solid #533b6a;border-radius:3px;padding:4px 10px}.os-project-picker button[aria-pressed=true]{color:#fff;background:#6b418a;border-color:#c3a2e4}.os-skill-picker{flex-wrap:wrap;gap:5px;margin-top:12px;display:flex}.os-skill-picker button{font:.6rem var(--mono);color:#dec8ed;border:1px solid #755496;border-radius:4px;padding:5px}.os-skill-picker button[aria-pressed=true]{color:var(--deep);background:var(--acid);border-color:var(--acid)}.os-boot{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:13px;display:flex}.boot-symbol{color:var(--acid);font-size:3.5rem;line-height:1}.os-boot strong{text-align:center;letter-spacing:-.05em;font-size:1.5rem;line-height:1}.os-boot small{font:.5rem var(--mono);color:#b29cc5}.boot-track{background:#463254;border-radius:4px;width:130px;height:5px;overflow:hidden}.boot-track i{background:var(--acid);height:100%;animation:1.1s ease-out both boot-progress;display:block}@keyframes boot-progress{0%{width:0}to{width:100%}}.ribbon-scene{background:var(--deep);isolation:isolate;height:190px;margin-top:-1px;position:relative;overflow:hidden}.ribbon{white-space:nowrap;letter-spacing:-.035em;border-block:1px solid #281044;width:130%;padding:14px 0;font-size:clamp(1.2rem,2.4vw,2.5rem);font-weight:800;position:absolute;left:-15%;box-shadow:0 6px #16081f20}.ribbon span{will-change:transform;display:block}.ribbon-one{background:var(--acid);color:var(--deep);top:50px;transform:rotate(-4deg)}.ribbon-one span{transform:translateX(calc((var(--local-progress,.5) - .5) * -300px))}.ribbon-two{background:var(--orange);color:var(--deep);z-index:-1;top:65px;transform:rotate(5deg)}.ribbon-two span{transform:translateX(calc((var(--local-progress,.5) - .5) * 400px))}.assembly-scene{background:var(--lavender);--scatter:0;--assembly-progress:0;border-radius:70px 70px 0 0;height:190svh;min-height:1150px;margin-top:-1px;position:relative}.assembly-sticky{flex-direction:column;justify-content:space-between;height:calc(100svh - 91px);min-height:580px;max-height:1000px;padding:45px 29% 25px 5%;display:flex;position:sticky;top:91px;overflow:hidden}.assembly-heading .eyebrow{color:#664a83;font-size:.65rem}.assembly-heading h2{letter-spacing:-.065em;margin-top:15px;font:800 clamp(2.6rem,4.8vw,4.8rem)/1.02 Arial,Helvetica,sans-serif}.assembly-heading h2 em{color:#5b3194;font-family:Georgia,serif;font-weight:400}.assembly-board{perspective:1000px;grid-template-columns:repeat(3,1fr);gap:10px;margin:35px 20px 35px 12px;padding:30px 18px 22px;display:grid;position:relative}.assembly-frame{border:2px solid var(--deep);opacity:calc(1 - var(--scatter) * .8);transform:scale(calc(1 + var(--scatter) * .07));pointer-events:none;background:#f6f0ff;border-radius:15px;position:absolute;inset:-15px -7px;box-shadow:8px 10px #6e49804d}.assembly-frame>div{height:32px;font:.5rem var(--mono);color:#766186;border-bottom:1px solid #cebedd;justify-content:space-between;align-items:center;padding:0 15px;display:flex}.frame-caption{font:.5rem var(--mono);color:#766186;position:absolute;bottom:5px;left:20px}.assembly-tile{border:2px solid var(--deep);will-change:transform;border-radius:7px;flex-direction:column;justify-content:space-between;min-width:0;height:215px;padding:16px;display:flex;position:relative;box-shadow:4px 5px #271040}.assembly-tile.lime{background:var(--acid)}.assembly-tile.orange{background:var(--orange)}.assembly-tile.lavender{background:#dbc9ff}.tile-label{font:.52rem/1.4 var(--mono);letter-spacing:.02em}.tile-symbol{font-size:4.5rem;line-height:1}.assembly-tile strong{letter-spacing:-.065em;font:900 clamp(1.4rem,3.3vw,3rem)/.9 Arial,Helvetica,sans-serif}.tile-0{transform:translate(calc(var(--scatter) * -65px), calc(var(--scatter) * 32px)) rotate(calc(var(--scatter) * -20deg))}.tile-1{transform:translate(calc(var(--scatter) * -5px), calc(var(--scatter) * -72px)) rotate(calc(var(--scatter) * 12deg))}.tile-2{transform:translate(calc(var(--scatter) * 70px), calc(var(--scatter) * 35px)) rotate(calc(var(--scatter) * 24deg))}.assembly-bottom{font:.6rem var(--mono);color:#664580;align-items:center;gap:17px;margin:0 10px 5px;display:flex}.assembly-bottom>div{background:#a083c3;flex:1;height:3px}.assembly-bottom i{height:100%;width:calc(var(--assembly-progress) * 100%);background:var(--deep);display:block}.content-rail{margin:0 28% 0 4%;padding-top:40px;position:relative}.section{border:0;border-radius:32px;margin:0 0 28px;padding:55px 40px;overflow:hidden}.section-label{color:#6c4e89;gap:18px;margin-bottom:34px;font-size:.65rem}.section-label span{color:#9676b1}h2{letter-spacing:-.065em;font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.8rem,4.5vw,4.7rem);font-weight:800}h2 em{color:#7641b4;letter-spacing:-.045em;font-family:Georgia,serif;font-weight:400}.about{background:#dfd0fb}.about-layout{grid-template-columns:1fr;gap:28px}.about-copy{grid-template-columns:1fr 1fr;gap:0 26px;max-width:600px;display:grid}.about-copy .lead{grid-column:1/-1;max-width:560px;font-size:1.125rem}.about-copy .eyebrow{grid-area:2/2;margin:0 0 12px}.about-copy p:last-child{grid-column:2}.about-copy p:nth-child(2){grid-row:2/4}.about-copy p{color:#674e80}.principles{border-color:#bca2d8;gap:10px;font-size:.75rem}.principles b{color:#976cb8;margin-right:7px}.experience{background:#ffc5a2}.experience h2 em{color:#994529}.experience .section-label,.experience .section-heading>p{color:#895036}.experience .eyebrow{color:#975b40}.experience-role .role-detail{animation:none}.role-marker:after{background:#d79f7a}.role-marker span{color:#9e5532;border:1px solid #a05f3c;border-radius:50%}.experience-role.in-view .role-marker span{background:var(--deep);color:var(--orange)}.role-detail h4,.role-detail p,.role-detail li{color:#754d45}.role-detail h3{max-width:450px;font-weight:700}.role-detail .tags span{color:#7d4c39;border-color:#cc9978}.experience-timeline{margin-top:45px}.projects-section{background:#faf3e5}.section-heading{gap:20px}.section-heading>p{color:#735d77;font-size:.875rem}.project-art{clip-path:inset(calc((1 - var(--reveal,1)) * 8%) calc((1 - var(--reveal,1)) * 3%) 0);height:335px;transform:translateY(calc((1 - var(--reveal,1)) * 18px));background:#ba94f0;border:0;border-radius:16px;box-shadow:none!important;animation:none!important}.lilac .project-art{background:var(--orange);border:0}.sand .project-art{background:var(--acid);border:0}.preview-toolbar{color:#57316e;font-weight:700}.sap-preview{transform:rotate(calc(-4deg + (var(--local-progress,.5) - .5) * 14deg)) translateY(calc((.5 - var(--local-progress,.5)) * 25px));background:#f6efff;border-color:#805ea2;width:72%;box-shadow:7px 9px #69428a35}.query-bubble{color:#2c1645}.query-bubble span{color:#9767b7}.preview-label,.preview-footnote{color:#805299}.context-sources span{color:#714392;border-color:#c5abd9}.response-lines i{background:#d9c5e8}.route-preview{transform:translateX(calc((var(--local-progress,.5) - .5) * 35px))}.route-preview>div>span,.route-metrics span{color:#8e482c}.route-line i{background:#a9613e}.route-metrics{border-color:#d38355}.focus-circle{transform:scale(calc(.9 + var(--local-progress,.5) * .2)) rotate(calc((var(--local-progress,.5) - .5) * 12deg));background:#efffc7;border-color:#8ea82e;box-shadow:0 0 0 9px #f4ffd633}.focus-circle strong{color:#405124}.focus-people{color:#687d26}.project-copy h3{letter-spacing:-.04em;font-weight:700}.project-copy .eyebrow{color:#a26a45}.project-copy p{color:#766370}.project-copy .tags span{color:#81658b;border-color:#d5c1d4}.project-copy .text-link{color:#7134a3;margin-top:20px;position:relative}.project-copy .tags{padding-right:0}.skills-section{color:#f4e8ff;background:#36204e}.skills-section h2 em{color:var(--acid)}.skills-section .section-label{color:#bb9fd6}.skills-system{border-color:#725388;border-radius:10px;grid-template-columns:180px 1fr}.skill-tabs{border-color:#725388}.skill-tabs button{color:#e2cdef;border-color:#725388;font-size:.8125rem}.skill-tabs button span:first-child{color:#a88cc3}.skill-tabs button[aria-selected=true]{background:var(--acid);color:#261039}.skill-tabs button[aria-selected=true] span:first-child{color:#687332}.skill-panel{padding:28px}.skill-panel h3{color:#e7d5ff;font-size:2.2rem}.skill-tools span{color:#f4e7ff;background:#704499;border-radius:4px}.skill-panel p,.skill-panel .muted{color:#c3a8d9}.services{background:var(--acid)}.services h2 em{color:#5f7427}.services .section-label{color:#718332}.service-row{border-color:#afc650;grid-template-columns:22px 1fr}.service-row>div:last-child{flex-wrap:wrap;grid-column:2;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.service-row ul{margin-bottom:0}.service-row h3{font-weight:700}.service-row p{color:#626c39;max-width:480px}.service-row .muted{color:#75803c}.service-index,.service-row ul li:before{color:#75863b}.service-row .text-link{color:var(--acid);background:#281044;border-radius:100px;padding:8px 12px;font-size:.75rem}.freelance{color:#f7efff;background:#8247c8;border:0;border-radius:32px;margin:0 0 28px;padding:55px 40px}.freelance h2{font-size:clamp(3rem,4.6vw,4.7rem)}.freelance h2 em{color:var(--acid)}.freelance p{color:#e2cbed}.freelance .availability{color:#eaff9a;border-color:#c9fc6960}.freelance .availability i{background:var(--acid)}.freelance .button.dark{background:var(--acid);color:var(--deep)}.freelance-mark{color:#b78be166;transform:rotate(calc((1 - var(--reveal,1)) * 35deg))}.contact{background:var(--pink)}.contact h2 em{color:#ab457d}.contact .section-label{color:#945175}.contact .section-heading>p{color:#804b71}.contact-form{margin-top:35px}.form-grid input,.form-grid select,.form-grid textarea{color:#401f48;border-color:#c789ad}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#925575}.form-grid label{color:#592c58}.form-grid label .optional{color:#965c7c}.attachment-button{background:#ffffff1c;border-color:#b4769a}.attachment-row>span,.form-submit>span{color:#865172}.file-selected{background:#eed0e3}.site-footer{background:var(--deep);color:#f6eaff;border:0;margin:0;padding:55px 5% 30px}.site-footer>span,.site-footer>div{color:#c6acda}.site-footer>p{color:#b69acb}.site-footer .wordmark span{color:var(--acid)}.inline-case{background:#f1e5ff;border-color:#b18ccc;border-radius:15px;overflow:hidden}.inline-case .dialog-toolbar{background:var(--deep);color:#f3eaff;border:0}.case-body h2{font-family:Arial,sans-serif;font-weight:700}.case-body p{color:#725182}.case-body h3{color:#42215c}.architecture li{background:#dcc6f5;border-color:#b893d7}.architecture span{color:#8a5cad}.case-body .tags span{color:#7f5697;border-color:#c8a8de}.case-bottom{border-color:#c8a8de}.case-page{color:var(--deep)}.case-page h1{font-family:Arial,sans-serif;font-weight:800}.mobile-pocket{background:var(--acid);color:var(--deep);border:1px solid var(--deep);box-shadow:3px 4px 0 var(--deep)}.mobile-device-dialog{color:#fff;background:#291540;border:1px solid #976bc1;width:405px}.mobile-device-dialog .handheld{box-shadow:inset 2px 2px 1px #d9baf3,inset -3px -3px 1px #533370,4px 6px #160d22}.error-page h1{font-family:Arial,sans-serif;font-weight:800}@media (min-width:1600px){.hero{padding-left:7%}.hero-copy{max-width:850px}.device-stage{right:calc(15% - var(--journey) * 11%)}.content-rail{max-width:1200px;margin-left:5%;margin-right:28%}.assembly-sticky{padding-left:7%}}@media (min-width:901px) and (max-width:1199px){.hero h1{font-size:7.5vw}.hero-copy{width:57%}.hero-description{max-width:350px}.device-stage{right:calc(4% - var(--journey) * 2%);transform:scale(calc(.88 - var(--journey) * .14)) rotate(calc(-7deg + var(--journey) * 7deg))}.orbit-mark{font-size:6rem;top:50%;left:45%}.content-rail{margin-left:3%;margin-right:31%}.section,.freelance{padding:45px 28px}.about-copy{grid-template-columns:1fr}.about-copy p,.about-copy p:nth-child(2),.about-copy p:last-child,.about-copy .eyebrow{grid-area:auto}.about-copy .eyebrow{margin-top:5px}.skills-system{grid-template-columns:145px 1fr}.skill-panel{padding:20px}.assembly-sticky{padding-left:4%;padding-right:31%}.assembly-tile{height:180px;padding:12px}.tile-label{font-size:.45rem}.assembly-board{gap:7px;padding-inline:10px}.tile-symbol{font-size:3.5rem}.tile-0{transform:translate(calc(var(--scatter) * -35px), calc(var(--scatter) * 25px)) rotate(calc(var(--scatter) * -16deg))}.tile-2{transform:translate(calc(var(--scatter) * 35px), calc(var(--scatter) * 25px)) rotate(calc(var(--scatter) * 17deg))}.tag-code{right:3%}.tag-ideas{bottom:160px;left:44%}.sap-preview{width:82%}.section-heading h2{font-size:3.2rem}}@media (max-width:900px){.site-header{height:78px}.hero{height:auto;min-height:0;max-height:none;padding:45px 6% 85px}.hero-copy{width:100%;max-width:660px}.hero h1{font-size:clamp(4.5rem,10vw,6.8rem)}.hero-description{max-width:490px}.device-stage{filter:none;width:350px;margin:90px auto 50px;position:relative;top:auto;right:auto;transform:rotate(-6deg)}.device-stage .handheld{width:350px}.device-annotation{opacity:1;top:-67px;left:-10px}.device-instruction{color:#b69bcd!important}.orbit-mark{font-size:6rem;top:320px;left:auto;right:4%}.tag-code{padding:8px 14px;font-size:.65rem;top:auto;bottom:310px;right:3%;transform:rotate(12deg)}.tag-ideas{padding:8px 14px;font-size:.65rem;bottom:200px;left:3%;transform:rotate(-12deg)}.hero-bottom{font-size:.62rem;bottom:25px}.ribbon-scene{height:145px}.ribbon{padding:10px 0;font-size:1.6rem}.ribbon-one{top:35px}.ribbon-two{top:50px}.assembly-scene{border-radius:45px 45px 0 0;height:175svh;min-height:1000px}.assembly-sticky{height:calc(100svh - 77px);min-height:530px;max-height:900px;padding:35px 7% 25px;top:77px}.assembly-heading h2{font-size:clamp(2.8rem,6.5vw,4.3rem)}.assembly-board{margin:30px 20px}.assembly-tile{height:210px}.assembly-tile strong{font-size:clamp(1.6rem,4.5vw,2.6rem)}.tile-0{transform:translate(calc(var(--scatter) * -30px), calc(var(--scatter) * 30px)) rotate(calc(var(--scatter) * -14deg))}.tile-2{transform:translate(calc(var(--scatter) * 30px), calc(var(--scatter) * 30px)) rotate(calc(var(--scatter) * 16deg))}.content-rail{margin:0 4%;padding-top:25px}.section,.freelance{border-radius:28px;padding:50px 35px}.about-copy{max-width:none}.about-layout h2,.section-heading h2{font-size:3.6rem}.about-layout{grid-template-columns:1fr}.assembly-heading .eyebrow{font-size:.6rem}.site-footer{padding-bottom:105px}.skills-system{grid-template-columns:180px 1fr}.service-row{grid-template-columns:22px 1fr 1fr}.service-row>div:last-child{grid-column:auto;display:block}.service-row ul{margin-bottom:20px}.mobile-device-dialog .handheld{width:350px}.handheld.is-compact{transform:none!important}}@media (max-width:560px){.site-header{height:75px;padding:0 6%}.site-header .nav-contact{padding:8px 12px}.hero{padding-top:35px;padding-bottom:95px}.hero h1{letter-spacing:-.08em;font-size:clamp(3.5rem,12.6vw,4.7rem)}.hero h1 em{font-size:1.14em}.hero-role{letter-spacing:.02em;margin:28px 0 22px;font-size:.6rem}.hero-description{max-width:340px;margin-top:25px;font-size:1rem}.hero .availability{font-size:.6rem}.hero-actions{flex-wrap:wrap;gap:21px}.hero-actions .button{padding:14px 19px}.hero-meta{font-size:.55rem}.device-stage{width:310px;max-width:100%;margin-top:92px;margin-bottom:45px;transform:rotate(-4deg)}.device-stage .handheld,.mobile-device-dialog .handheld{width:310px;padding:18px 17px 14px}.device-annotation{top:-65px;left:3px}.device-annotation em{font-size:.95rem}.device-annotation>span{font-size:.54rem}.annotation-arrow{top:5px;left:220px;font-size:30px!important}.screen-bezel{padding:10px 8px 7px}.lcd.color-screen{height:316px;padding:10px}.hardware-top{padding-bottom:12px;font-size:.53rem}.screen-caption{letter-spacing:.06em;font-size:.4rem}.hardware-brand{margin-top:12px}.hardware-brand strong{font-size:1.25rem}.hardware-brand>span{font-size:.4rem}.dpad{width:126px;height:126px}.action-buttons{gap:10px;transform:rotate(-16deg)}.action-buttons button{width:44px;height:44px}.action-buttons span{font-size:.5rem}.bottom-controls{gap:7px;margin-left:39px}.bottom-controls button{height:40px}.speaker{margin-left:9px}.speaker i{height:27px}.hardware-bottom{margin-top:8px;font-size:.41rem}.os-app-grid button{gap:5px;padding:4px;font-size:.62rem}.app-icon{width:22px;height:23px;font-size:.9rem}.os-welcome strong{font-size:1.22rem}.os-reader p{font-size:.72rem}.os-project-browser h3{font-size:1rem}.os-project-graphic{height:64px}.os-project-browser p{font-size:.65rem}.hero-bottom{font-size:.52rem}.hero-bottom>span{max-width:130px}.hero-bottom a{white-space:nowrap}.orbit-mark{opacity:.7;font-size:4.5rem;top:400px;right:5%}.tag-code{z-index:0;font-size:.5rem;bottom:320px;right:-17px;transform:rotate(90deg)}.tag-ideas{z-index:0;font-size:.5rem;bottom:175px;left:-12px}.ribbon-scene{height:125px}.ribbon{padding:11px 0;font-size:1.2rem}.assembly-scene{border-radius:30px 30px 0 0;height:165svh;min-height:1040px}.assembly-sticky{height:calc(100svh - 74px);min-height:540px;padding:32px 6% 24px;top:74px}.assembly-heading h2{font-size:clamp(2.3rem,9.5vw,3rem)}.assembly-heading .eyebrow{font-size:.5rem}.assembly-board{gap:6px;margin:25px 3px 40px;padding:26px 6px 18px}.assembly-frame{border-radius:10px;inset:-12px -4px;box-shadow:5px 6px #6e49804d}.assembly-frame>div{height:27px;padding:0 9px;font-size:.4rem}.frame-caption{font-size:.4rem;bottom:4px;left:12px}.assembly-tile{height:165px;box-shadow:2px 3px 0 var(--deep);border-width:1.5px;padding:9px}.tile-label{letter-spacing:-.02em;font-size:.39rem;line-height:1.5}.tile-symbol{font-size:2.8rem}.assembly-tile strong{letter-spacing:-.07em;font-size:clamp(1rem,4.8vw,1.6rem)}.tile-0{transform:translate(calc(var(--scatter) * -10px), calc(var(--scatter) * 42px)) rotate(calc(var(--scatter) * -12deg))}.tile-1{transform:translateY(calc(var(--scatter) * -48px)) rotate(calc(var(--scatter) * 9deg))}.tile-2{transform:translate(calc(var(--scatter) * 10px), calc(var(--scatter) * 40px)) rotate(calc(var(--scatter) * 12deg))}.assembly-bottom{gap:10px;margin:0;font-size:.46rem}.content-rail{margin:0 3%;padding-top:16px}.section,.freelance{border-radius:23px;margin-bottom:16px;padding:38px 22px}.section-label{gap:10px;margin-bottom:28px;font-size:.54rem}.about-layout h2,.section-heading h2,.services h2{font-size:clamp(2.5rem,9.8vw,3.2rem)}.about-layout{gap:24px}.about-copy{display:block}.about-copy .lead{font-size:1.05rem}.about-copy .eyebrow{margin:24px 0 12px}.about-copy p{font-size:.9375rem}.principles{gap:14px;margin-top:25px;font-size:.8rem}.section-heading{gap:20px;margin-bottom:30px}.section-heading>p{font-size:.8125rem}.experience-role{grid-template-columns:30px 1fr}.role-detail h3{font-size:1.55rem}.role-detail h4{font-size:.875rem}.role-detail .eyebrow{font-size:.56rem}.role-detail p,.role-detail li{font-size:.875rem}.project-art{border-radius:12px;height:290px}.preview-toolbar{padding:16px;font-size:.5rem}.sap-preview{width:83%;margin-top:9px;padding:17px}.preview-label{font-size:.44rem}.query-bubble{font-size:1.5rem}.query-bubble span{font-size:1rem}.context-sources{gap:4px}.context-sources span{padding:4px 6px;font-size:.42rem}.preview-footnote{font-size:.43rem}.route-preview{margin:23px 17px}.route-preview strong{font-size:1.75rem}.route-line{width:18%;margin-inline:7px}.route-line span{font-size:.35rem!important}.route-metrics small{font-size:.41rem}.route-metrics{margin-top:40px}.project-copy h3{font-size:1.8rem}.project-copy p{font-size:.875rem}.project-copy .text-link{font-size:.8125rem}.skills-system{grid-template-columns:1fr}.skill-tabs{border-right:0;grid-template-columns:1fr 1fr}.skill-tabs button{border-right-color:#725388;padding:13px 10px}.skill-tabs button:last-child{border-bottom-color:#725388}.skill-panel{min-height:340px;padding:26px 21px}.skill-panel h3{font-size:2.2rem}.skill-tools span{font-size:.8125rem}.skill-panel p{font-size:.875rem}.service-row{grid-template-columns:20px 1fr;gap:12px}.service-row>div:last-child{grid-column:2}.service-row h3{font-size:1.7rem}.service-row p{font-size:.875rem}.service-row .muted{font-size:.6rem}.service-row ul{font-size:.8125rem}.service-row .text-link{padding:9px 13px;font-size:.7rem}.freelance h2{font-size:clamp(2.6rem,10vw,3.4rem)}.freelance p{font-size:.875rem}.freelance .availability{font-size:.54rem}.freelance-mark{font-size:8rem}.form-grid label{font-size:.8125rem}.form-grid input,.form-grid select,.form-grid textarea{font-size:1rem}.contact-form{margin-top:25px}.form-submit .button{justify-content:space-between}.inline-case .case-body{padding:20px}.inline-case .case-body h2{font-size:2rem}.inline-case .dialog-toolbar{padding:16px 12px}.inline-case .dialog-toolbar span{font-size:.52rem}.inline-case .dialog-toolbar button{font-size:.65rem}.mobile-device-dialog{width:355px;max-height:96svh;padding:14px;overflow-y:auto}.mobile-device-dialog .dialog-close{padding:5px;font-size:.875rem}.mobile-pocket{padding:11px 16px;font-size:.75rem;bottom:18px;right:17px}.site-footer{padding-top:38px}.site-footer .wordmark{font-size:1.8rem}}@media (max-width:360px){.hero h1{font-size:3.2rem}.device-stage{width:278px;transform:none}.device-stage .handheld,.mobile-device-dialog .handheld{width:278px;padding:16px 13px}.dpad{width:114px;height:114px}.action-buttons{gap:7px}.action-buttons button{width:41px;height:41px}.bottom-controls{margin-left:24px}.os-app-grid button{gap:4px;font-size:.56rem}.app-icon{width:20px;height:22px}.lcd.color-screen{padding:8px}.hardware-brand>span{font-size:.35rem}.device-annotation em{font-size:.875rem}.annotation-arrow{left:205px}.screen-caption{font-size:.36rem}.assembly-tile{height:155px;padding:7px}.assembly-tile strong{font-size:1rem}.section,.freelance{padding-inline:18px}.hero-orbit .tag-code{display:none}.hero-role{font-size:.53rem}}@media (prefers-reduced-motion:reduce){.split-letter{will-change:auto;transform:none!important}.handheld,.device-stage{transform:none!important}.hero-orbit{display:none}.assembly-scene{height:auto;min-height:0}.assembly-sticky{gap:30px;height:auto;min-height:0;padding-top:45px;padding-bottom:45px;position:relative;top:auto}.assembly-tile,.assembly-frame,.sap-preview,.route-preview,.focus-circle,.project-art,.ribbon span,.freelance-mark{will-change:auto;clip-path:none!important;transform:none!important}.assembly-frame{opacity:1}.assembly-bottom i{width:100%}.boot-track i{width:100%;animation:none}.device-annotation,.device-instruction{transform:none}}.os-sync-panel{flex-direction:column;flex:1;justify-content:center;min-height:0;padding:18px 0 0;display:flex}.sync-symbol{color:var(--acid);margin:17px 0 8px;font-size:3rem;line-height:1}.os-sync-panel h3{color:#f2e7ff;letter-spacing:-.04em;margin:0 0 10px;font:700 1.5rem/1.1 Arial,sans-serif}.os-sync-panel p{color:#cdb7e1;margin-bottom:15px;font:.75rem/1.5 Arial,sans-serif}.sync-section-dots{gap:5px;margin-bottom:17px;display:flex}.sync-section-dots i{background:#523669;border-radius:2px;flex:1;height:5px}.sync-section-dots i.active{background:var(--acid)}@media (min-width:901px) and (max-height:800px){.device-stage{top:calc(145px - var(--journey) * 50px);transform:scale(calc(.83 - var(--journey) * .11)) rotate(calc(-7deg + var(--journey) * 7deg))}.device-annotation{top:-50px}.hero{padding-top:55px}}@media (prefers-reduced-motion:reduce) and (min-width:901px) and (max-height:800px){.device-stage{transform:scale(.8)!important}}
.projects-section{background:0 0;padding:48px 12px 38px;overflow:visible}.projects-section>.section-label,.projects-section>.section-heading{padding-inline:22px}.project-index{font:.65rem var(--mono);color:#765487;border-top:1px solid #bfa6d2;border-bottom:1px solid #bfa6d2;justify-content:space-between;align-items:center;gap:18px;margin:0 6px 30px;padding:15px 8px;display:flex}.project-index b{color:#a580b8;margin-left:5px;font-weight:400}.project-index>span:last-child{align-items:center;gap:15px;font-size:.53rem;display:flex}.project-index i{color:var(--deep);font-size:1.1rem;font-style:normal}.showcase-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:24px;display:grid}.showcase-card{--card-x:0;--card-y:0;border:1.5px solid var(--deep);isolation:isolate;min-width:0;transform:perspective(1000px) rotateX(calc(var(--card-y) * -3deg)) rotateY(calc(var(--card-x) * 4deg));background:#d0b5f4;border-radius:17px;height:500px;transition:box-shadow .25s,transform .25s;position:relative;overflow:hidden;box-shadow:5px 6px #301541;margin:0!important}.showcase-card:hover,.showcase-card:focus-within{z-index:2;box-shadow:8px 11px #301541}.showcase-card-0{--card-surface:#decafa;--card-accent:#7541ba;background:#b590eb;grid-column:span 7}.showcase-card-1{--card-surface:#ffcca8;--card-accent:#a75732;background:var(--orange);height:532px;transform:perspective(1000px) rotateX(calc(var(--card-y) * -3deg)) rotateY(calc(var(--card-x) * 4deg)) rotate(1.5deg);grid-column:span 5;margin-top:68px!important}.showcase-card-2{--card-surface:#e1ffa6;--card-accent:#63772a;background:var(--acid);height:365px;transform:perspective(1000px) rotateX(calc(var(--card-y) * -2deg)) rotateY(calc(var(--card-x) * 3deg));grid-column:span 12;margin-top:-6px!important}.showcase-card:nth-child(n+4){--card-surface:#dfcafa;--card-accent:#794bad;grid-column:span 6}.showcase-topline{z-index:3;height:48px;font:.53rem var(--mono);border-bottom:1px solid #29104033;align-items:center;gap:9px;padding:0 15px;display:flex;position:relative}.project-number{border:1px solid;border-radius:50%;flex-shrink:0;place-items:center;width:23px;height:23px;font-size:.6rem;display:grid}.showcase-topline>span:nth-child(2){letter-spacing:.015em;font-size:.48rem}.card-disclosure{font:.5rem var(--mono);align-items:center;gap:9px;min-height:36px;margin-left:auto;padding:7px 0 7px 6px;display:flex}.card-disclosure b{background:var(--deep);width:24px;height:24px;color:var(--paper);border-radius:50%;place-items:center;font:400 1rem Arial,sans-serif;transition:transform .3s;display:grid}.showcase-card[data-expanded=true] .card-disclosure b{transform:rotate(180deg)}.showcase-art{pointer-events:none;height:350px;transform:translate(calc(var(--card-x) * 12px), calc((.5 - var(--local-progress,.5)) * 24px + var(--card-y) * 9px));margin:0;transition:transform .45s cubic-bezier(.2,.8,.2,1);position:relative}.showcase-card[data-expanded=true] .showcase-art{transform:translate(calc(var(--card-x) * 18px), calc(-28px + var(--card-y) * 12px)) scale(.93)}.showcase-bottom{scrollbar-width:thin;background:var(--card-surface);border-top:1.5px solid var(--deep);z-index:4;max-height:calc(100% - 48px);padding:22px 20px;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 30px #2a0e4010}.showcase-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.showcase-type{font:.48rem var(--mono);letter-spacing:.08em;color:var(--card-accent);margin-bottom:7px;display:block}.showcase-title h3{letter-spacing:-.05em;max-width:300px;margin:0;font:800 clamp(1.4rem,2.1vw,2rem)/1.08 Arial,Helvetica,sans-serif}.card-route-link{border:1px solid var(--deep);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:1.4rem;transition:background .2s,color .2s,transform .25s;display:grid}.showcase-card[data-expanded=true] .card-route-link{background:var(--deep);color:var(--card-surface);transform:rotate(45deg)}.card-route-link:hover{transform:rotate(0)!important}.card-reveal{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.2,.8,.2,1),opacity .25s;display:grid}.card-reveal>div{min-height:0;overflow:hidden}.showcase-card[data-expanded=true] .card-reveal{opacity:1;grid-template-rows:1fr}.card-reveal p{color:#654476;margin:16px 0 12px;font-size:.9rem;line-height:1.65}.showcase-card-1 .card-reveal p{color:#7c4b38}.showcase-card-2 .card-reveal p{color:#5c6b36}.card-reveal .tags{gap:5px}.card-reveal .tags span{border-color:color-mix(in srgb, var(--card-accent), transparent 60%);color:var(--card-accent);border-radius:100px;padding:4px 8px;font-size:.58rem}.card-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.card-actions .text-link{background:var(--deep);color:var(--card-surface);border-radius:100px;justify-content:space-between;gap:20px;padding:10px 14px;font-size:.75rem;font-weight:600;display:inline-flex}.card-actions .text-link:after{display:none}.card-actions>a{text-underline-offset:4px;font-size:.7rem;text-decoration:underline}.artifact-sheet{background:#e9d7ff;border:1px solid #754999;border-radius:8px;width:60%;height:210px;padding:16px;transition:transform .45s;position:absolute;top:53px;left:18%;box-shadow:3px 4px #68418530}.artifact-sheet>span{font:.47rem var(--mono);color:#845aa2}.artifact-sheet i{background:#c4a5dd;width:80%;height:4px;margin:17px 0;display:block}.artifact-sheet i:nth-child(3){width:58%}.sheet-back{background:#d8ebad;transform:rotate(-10deg)translate(-22px,-15px)}.sheet-middle{background:#f4c1dc;transform:rotate(7deg)translate(22px,-4px)}.showcase-card[data-expanded=true] .sheet-back{transform:rotate(-18deg)translate(-44px,-24px)}.showcase-card[data-expanded=true] .sheet-middle{transform:rotate(14deg)translate(42px,-8px)}.assistant-window{border:1.5px solid var(--deep);background:#f8f2ff;border-radius:10px;width:77%;transition:transform .45s;position:absolute;top:66px;left:11%;overflow:hidden;transform:rotate(-3deg);box-shadow:5px 7px #3520433b}.showcase-card[data-expanded=true] .assistant-window{transform:rotate(0)translateY(-6px)}.mini-window-bar{min-height:31px;font:.43rem var(--mono);color:#8b669f;border-bottom:1px solid #d1b9e3;justify-content:space-between;align-items:center;gap:7px;padding:0 11px;display:flex}.mini-window-bar>span:first-child{gap:3px;display:flex}.mini-window-bar i{background:#9865b9;border-radius:50%;width:4px;height:4px;display:block}.mini-window-bar b{font:400 1rem Georgia,serif}.assistant-window-body{padding:20px 19px 19px}.visual-eyebrow{font:.44rem var(--mono);letter-spacing:.05em;color:#9673ad}.assistant-window-body>strong{letter-spacing:-.055em;margin:12px 0 18px;font:800 clamp(1.5rem,2.7vw,2.4rem)/1.05 Arial,sans-serif;display:block}.assistant-window-body em{color:#9765ba;font-family:Georgia,serif;font-weight:400}.query-input{color:#8b639f;background:#eadcf8;border:1px solid #bd9bcf;border-radius:4px;justify-content:space-between;align-items:center;padding:10px;font-size:.6rem;display:flex}.query-input b{background:var(--deep);color:#eadcf8;border-radius:3px;padding:0 4px;font-size:.8rem}.retrieval-flow{font:.4rem var(--mono);color:#a17ab8;align-items:center;gap:5px;margin-top:17px;display:flex}.retrieval-flow i{background:#c6a3db;flex:1;height:1px;position:relative;overflow:hidden}.retrieval-flow i:after{content:"";background:var(--deep);transition:transform .7s;position:absolute;inset:0;transform:translate(-100%)}.showcase-card[data-expanded=true] .retrieval-flow i:after{transform:translate(0)}.art-sticker{z-index:3;border:1.5px solid var(--deep);font:700 .56rem/1.25 var(--mono);box-shadow:2px 3px 0 var(--deep);padding:10px 12px;transition:transform .4s;display:block;position:absolute}.sticker-ai{color:#52691c;background:var(--acid);border-radius:3px;top:30px;right:5%;transform:rotate(11deg)}.sticker-ai span{margin-left:8px;font-size:1.1rem;display:inline-block}.showcase-card[data-expanded=true] .sticker-ai{transform:translate(8px,-9px)rotate(-4deg)}.shipping-art{height:390px}.route-ticket{background:#fff3e2;border:1.5px solid #623321;border-radius:7px;width:80%;padding:15px;transition:transform .4s;position:absolute;top:26px;left:10%;transform:rotate(4deg);box-shadow:5px 6px #b9693c65}.ticket-top{font:.43rem var(--mono);color:#aa7450;border-bottom:1px dashed #d6ad8d;justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.ticket-top b{font-size:1.1rem}.ticket-heading{margin-top:17px}.ticket-heading strong{letter-spacing:-.04em;font:800 clamp(1.1rem,1.9vw,1.7rem)/1.1 Arial,sans-serif}.ticket-heading em{color:#ad6e43;font:400 1.15em/1.1 Georgia,serif}.route-diagram{align-items:center;margin:18px 0 16px;display:flex;position:relative}.route-stop{flex-direction:column;align-items:center;gap:7px;display:flex}.route-stop i{background:#e4e99b;border:2px solid #9b5830;border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 4px #e8d6bc}.route-stop span{font:.35rem var(--mono);color:#9f704f;letter-spacing:-.02em}.route-connector{flex:1;position:relative}.route-connector>span{font:.31rem var(--mono);color:#af7b59;text-align:center;position:absolute;top:6px;left:0;right:0}.route-connector svg{width:100%;height:57px;overflow:visible}.route-connector path{fill:none;stroke:#ae683c;stroke-width:2px;stroke-dasharray:4 3;stroke-dashoffset:32px;transition:stroke-dashoffset .7s}.showcase-card[data-expanded=true] .route-connector path{stroke-dashoffset:0}.route-ticket-rows{border-block:1px dashed #d4ac8c;flex-direction:column;display:flex}.route-ticket-rows>span{font:.43rem var(--mono);color:#986a49;justify-content:space-between;padding:7px 0;display:flex}.route-ticket-rows b{color:#ba8a65;font-weight:400}.ticket-barcode{opacity:.7;background:repeating-linear-gradient(90deg,#925c39 0 2px,#0000 2px 4px,#925c39 4px 5px,#0000 5px 8px);width:95px;height:16px;margin:15px auto 0}.sticker-route{color:#563274;background:#e6d6fa;border-radius:3px;font-size:.5rem;bottom:19px;left:6%;transform:rotate(-7deg)}.showcase-card[data-expanded=true] .route-ticket{transform:rotate(-2deg)translateY(-3px)}.showcase-card[data-expanded=true] .sticker-route{transform:rotate(6deg)translate(15px)}.showcase-card-2 .showcase-topline{width:100%}.showcase-card-2 .showcase-art{width:61%;height:314px;top:0;left:1%}.showcase-card-2 .showcase-bottom{border-top:0;border-left:1.5px solid var(--deep);background:#dcf89d;flex-direction:column;justify-content:center;padding:27px 20px;display:flex;inset:48px 0 0 59%}.showcase-card-2 .showcase-title{align-items:flex-start}.showcase-card-2 .showcase-title h3{max-width:210px;font-size:clamp(1.7rem,2.7vw,2.45rem)}.showcase-card-2 .card-route-link{width:31px;height:31px;font-size:1.15rem}.showcase-card-2 .card-reveal p{font-size:.8125rem}.showcase-card-2[data-expanded=true] .showcase-art{transform:translate(calc(var(--card-x) * 10px), -4px) scale(.96)}.study-tab{border:1.5px solid var(--deep);width:74%;height:34px;font:.4rem var(--mono);background:#c3a5e7;border-radius:7px 7px 0 0;padding:11px 15px;transition:transform .4s;position:absolute;top:35px;left:12%;transform:rotate(-5deg)}.study-window{border:1.5px solid var(--deep);background:#f5ffe1;border-radius:9px;width:83%;transition:transform .4s;position:absolute;top:58px;left:8%;overflow:hidden;transform:rotate(-4deg);box-shadow:5px 6px #677a2e50}.study-window .mini-window-bar{color:#819552;background:#ebf7d2;border-color:#c0d29b}.study-window-main{align-items:center;gap:15px;padding:18px 15px;display:flex}.focus-dial{aspect-ratio:1;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:150px;display:flex;position:relative}.focus-dial svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.focus-dial circle{fill:none;stroke:#8ba23e;stroke-width:3px;stroke-dasharray:446;stroke-dashoffset:110px;transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}.focus-dial>span{font:.38rem var(--mono);color:#9aaa74}.focus-dial>strong{color:#5e742b;letter-spacing:-.055em;font:400 2.5rem/1.25 Georgia,serif}.focus-dial>small{font:.3rem var(--mono);color:#98a66e}.study-room-note{flex-direction:column;gap:11px;min-width:0;display:flex}.room-avatars{padding-left:5px;display:flex}.room-avatars i{color:#5c397b;width:24px;height:24px;font:normal .45rem var(--mono);background:#cfb2eb;border:1px solid #6a734c;border-radius:50%;place-items:center;margin-left:-5px;display:grid}.room-avatars i:nth-child(2){background:var(--orange);color:#844b32}.room-avatars i:nth-child(3){color:#687d36;background:#d4e79e}.study-room-note>strong{letter-spacing:-.045em;font:700 1.4rem/1.05 Arial,sans-serif}.study-room-note>strong em{color:#849844;font:400 1.05em Georgia,serif}.study-room-note>span:last-child{font:.34rem/1.5 var(--mono);color:#9aab72}.sticker-focus{background:var(--pink);color:#824568;border-radius:100px;padding:12px 19px;font-size:.5rem;bottom:19px;right:7%;transform:rotate(8deg)}.sticker-focus b{margin-left:9px;font-size:1rem}.showcase-card[data-expanded=true] .focus-dial circle{stroke-dashoffset:25px}.showcase-card[data-expanded=true] .study-window{transform:rotate(0)}.showcase-card[data-expanded=true] .study-tab{transform:rotate(4deg)translateY(-6px)}.showcase-card[data-expanded=true] .sticker-focus{transform:rotate(-5deg)translate(4px,-8px)}.generic-art{flex-direction:column;gap:25px;padding:35px;display:flex}.generic-art>span{font:.65rem var(--mono)}.generic-art>strong{font-size:2rem}.generic-art>div{gap:9px;font-size:.75rem;display:flex}.work-colophon{border-top:1px solid #c3aad5;align-items:center;gap:19px;margin:34px 6px 0;padding:22px 0 0;display:flex}.work-colophon>span:first-child{color:#7e50a3;transform:rotate(calc(var(--local-progress,.5) * 90deg));font-size:3.5rem;line-height:1}.work-colophon p{color:#88669c;margin:0;font-size:.8rem;line-height:1.5}.work-colophon p strong{color:#5b326d;font-weight:600}.work-colophon>span:last-child{font:.5rem var(--mono);color:#9a77af;margin-left:auto}.approach-notes{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:13px;margin:38px 0 0;display:grid}.approach-note{background:#efe4fc;border:1px solid #ac88c5;border-radius:5px;transition:transform .25s,box-shadow .25s;position:relative;transform:rotate(-2deg);box-shadow:3px 4px #aa82c64d}.approach-note.note-1{background:#e4f6b9;border-color:#a9b27d;margin-top:18px;transform:rotate(2deg)}.approach-note.note-2{background:#ffcfb0;border-color:#c99578;margin-top:7px;transform:rotate(-1deg)}.approach-note:hover,.approach-note:focus-within,.approach-note[open]{z-index:2;transform:rotate(0)translateY(-5px);box-shadow:4px 7px #aa82c64d}.approach-note summary{cursor:pointer;flex-direction:column;min-height:184px;padding:15px;list-style:none;display:flex;position:relative}.approach-note summary::-webkit-details-marker{display:none}.note-corner{font:.55rem var(--mono);color:#8d6d9f;position:absolute;top:12px;right:12px}.note-symbol{color:#8c60b0;margin:14px 0 21px;font:400 2.5rem/1 Georgia,serif}.note-1 .note-symbol{color:#758b39}.note-2 .note-symbol{color:#ab6842}.approach-note summary>strong{letter-spacing:-.03em;max-width:140px;font-size:.95rem;line-height:1.2}.note-label{font:.38rem/1.4 var(--mono);color:#9779a7;justify-content:space-between;align-items:center;gap:7px;margin-top:15px;display:flex}.note-label i{color:#69427e;font:1rem Arial,sans-serif;transition:transform .2s}.approach-note[open] .note-label i{transform:rotate(45deg)}.approach-note p{color:#77558a;margin:0;padding:0 15px 17px;font-size:.8rem;line-height:1.6}.note-1 p{color:#61732b}.note-2 p{color:#945a3c}.experience-file-header{font:.49rem var(--mono);color:#9d6140;border-block:1px solid #da9871;justify-content:space-between;gap:10px;margin-top:30px;padding:12px 0;display:flex}.experience-timeline{margin-top:35px}.experience-role{grid-template-columns:34px 1fr;padding-bottom:29px}.experience-role .role-detail{transform:translateY(calc((1 - var(--reveal,1)) * 20px));background:#ffe2c9;border:1px solid #d79c76;border-radius:0 10px 10px;padding:32px 25px 20px;transition:box-shadow .25s;position:relative;box-shadow:4px 5px #d5946c4d}.experience-role:nth-child(2) .role-detail{background:#ffdabd;margin-left:16px}.experience-role:hover .role-detail{box-shadow:6px 8px #d5946c70}.role-file-tab{border:1px solid #d79c76;min-width:145px;height:23px;font:.48rem var(--mono);color:#ab7753;background:#ffe2c9;border-bottom:0;border-radius:7px 7px 0 0;padding:3px 12px;position:absolute;top:-13px;left:-1px}.experience-role:nth-child(2) .role-file-tab{background:#ffdabd}.role-detail h3{font-size:1.65rem}.role-detail .eyebrow{font-size:.57rem}.role-detail h4,.role-detail p,.role-detail li{font-size:.875rem}.role-marker{padding-top:10px}.role-marker:after{top:43px;left:11px}.toolkit-window-bar{font:.48rem var(--mono);color:#af8bc6;background:#261737;border:1px solid #725388;border-bottom:0;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 15px;display:flex}.toolkit-window-bar>span:first-child{gap:4px;display:flex}.toolkit-window-bar i{background:#8d64ad;border-radius:50%;width:6px;height:6px}.toolkit-window-bar i:first-child{background:var(--orange)}.toolkit-window-bar i:nth-child(2){background:var(--acid)}.toolkit-window-bar b{color:#cbaeec;font:400 1rem Arial,sans-serif}.skills-system{border-radius:0 0 12px 12px}.skill-panel{background:radial-gradient(circle at 100% 0,#754ba829,#0000 65%);position:relative}.skill-tools{gap:9px}.skill-tools span{background:#6a418f;border:1px solid #9e74bc;border-radius:5px;padding:7px 12px;transition:transform .2s,background .2s;transform:rotate(-2deg);box-shadow:2px 3px #20132f}.skill-tools span:nth-child(2n){background:#52336e;transform:rotate(3deg)}.skill-tools span:nth-child(3n){transform:rotate(-4deg)}.skill-tools span:hover{background:var(--acid);color:var(--deep);transform:translateY(-5px)rotate(0)}.skill-tabs button{transition:padding .2s,background .2s;position:relative}.skill-tabs button:hover{background:#5c357d;padding-left:21px}.skill-tabs button[aria-selected=true]:hover{background:var(--acid)}.service-tickets{flex-direction:column;gap:15px;margin-top:39px;display:flex}.service-row.service-ticket{background:#e7fcb2;border:1.5px solid #718335;border-radius:10px;margin:0;transition:transform .25s,box-shadow .25s;overflow:hidden;box-shadow:4px 5px #7d92393b;padding:0!important;display:block!important}.service-ticket:nth-child(2){background:#d1b7f0;border-color:#9472b0;transform:rotate(-1deg)}.service-ticket:nth-child(3){background:#ffca9f;border-color:#b38054;transform:rotate(1deg)}.service-ticket:hover,.service-ticket[open]{transform:rotate(0);box-shadow:5px 7px #65733055}.service-ticket summary{cursor:pointer;align-items:center;gap:16px;padding:22px;list-style:none;display:flex}.service-ticket summary::-webkit-details-marker{display:none}.ticket-index{font:.6rem var(--mono);color:#899852}.service-symbol{color:#596b2a;border:1px solid #6c8034;border-radius:50%;place-items:center;width:44px;height:44px;font:400 1.7rem Georgia,serif;display:grid}.service-ticket:nth-child(2) .service-symbol{color:#714987;border-color:#836196}.service-ticket:nth-child(3) .service-symbol{color:#99683b;border-color:#ad7c51}.service-ticket-name{flex:1;min-width:0}.service-ticket-name strong{margin:0 0 5px;font-size:1.7rem;display:block}.service-ticket-name small{font:.5rem var(--mono);color:#809144}.service-ticket:nth-child(2) .service-ticket-name small{color:#8a669f}.service-ticket:nth-child(3) .service-ticket-name small{color:#a7794f}.ticket-toggle{border:1px solid;border-radius:50%;place-items:center;width:29px;height:29px;font-size:1.2rem;transition:transform .2s;display:grid}.service-ticket[open] .ticket-toggle{transform:rotate(45deg)}.service-row.service-ticket>.service-ticket-body{border-top:1px dashed #9bad59;grid-template-columns:1fr 1fr;align-items:start;gap:20px;margin:0;padding:23px 24px;display:grid!important}.service-ticket-body p{color:#687c34;max-width:none;margin:0;font-size:.9rem;line-height:1.7}.service-ticket-body ul{margin:0 0 15px;font-size:.8rem}.service-ticket-body .mono{font-size:.5rem}.service-ticket-body .ticket-cta{background:var(--deep);color:#e4f4b9;border-radius:5px;grid-column:1/-1;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.8125rem;display:flex}.ticket-cta>span{font-size:1.2rem;transition:transform .2s}.ticket-cta:hover>span{transform:translate(3px,-3px)}.service-ticket:nth-child(2) .service-ticket-body{border-color:#ab86c7}.service-ticket:nth-child(2) .service-ticket-body p,.service-ticket:nth-child(2) .service-ticket-body .mono{color:#80599a}.service-ticket:nth-child(3) .service-ticket-body{border-color:#cf996e}.service-ticket:nth-child(3) .service-ticket-body p,.service-ticket:nth-child(3) .service-ticket-body .mono{color:#a66d40}.freelance{padding-bottom:62px;position:relative}.freelance-stamps{z-index:1;pointer-events:none;justify-content:flex-end;gap:16px;margin-top:26px;padding-right:25px;display:flex;position:relative}.freelance-stamps span{border:2px solid var(--deep);background:var(--pink);color:#784d81;font:700 .65rem/1.25 var(--mono);transform:rotate(-8deg) translateY(calc((1 - var(--reveal,1)) * 35px));box-shadow:3px 4px 0 var(--deep);border-radius:5px;padding:13px 18px;display:block}.freelance-stamps span:nth-child(2){background:var(--orange);color:#814a3e;transform:rotate(9deg) translateY(calc((1 - var(--reveal,1)) * -25px))}.contact-form{border-top:1px dashed #b3769c;padding-top:25px}.attachment-button{border-radius:7px;transition:transform .2s;box-shadow:2px 3px #b882a02b}.attachment-button:hover{transform:translateY(-3px)}.form-submit .button{transition:transform .2s,box-shadow .2s;box-shadow:3px 4px #8c537878}.form-submit .button:hover{transform:translate(-1px,-2px);box-shadow:5px 6px #8c537878}@media (min-width:1600px){.showcase-card{height:555px}.showcase-card-1{height:580px}.showcase-card-2{height:400px}.showcase-art{height:390px}.assistant-window{top:82px}.artifact-sheet{height:230px;top:70px}.assistant-window-body{padding:28px}.route-ticket{padding:20px;top:38px}.route-ticket-rows>span{font-size:.6rem}.route-stop span{font-size:.44rem}.ticket-heading strong{font-size:1.9rem}.route-connector>span{font-size:.4rem}.showcase-card-2 .showcase-art{height:350px}.study-window{top:69px}.study-window-main{padding:25px}.focus-dial{width:165px}.showcase-title h3{font-size:2rem}.showcase-card-2 .showcase-bottom{padding:30px}.card-reveal p{font-size:1rem}}@media (min-width:901px) and (max-width:1199px){.projects-section{padding-inline:0}.projects-section>.section-heading,.projects-section>.section-label{padding-inline:17px}.showcase-grid{gap:17px}.showcase-card-0{grid-column:span 12;height:455px}.showcase-card-1{grid-column:span 6;height:470px;transform:none;margin-top:0!important}.showcase-card-2{grid-column:span 6;height:470px;margin-top:35px!important}.showcase-card-0 .showcase-art{width:72%;height:310px;left:11%}.assistant-window{top:48px}.artifact-sheet{top:35px}.showcase-card-0 .assistant-window-body>strong{font-size:2rem}.showcase-card-2 .showcase-art{width:100%;height:330px;top:0;left:0}.showcase-card-2 .showcase-bottom{border-left:0;border-top:1.5px solid var(--deep);background:var(--card-surface);padding:20px;display:block;inset:auto 0 0}.showcase-title h3,.showcase-card-2 .showcase-title h3{font-size:1.45rem}.showcase-card-2 .card-route-link{width:30px;height:30px}.showcase-topline{gap:6px;padding-inline:10px}.showcase-topline>span:nth-child(2){font-size:.4rem}.card-disclosure>span{display:none}.showcase-bottom{padding:18px 14px}.card-route-link{width:30px;height:30px;font-size:1.2rem}.showcase-type{font-size:.4rem}.route-ticket{width:84%;padding:11px;top:30px;left:8%}.ticket-heading strong{font-size:1.22rem}.route-ticket-rows>span{font-size:.36rem}.route-diagram{margin:13px 0}.route-stop span{font-size:.27rem}.route-connector>span{font-size:.28rem}.route-ticket-rows>span{padding:8px 0}.sticker-route{font-size:.42rem;bottom:30px;left:10%}.shipping-art{height:337px}.study-window-main{justify-content:center;padding:16px 10px;display:flex}.study-room-note{display:none}.focus-dial{width:150px}.study-window{width:84%;top:70px;left:8%}.study-tab{font-size:.35rem;top:45px}.sticker-focus{padding:10px 14px;font-size:.43rem;bottom:30px}.card-reveal p,.showcase-card-2 .card-reveal p{font-size:.8rem}.card-reveal .tags span{font-size:.48rem}.card-actions .text-link{gap:8px;padding:9px 11px;font-size:.64rem}.work-colophon>span:last-child{text-align:right;max-width:110px;font-size:.4rem}.approach-notes{grid-template-columns:1fr;gap:12px}.approach-note,.approach-note.note-1,.approach-note.note-2{margin:0;transform:none}.approach-note summary{grid-template-columns:42px 1fr;align-items:center;gap:5px 12px;min-height:0;padding:17px;display:grid}.note-symbol{grid-row:1/3;margin:0;font-size:2.3rem}.approach-note summary>strong{max-width:none;font-size:1rem}.note-label{margin-top:4px}.note-corner{font-size:.45rem;top:8px;right:10px}.approach-note p{padding-left:70px}.role-detail h3{font-size:1.45rem}.experience-role .role-detail{padding:29px 18px 19px}.experience-role:nth-child(2) .role-detail{margin-left:8px}.service-ticket summary{gap:11px;padding:19px 15px}.service-ticket-name strong{font-size:1.5rem}.service-symbol{width:34px;height:34px;font-size:1.4rem}.service-row.service-ticket>.service-ticket-body{gap:15px;padding:20px}.service-ticket-body p{font-size:.8125rem}.service-ticket-body ul{font-size:.7rem}}@media (max-width:900px){.projects-section{padding:35px 4px 30px}.showcase-grid{gap:20px}.showcase-card-0{height:490px}.showcase-card-1{height:500px;margin-top:48px!important}.showcase-title h3{font-size:1.6rem}.showcase-card-2 .showcase-title h3,.assistant-window-body>strong{font-size:2rem}.ticket-heading strong{font-size:1.5rem}.showcase-card-2{height:360px}.focus-dial{width:135px}.study-room-note>strong{font-size:1.2rem}.study-window-main{gap:10px;padding:18px 12px}.project-index>span:last-child{font-size:.45rem}.card-reveal p{font-size:.8125rem}.card-actions .text-link{font-size:.7rem}.showcase-topline>span:nth-child(2),.work-colophon>span:last-child{font-size:.43rem}.experience-file-header{font-size:.45rem}.approach-note summary{min-height:179px;padding:13px}.approach-note summary>strong{font-size:.95rem}.note-label{font-size:.34rem}.service-ticket-name strong{font-size:1.6rem}.freelance-stamps{padding-right:20px}}@media (min-width:561px) and (max-width:700px){.showcase-card-0,.showcase-card-1{grid-column:span 6}.showcase-card-0{height:460px}.showcase-card-1{height:490px}.assistant-window{width:86%;left:7%}.assistant-window-body{padding:17px 13px}.assistant-window-body>strong{font-size:1.7rem}.mini-window-bar{padding:0 8px;font-size:.34rem}.visual-eyebrow{font-size:.34rem}.retrieval-flow{gap:3px;font-size:.3rem}.query-input{font-size:.5rem}.showcase-title h3{font-size:1.45rem}.showcase-bottom{padding:17px 14px}.showcase-type{font-size:.4rem}.showcase-card-2 .showcase-title h3{font-size:1.7rem}.card-route-link{width:30px;height:30px;font-size:1.2rem}.sticker-ai{padding:9px;font-size:.4rem;top:32px;right:5%}.route-ticket{width:84%;padding:12px;left:8%}.ticket-heading strong{font-size:1.2rem}.route-stop span{font-size:.3rem}.route-ticket-rows>span{font-size:.37rem}.showcase-card-2 .showcase-bottom{padding:20px 15px}.focus-dial{width:127px}.study-room-note{display:none}.study-window-main{justify-content:center;padding:17px}.sticker-focus{font-size:.43rem}.showcase-card-2 .showcase-art{height:310px}.card-disclosure>span{display:none}}@media (max-width:560px){.projects-section{padding:32px 5px 28px}.projects-section>.section-label,.projects-section>.section-heading{padding-inline:15px}.project-index{gap:12px;margin-bottom:23px;padding:12px 2px;font-size:.53rem}.project-index>span:last-child{text-align:right;gap:9px;max-width:130px;font-size:.34rem}.project-index i{font-size:.875rem}.showcase-grid{grid-template-columns:1fr;gap:26px;padding-inline:4px}.showcase-card,.showcase-card-0,.showcase-card-1,.showcase-card-2,.showcase-card:nth-child(n+4){height:485px;box-shadow:4px 5px 0 var(--deep);border-radius:15px;grid-column:auto;transform:none;margin-top:0!important}.showcase-card-1{width:calc(100% - 28px);height:510px;transform:rotate(1deg);margin-inline:14px!important}.showcase-card-2{height:470px}.showcase-topline{gap:8px;height:47px;padding-inline:14px}.showcase-topline>span:nth-child(2){font-size:.43rem}.project-number{width:22px;height:22px;font-size:.52rem}.card-disclosure{gap:8px;min-height:40px;font-size:.43rem}.card-disclosure b{width:25px;height:25px}.showcase-art{height:348px}.showcase-bottom,.showcase-card-2 .showcase-bottom{border-left:0;border-top:1.5px solid var(--deep);background:var(--card-surface);padding:21px 19px;display:block;inset:auto 0 0}.showcase-title h3,.showcase-card-2 .showcase-title h3{max-width:235px;font-size:1.75rem}.showcase-type{margin-bottom:8px;font-size:.43rem}.card-route-link,.showcase-card-2 .card-route-link{width:35px;height:35px;font-size:1.35rem}.assistant-window{width:82%;top:70px;left:9%}.assistant-window-body{padding:22px 19px}.assistant-window-body>strong{font-size:2.15rem}.artifact-sheet{width:68%;top:55px;left:16%}.sticker-ai{padding:10px;font-size:.46rem;top:31px;right:4%}.visual-eyebrow{font-size:.41rem}.mini-window-bar{font-size:.4rem}.query-input{font-size:.56rem}.retrieval-flow{font-size:.35rem}.route-ticket{width:80%;padding:16px;top:30px;left:10%}.ticket-heading strong{font-size:1.5rem}.ticket-top{font-size:.42rem}.route-stop span{font-size:.32rem}.route-connector>span{font-size:.3rem}.route-ticket-rows>span{padding:8px 0;font-size:.44rem}.route-diagram{margin-block:18px}.shipping-art{height:368px}.sticker-route{font-size:.43rem;bottom:17px;left:6%}.showcase-card-2 .showcase-art{width:100%;height:345px;top:0;left:0}.study-window{width:85%;top:73px;left:7%}.study-tab{width:79%;font-size:.37rem;top:45px;left:11%}.study-window-main{gap:12px;padding:23px 13px}.focus-dial{width:144px}.focus-dial>strong{font-size:2.5rem}.study-room-note{display:flex}.study-room-note>strong{font-size:1.25rem}.study-room-note>span:last-child{font-size:.3rem}.sticker-focus{font-size:.44rem;bottom:26px;right:7%}.card-reveal p,.showcase-card-2 .card-reveal p{font-size:.875rem;line-height:1.65}.card-reveal .tags span{padding:4px 8px;font-size:.55rem}.card-actions .text-link{padding:11px 14px;font-size:.75rem}.work-colophon{flex-wrap:wrap;gap:13px;margin:29px 9px 0}.work-colophon>span:first-child{font-size:2.8rem}.work-colophon p{font-size:.75rem}.work-colophon>span:last-child{flex-basis:100%;margin-left:0;padding-left:53px;font-size:.45rem}.approach-notes{grid-template-columns:1fr;gap:12px;margin-top:28px}.approach-note,.approach-note.note-1,.approach-note.note-2{border-radius:8px;margin:0;transform:none}.approach-note summary{grid-template-columns:43px 1fr;align-items:center;gap:4px 12px;min-height:0;padding:18px 15px;display:grid}.note-symbol{grid-row:1/3;margin:0;font-size:2.4rem}.approach-note summary>strong{max-width:none;font-size:1.0625rem}.note-corner{font-size:.43rem;top:7px;right:10px}.note-label{margin-top:5px;font-size:.4rem}.approach-note p{padding:0 18px 18px 70px;font-size:.875rem}.experience-file-header{gap:10px;font-size:.4rem;line-height:1.5}.experience-file-header>span:last-child{text-align:right;max-width:110px}.experience-timeline{margin-top:30px}.experience-role{grid-template-columns:27px 1fr;padding-bottom:31px}.experience-role .role-detail{padding:29px 17px 19px}.experience-role:nth-child(2) .role-detail{margin-left:4px}.role-file-tab{min-width:134px;height:22px;font-size:.42rem}.role-detail h3{font-size:1.4rem}.role-detail .eyebrow{font-size:.51rem}.role-detail h4,.role-detail p,.role-detail li{font-size:.8125rem}.role-detail .tags{gap:5px}.role-detail .tags span{font-size:.53rem}.toolkit-window-bar{gap:7px;padding:10px 11px;font-size:.4rem}.toolkit-window-bar b{font-size:.9rem}.toolkit-window-bar i{width:5px;height:5px}.skill-tools{gap:10px}.skill-tools span{padding:7px 10px;font-size:.8125rem}.skill-tabs button:hover{padding-left:14px}.service-tickets{gap:13px;margin-top:30px}.service-ticket summary{gap:10px;padding:18px 14px}.ticket-index{font-size:.48rem}.service-symbol{width:33px;height:33px;font-size:1.4rem}.service-ticket-name strong{font-size:1.35rem;line-height:1.15}.service-ticket-name small{font-size:.43rem}.ticket-toggle{flex-shrink:0;width:24px;height:24px;font-size:1rem}.service-row.service-ticket>.service-ticket-body{grid-template-columns:1fr;gap:18px;padding:19px}.service-ticket-body p{font-size:.875rem}.service-ticket-body ul{margin-bottom:15px;font-size:.8125rem}.service-ticket-body .mono{font-size:.5rem}.service-ticket-body .ticket-cta{padding:13px 15px;font-size:.8125rem}.freelance{padding-bottom:34px}.freelance-stamps{gap:12px;margin-top:30px;padding-right:8px}.freelance-stamps span{padding:10px 13px;font-size:.5rem}.contact-form{padding-top:22px}.form-submit .button{box-shadow:3px 4px #8c537878}}@media (max-width:360px){.showcase-title h3,.showcase-card-2 .showcase-title h3{font-size:1.5rem}.card-disclosure>span{display:none}.assistant-window-body>strong{font-size:1.85rem}.assistant-window-body{padding:19px 14px}.showcase-card-1{width:calc(100% - 16px);margin-inline:8px!important}.study-room-note{display:none}.study-window-main{justify-content:center}.focus-dial{width:153px}.service-symbol{display:none}.service-ticket-name strong{font-size:1.4rem}.service-ticket summary{gap:12px}.card-reveal p{font-size:.8125rem}}@media (prefers-reduced-motion:reduce){.showcase-card,.showcase-card-1,.showcase-card-2,.showcase-card[data-expanded=true] .showcase-art,.showcase-art,.artifact-sheet,.assistant-window,.route-ticket,.study-window,.study-tab,.art-sticker,.work-colophon>span:first-child,.approach-note,.approach-note.note-1,.approach-note.note-2,.experience-role .role-detail,.service-ticket,.freelance-stamps span,.skill-tools span{transition:none!important;transform:none!important}.showcase-card:hover,.showcase-card:focus-within{box-shadow:5px 6px 0 var(--deep)}.card-reveal{transition:none}.card-route-link,.card-disclosure b,.ticket-toggle{transform:none!important}.focus-dial circle,.route-connector path,.retrieval-flow i:after{transition:none}}.service-row.service-ticket:not([open])>.service-ticket-body,.approach-note:not([open])>p{display:none!important}
