:root{color-scheme:dark;--ink: #f2f2ef;--muted: #b8b8b2;--subtle: #898982;--paper: #050505;--panel: #101010;--panel-raised: #181818;--line: #3a3a38;--line-bright: #b5b5b0;--accent: #d7ff36;--serif: Georgia, "Times New Roman", serif;--mono: "DM Mono", "Courier New", monospace;--sans: "DM Sans", Arial, sans-serif;--display: "Oswald", "Arial Narrow", Impact, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{position:relative;margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before,body:after{position:fixed;z-index:-1;border:1px solid #242424;border-radius:50%;content:"";pointer-events:none}body:before{top:47%;left:-360px;width:620px;height:620px;box-shadow:inset 0 0 0 65px #050505,inset 0 0 0 66px #1c1c1c}body:after{top:-290px;right:-345px;width:670px;height:670px;animation:outer-orbit 90s linear infinite}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{color:#080808;background:var(--accent)}.page-shell{width:min(1240px,calc(100% - 88px));margin-inline:auto}.accent-dot{color:var(--accent)}.serif-italic{font-family:var(--serif);font-style:italic}@keyframes outer-orbit{to{transform:rotate(360deg)}}.skip-link{position:fixed;z-index:30;top:10px;left:10px;padding:12px 16px;transform:translateY(-160%);background:var(--accent);color:#070707;font-size:14px}.skip-link:focus{transform:translateY(0)}.portfolio-frame{position:relative;isolation:isolate;width:min(1480px,calc(100% - 32px));min-height:88vh;margin:12px auto 24px;border:1px solid #dadad6;border-radius:14px;background:#0b0b0b;box-shadow:0 0 0 7px #ffffff06,0 20px 100px #0008;overflow:clip}.portfolio-frame:before,.portfolio-frame:after{position:absolute;z-index:-1;border:1px solid #ffffff0c;border-radius:50%;content:"";pointer-events:none}.portfolio-frame:before{top:450px;right:-160px;width:325px;height:325px}.portfolio-frame:after{top:460px;right:-120px;width:245px;height:245px}.frame-annotation{position:absolute;z-index:-2;top:210px;color:#a4a49c;font:10px var(--display);letter-spacing:.09em}.frame-annotation-left{left:-114px;transform:rotate(-90deg) translate(-100%);transform-origin:top left}.frame-annotation-right{right:-125px;transform:rotate(90deg);transform-origin:top right}.opening-mark{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;align-content:center;justify-items:center;gap:13px;background:#050505;animation:intro-exit .9s cubic-bezier(.77,0,.18,1) .18s both}.opening-mark>span{font:700 clamp(80px,14vw,148px)/.95 var(--display);letter-spacing:-.055em;animation:mark-settle .65s cubic-bezier(.2,.75,.2,1) both}.opening-mark>small{color:#a9a9a2;font:9px var(--mono);letter-spacing:.16em;animation:mark-settle .65s .12s both}.intro-skip{position:absolute;right:33px;bottom:28px;padding:9px 13px;border:1px solid #60605b;border-radius:20px;background:#101010;color:#e2e2dd;cursor:pointer;font:10px var(--mono)}@keyframes mark-settle{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes intro-exit{0%,72%{opacity:1}to{opacity:0;visibility:hidden;pointer-events:none}}.page-transition{animation:page-enter .43s cubic-bezier(.2,.7,.2,1) both}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.site-header{position:sticky;top:0;z-index:10;display:flex;min-height:96px;align-items:center;justify-content:space-between;gap:25px;padding-inline:clamp(24px,5.5%,76px);border-bottom:1px solid #ffffff14;border-radius:13px 13px 0 0;background:#0b0b0bed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.wordmark{display:inline-flex;flex:0 0 auto;align-items:center;gap:11px}.wordmark-mark{color:var(--ink);font:600 30px/.96 var(--display);letter-spacing:-.055em}.wordmark-mark>span{color:var(--accent)}.wordmark-label{color:#e8e8e3;font:500 9px/1.25 var(--display);letter-spacing:.08em}.nav-links{display:flex;align-items:center;gap:clamp(14px,2.1vw,30px)}.nav-links a{position:relative;padding-block:14px;color:#a8a8a2;font-size:14px;transition:color .2s ease}.nav-links a:after{position:absolute;right:0;bottom:5px;left:0;height:1px;transform:scaleX(0);transform-origin:left;background:var(--accent);content:"";transition:transform .22s ease}.nav-links a:hover,.nav-links a.active{color:var(--ink)}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-links .nav-cta{padding:11px 17px;border:1px solid #757570;border-radius:24px;color:var(--ink);font-size:12px;transition:border-color .2s,background .2s,color .2s}.nav-links .nav-cta:after{display:none}.nav-links .nav-cta:hover,.nav-links .nav-cta.active{border-color:var(--accent);background:var(--accent);color:#080808}.menu-toggle{display:none}.eyebrow{margin:0;color:#d0d0ca;font:12px/1.6 var(--mono);letter-spacing:.12em}.status-dot{display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #d7ff367a}.hero{position:relative;display:grid;min-height:710px;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(24px,3.2vw,48px);align-items:center;padding-block:48px 55px;isolation:isolate}.hero:before{position:absolute;z-index:-1;top:-4%;right:-10%;width:min(62vw,790px);aspect-ratio:1;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 28px #ffffff03,0 0 0 86px #ffffff02,inset 0 0 110px #d7ff3605;content:"";animation:hero-orbit 45s linear infinite;pointer-events:none}.hero:after{position:absolute;z-index:-1;top:12%;right:7%;width:2px;height:2px;border-radius:50%;background:var(--accent);box-shadow:-470px 140px 0 1px #d7ff3680,-325px 384px 0 1px #ffffff80,-50px 480px 0 1px #d7ff3670,116px 238px 0 1px #ffffff70;content:"";animation:particle-drift 12s ease-in-out infinite alternate;pointer-events:none}@keyframes hero-orbit{to{transform:rotate(360deg)}}.hero-copy{position:relative;z-index:2;max-width:640px;padding-top:4px}.hero-eyebrow{animation:rise-in .6s .42s both}.hero-eyebrow .eyebrow-year{color:#a7a79f}.hero-headline{display:flex;flex-direction:column;margin:24px 0 21px;font:600 clamp(52px,5vw,74px)/1.03 var(--display);letter-spacing:-.045em}.hero-headline>span{overflow:hidden;animation:title-rise .8s cubic-bezier(.19,1,.22,1) both}.hero-headline>span:nth-child(1){color:#aead9f;animation-delay:.53s}.hero-headline>span:nth-child(2){color:#f4f4f1;animation-delay:.65s}.hero-headline>span:nth-child(3){color:#f4f4f1;animation-delay:.77s}.hero-headline .accent-dot{color:var(--accent)}.hero-description{max-width:570px;margin:0;color:#c6c6c0;font-size:16px;line-height:1.75;animation:rise-in .6s 1.03s both}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:24px;animation:rise-in .6s 1.17s both}.button{display:inline-flex;min-height:51px;align-items:center;justify-content:center;gap:13px;padding:0 21px;border-radius:25px;font-size:15px;font-weight:700}.button-primary{border:1px solid #f2f2ed;background:transparent;color:#f2f2ed;transition:border-color .2s,background .2s,color .2s,transform .2s,box-shadow .2s}.button-primary:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--accent);color:#090909;box-shadow:0 8px 26px #d7ff362b}.button-primary>span{color:var(--accent);font-size:17px;transition:color .2s}.button-primary:hover>span{color:#090909}.button-secondary{border:1px solid #55554e;background:#10100f;color:#e8e8e2;transition:border-color .2s,background .2s,transform .2s}.button-secondary:hover{transform:translateY(-2px);border-color:var(--accent);background:#171a0d}.button-secondary>span{color:var(--accent)}.text-link{display:inline-flex;align-items:center;gap:7px;color:#e1e1dc;font-size:15px;transition:color .2s}.text-link>span{color:var(--accent);transition:transform .2s}.text-link:hover{color:var(--accent)}.text-link:hover>span{transform:translate(3px,-3px)}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:31px;animation:rise-in .6s 1.34s both}.hero-stats{display:flex;flex-wrap:wrap;gap:20px}.hero-stats>span{display:grid;gap:4px}.hero-stats b{font:500 20px var(--display)}.hero-stats small{color:#b6b6af;font:10px var(--mono);letter-spacing:.055em}.hero-socials{display:flex;gap:7px}.hero-socials a{display:grid;width:39px;height:39px;border:1px solid #54544f;border-radius:5px;background:#111;font:600 13px var(--sans);place-items:center;transition:border-color .2s,background .2s,color .2s,transform .2s}.hero-socials a:hover{transform:translateY(-3px);border-color:var(--accent);background:var(--accent);color:#080808}.hero-visual{position:relative;z-index:1;min-width:0;min-height:590px;isolation:isolate}.visual-glow{position:absolute;top:18%;left:20%;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#d7ff3626,#7e9c1112 42%,transparent 72%);filter:blur(18px);animation:glow-breathe 6s ease-in-out infinite}.visual-orbit{position:absolute;border:1px solid #eeeeee14;border-radius:50%;pointer-events:none}.visual-orbit-outer{top:5%;right:0;bottom:4%;left:2%;transform:rotate(-16deg)}.visual-orbit-inner{top:14%;right:9%;bottom:13%;left:10%;border-color:#d7ff361b;transform:rotate(22deg)}.hero-portrait-wrap{position:absolute;z-index:1;top:13%;left:19%;width:67%;height:75%;overflow:hidden;border-radius:47% 47% 9px 9px;background:radial-gradient(ellipse at 50% 35%,#d7ff3622,transparent 63%);box-shadow:0 30px 70px #000b;animation:portrait-reveal 1s .48s both,portrait-float 8s 1.6s ease-in-out infinite}.hero-portrait-wrap:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#07080700 48%,#0b0b0b5c),linear-gradient(90deg,#0b0b0b2b,transparent 20% 80%,#0b0b0b2b);content:"";pointer-events:none}.hero-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 12%;filter:saturate(.72) contrast(1.06) brightness(.86)}.hero-desk{position:absolute;z-index:2;right:4%;bottom:8%;left:7%;height:17%;pointer-events:none}.hero-desk-surface{position:absolute;right:0;bottom:25%;left:0;height:19%;border:1px solid #b4b0a02b;background:linear-gradient(180deg,#68645582,#1a1a17 70%);box-shadow:0 12px 28px #000b,0 0 22px #d7ff3610;transform:perspective(300px) rotateX(8deg)}.hero-desk-surface:after{position:absolute;top:100%;right:8%;left:8%;height:36px;border-top:1px solid #77736650;background:linear-gradient(90deg,#181816,#30302b 50%,#181816);content:""}.hero-laptop{position:absolute;z-index:1;right:15%;bottom:33%;display:grid;width:30%;height:54%;border:1px solid #9d9d8d;border-radius:5px 5px 2px 2px;background:linear-gradient(145deg,#272823,#0b0c0a 80%);box-shadow:0 0 25px #d7ff3610;place-items:center}.hero-laptop:after{position:absolute;right:-8%;bottom:-9px;left:-8%;height:8px;border:1px solid #999889;border-radius:2px 2px 8px 8px;background:linear-gradient(#6b6a5d,#292925);content:""}.hero-laptop>span{color:#f0f0e8;font:600 17px var(--display);letter-spacing:-.05em}.hero-laptop>span>span{color:var(--accent)}.hero-visual .panel-heading i{width:6px;height:6px;border-radius:50%}.hero-code-card,.hero-terminal-card,.hero-tech-card,.hero-project-card{position:absolute;z-index:3;overflow:hidden;border:1px solid #62625a;border-radius:6px;background:#11120ff2;box-shadow:0 15px 42px #000a,inset 0 1px #ffffff08;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.hero-code-card{top:5%;left:-9%;width:43%;padding:12px 14px 14px;animation:panel-reveal .7s .85s both,panel-float 7s 1.7s ease-in-out infinite}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid #ffffff16;color:#d5d5ce;font:8px var(--mono)}.panel-heading>span{display:flex;align-items:center;gap:7px}.panel-heading>span>i{width:6px;height:6px;background:var(--accent)}.panel-heading>small{color:#9d9d95;font:8px var(--mono)}.hero-code-card pre{margin:11px 0 0;color:#cfcec7;font:9px/1.85 var(--mono)}.hero-code-card pre b{color:#c4e95a;font-weight:500}.hero-code-card pre em{color:#9dcbc7;font-style:normal}.hero-code-card pre strong{color:#e9c16d;font-weight:500}.hero-terminal-card{bottom:19%;left:-3%;width:51%;padding:12px 14px;animation:panel-reveal .7s 1.05s both,panel-float 8s 2.1s ease-in-out infinite reverse}.hero-terminal-card>p{margin:8px 0 0;color:#d1d1ca;font:8px/1.5 var(--mono);white-space:nowrap}.hero-terminal-card>p>i{color:var(--accent);font-style:normal}.hero-terminal-card .terminal-success{color:#d7ff8e}.terminal-success>span{color:#93938b}.terminal-cursor{color:var(--accent);animation:blink-cursor 1s steps(2,start) infinite}.terminal-typing{display:inline-block;overflow:hidden;max-width:0;vertical-align:bottom;animation:terminal-type 1.3s steps(14,end) 1.7s forwards}.hero-tech-card{top:0;right:-3%;width:33%;padding:13px;animation:panel-reveal .7s 1.18s both,panel-float 7.5s 2.4s ease-in-out infinite}.tech-card-label{color:#aaa99f;font:7px var(--mono);letter-spacing:.08em}.tech-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.tech-icons>span{display:grid;min-height:31px;border:1px solid #ffffff18;border-radius:4px;background:#ffffff06;color:#e8e8e0;font:600 12px var(--display);place-items:center;transition:border-color .2s,color .2s,transform .2s}.tech-icons>span:nth-child(2),.tech-icons>span:nth-child(5){color:var(--accent)}.tech-icons>span:hover{transform:translateY(-2px);border-color:var(--accent)}.hero-project-card{right:-1%;bottom:10%;display:flex;width:47%;min-height:96px;align-items:center;gap:11px;padding:9px;color:inherit;transition:border-color .25s,transform .25s,background .25s;animation:panel-reveal .7s 1.34s both,panel-float 8.5s 2.8s ease-in-out infinite reverse}.hero-project-card:hover{transform:translateY(-4px);border-color:var(--accent);background:#181a12f5}.project-preview-art{position:relative;display:grid;width:60px;height:62px;flex:0 0 60px;overflow:hidden;border:1px solid #717165;background:radial-gradient(ellipse at 75% 20%,#d7ff3652,transparent 40%),linear-gradient(140deg,#20221a,#0b0c0a);place-items:center}.project-preview-art>span{color:#eff1e5;font:600 20px var(--display)}.project-preview-art>i{position:absolute;left:8px;width:30px;height:1px;background:#d7ff36a8}.project-preview-art>i:nth-of-type(1){top:10px}.project-preview-art>i:nth-of-type(2){right:5px;bottom:11px;left:auto;width:15px;background:#ffffff78}.project-preview-art>i:nth-of-type(3){bottom:6px}.project-preview-copy{display:grid;min-width:0;gap:4px}.project-preview-copy>small{color:#aeaea5;font:6px var(--mono);letter-spacing:.05em}.project-preview-copy>b{font:500 16px var(--display)}.project-preview-copy>span{color:#bcbcb3;font-size:8px}.project-preview-copy>span>i{margin-left:4px;color:var(--accent);font-style:normal}.hero-orbit-tag{position:absolute;right:10%;bottom:1%;display:flex;align-items:center;gap:8px;color:#9d9d94;font:8px var(--mono);letter-spacing:.09em;animation:rise-in .7s 1.5s both}.hero-orbit-tag>span{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #d7ff36;animation:glow-breathe 2s ease-in-out infinite}@keyframes particle-drift{to{transform:translate(-15px,18px);opacity:.55}}@keyframes glow-breathe{50%{opacity:.55;transform:scale(.96)}}@keyframes blink-cursor{50%{opacity:0}}@keyframes portrait-reveal{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes portrait-float{50%{translate:0 -5px}}@keyframes terminal-type{to{max-width:12ch}}@keyframes panel-reveal{0%{opacity:0;transform:translateY(13px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes panel-float{50%{translate:0 -7px}}.home-marquee{overflow:hidden;padding-block:22px;border-block:1px solid #ffffff20;background:#111}.home-marquee-track{display:flex;width:max-content;animation:marquee-scroll 33s linear infinite}.home-marquee-track>span{flex:0 0 auto;padding-left:30px;color:#e4e4df;font:500 clamp(20px,2.2vw,31px)/1 var(--display);letter-spacing:.035em;white-space:nowrap}.home-marquee-track i{margin-inline:16px;color:var(--accent);font:normal .7em var(--sans)}@keyframes marquee-scroll{to{transform:translate(-50%)}}@keyframes rise-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes title-rise{0%{opacity:0;transform:translateY(104%)}to{opacity:1;transform:translateY(0)}}.home-about{display:grid;grid-template-columns:.86fr 1.14fr;gap:47px;padding-block:48px 54px;border-top:1px solid var(--line)}.home-about-heading{display:flex;align-items:center;justify-content:space-between}.home-about-heading h2{margin:12px 0 13px;font:500 47px/.98 var(--display)}.section-orbit{position:relative;display:grid;width:79px;height:79px;flex:0 0 79px;border-radius:50%;background:#252525;color:#fafaf7;font:500 20px var(--display);place-items:center}.section-orbit:after{position:absolute;top:-11px;right:-11px;bottom:-11px;left:-11px;border:1px solid #31312e;border-radius:50%;content:"";animation:orbit-slow 17s linear infinite}@keyframes orbit-slow{to{transform:rotate(360deg)}}.about-lead{max-width:420px;margin:6px 0 13px;font:500 19px/1.55 var(--sans)}.about-copy-body{max-width:500px;margin:0 0 17px;color:#c1c1ba;font-size:15px;line-height:1.85}.home-about-cards{display:grid;grid-template-columns:1fr 1fr;gap:11px;align-content:center}.about-skill-card{min-height:108px;padding:15px 16px 14px;border:1px solid #565651;border-radius:6px;background:#0d0d0c;transition:transform .22s,border-color .22s,background .22s}.about-skill-card:hover{transform:translateY(-3px);border-color:#a5a59d;background:#141413}.about-skill-card>span{color:#d0d0c9;font:10px var(--mono);letter-spacing:.07em}.about-skill-card h3{margin:7px 0 4px;font:500 19px var(--display)}.about-skill-card p{margin:0;color:#c1c1ba;font-size:13px;line-height:1.6}.eyebrow,.snapshot-label,.project-card-index,.strip-label,.about-skill-card>span{text-transform:uppercase}.section-heading{position:relative;display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:23px}.section-heading h2,.snapshot-copy h2,.experience-preview-heading h2{margin:8px 0 0;font:500 clamp(39px,5vw,57px)/1.08 var(--display);letter-spacing:-.01em}.section-heading h2>span:last-child,.snapshot-copy h2>span,.experience-preview-heading h2>span{color:#a3a39d}.section-heading>.text-link{margin-bottom:6px}.featured{padding-block:37px 64px;border-top:1px solid var(--line)}.project-grid,.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 17px}.project-card-wrap{min-width:0}.project-card{display:block;min-width:0}.project-artwork{position:relative;display:grid;height:272px;overflow:hidden;isolation:isolate;border:1px solid #454541;border-radius:6px;background:radial-gradient(ellipse at 77% 35%,#292927,transparent 49%),#101010;place-items:center;transition:border-color .3s}.artwork-safe-reach{background:radial-gradient(ellipse at 80% 28%,#72726956,transparent 44%),linear-gradient(145deg,#171716,#090909)}.artwork-assessment{background:radial-gradient(ellipse at 20% 75%,#5a5a53a0,transparent 48%),linear-gradient(145deg,#171716,#0a0a0a)}.artwork-deployment{background:radial-gradient(ellipse at 77% 30%,#75756d63,transparent 47%),linear-gradient(145deg,#181817,#0b0b0b)}.project-card:hover .project-artwork{border-color:#deded8}.artwork-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:33px 33px;-webkit-mask-image:radial-gradient(ellipse,#000 8%,transparent 74%);mask-image:radial-gradient(ellipse,#000 8%,transparent 74%)}.product-preview{position:relative;z-index:1;width:75%;min-width:230px;height:194px;overflow:hidden;transform:perspective(700px) rotateY(-7deg) rotate(-2deg) translateY(4px);border:1px solid #b8b8ad88;border-radius:5px;background:#0a0a09ed;box-shadow:0 18px 50px #000d;transition:transform .42s cubic-bezier(.2,.7,.2,1),box-shadow .4s}.project-card:hover .product-preview{transform:perspective(700px) rotateY(-3deg) rotate(-.5deg) translateY(-6px) scale(1.025);box-shadow:0 24px 56px #000e}.artwork-window-top{display:flex;height:29px;align-items:center;gap:5px;padding-inline:11px;border-bottom:1px solid #41413d}.artwork-window-top{position:relative}.artwork-window-top>span{width:6px;height:6px;border:1px solid #b8b8ae;border-radius:50%}.artwork-window-top>span:nth-child(2){background:#e6e6df}.artwork-window-top>span:nth-child(3){background:var(--accent);border-color:var(--accent)}.artwork-window-top b{margin-left:9px;color:#deded8;font:8px var(--mono);font-weight:400}.artwork-window-top small{position:absolute;right:9px;color:#c5c5be;font:6px var(--mono);letter-spacing:.045em}.mock-interface{display:flex;height:calc(100% - 29px)}.mock-sidebar{display:flex;width:48px;flex:0 0 48px;flex-direction:column;align-items:center;gap:15px;padding-top:13px;border-right:1px solid #3d3d38}.mock-sidebar>i{width:14px;height:14px;margin-bottom:3px;border:1px solid var(--accent);border-radius:4px}.mock-sidebar>span{width:19px;height:3px;border-radius:5px;background:#6c6c66}.mock-sidebar>span:nth-of-type(2){background:#aaa9a0}.mock-content{position:relative;flex:1;min-width:0;padding:11px 11px 0}.mock-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px}.mock-heading>span{width:42%;height:6px;border-radius:4px;background:#ededeb}.mock-heading>i{width:20px;height:8px;border-radius:5px;background:var(--accent)}.mock-map{position:relative;height:103px;overflow:hidden;border:1px solid #454541;border-radius:3px;background-color:#171715;background-image:linear-gradient(33deg,transparent 46%,#ffffff15 47% 48%,transparent 49%),linear-gradient(142deg,transparent 28%,#ffffff12 29% 30%,transparent 31%),linear-gradient(90deg,transparent 65%,#ffffff12 66% 67%,transparent 68%),linear-gradient(0deg,transparent 65%,#ffffff12 66% 67%,transparent 68%);background-size:80px 60px,105px 75px,65px 42px,82px 61px}.map-route{position:absolute;top:52%;left:24%;width:51%;height:1px;transform:rotate(-18deg);border-top:2px dashed var(--accent)}.map-pin{position:absolute;z-index:1;display:grid;width:18px;height:18px;border:1px solid var(--accent);border-radius:50%;background:#111;color:var(--accent);font:7px var(--mono);font-style:normal;place-items:center}.map-pin-start{top:56%;left:18%}.map-pin-end{top:31%;right:21%}.mock-status{position:absolute;bottom:7px;left:7px;padding:4px 6px;background:#0b0b0b;color:#e6e6e1;font:6px var(--mono)}.mock-status>i,.mock-deploy>span>i{display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:var(--accent)}.mock-question{display:grid;gap:6px}.mock-question>span{width:68%;height:6px;margin:1px 0 4px;border-radius:5px;background:#d8d8d2}.mock-question>i{height:11px;border:1px solid #4a4a45;border-radius:3px}.mock-question>i:first-of-type{border-color:#cacac1}.mock-question>b{justify-self:end;width:24%;height:12px;border-radius:8px;background:var(--accent)}.mock-question>b>i{display:none}.mock-deploy>span{color:#e5e5de;font:7px var(--mono)}.mock-deploy>div{height:13px;margin-top:7px;border:1px solid #41413c;border-radius:3px}.mock-deploy>div:first-of-type{width:77%;background:linear-gradient(90deg,var(--accent) 65%,transparent 65%)}.mock-deploy>div:nth-of-type(2){width:88%;background:linear-gradient(90deg,#b9b9af 41%,transparent 41%)}.mock-deploy>div:nth-of-type(3){width:62%;background:linear-gradient(90deg,#b9b9af 82%,transparent 82%)}.mock-ui-footer{display:flex;gap:5px;margin-top:7px}.mock-ui-footer>span{width:29px;height:7px;border-radius:2px;background:#54544e}.mock-ui-footer>span:first-child{background:#dadad4}@keyframes blink{to{visibility:hidden}}.artwork-index{position:absolute;z-index:1;bottom:13px;left:13px;color:#d0d0ca;font:8px var(--mono);letter-spacing:.07em}.artwork-orbit{position:absolute;top:-52px;right:-18px;width:180px;height:180px;border:1px solid #ffffff32;border-radius:50%;box-shadow:0 0 0 20px #ffffff09,0 0 0 40px #ffffff05;animation:orbit-slow 34s linear infinite}.artwork-orbit:after{position:absolute;top:29px;left:20px;width:6px;height:6px;border-radius:50%;background:var(--accent);content:"";box-shadow:0 0 10px #d7ff3677}.project-preview-image{position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:2;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:cover}.artwork-large{height:380px}.artwork-large .product-preview{width:67%;min-width:300px;height:70%}.artwork-large .mock-map{height:164px}.artwork-large .mock-sidebar{width:68px;flex-basis:68px;gap:19px;padding-top:19px}.artwork-large .mock-content{padding:17px 18px 0}.artwork-large .mock-question{gap:11px}.artwork-large .mock-question>i{height:20px}.project-info{display:flex;align-items:center;justify-content:space-between;gap:13px;padding-top:14px}.project-card-index{color:#c4c4bd;font:10px var(--mono);letter-spacing:.055em}.project-info h3{margin:8px 0 0;font:500 24px/1.2 var(--display)}.project-info p{max-width:560px;margin:6px 0 0;color:#c1c1ba;font-size:14px;line-height:1.7}.project-arrow{color:var(--accent);font-size:20px;transition:transform .2s}.project-card:hover .project-arrow{transform:translate(4px,-4px)}.project-tags{display:block;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);color:#c0c0b9;font:11px var(--mono)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .63s ease var(--reveal-delay, 0ms),transform .63s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}.home-snapshot{display:grid;grid-template-columns:.96fr 1.04fr;gap:52px;align-items:center;padding-block:45px 55px;border-top:1px solid var(--line)}.snapshot-copy h2,.experience-preview-heading h2{margin-block:11px 13px}.snapshot-copy>p,.experience-preview-heading>p{max-width:520px;margin:0 0 19px;color:#c1c1ba;font-size:15px;line-height:1.85}.snapshot-skills{align-self:center;padding:20px 21px 22px;border:1px solid #585853;border-radius:5px;background:#101010}.snapshot-label{color:#d0d0c9;font:11px var(--mono);letter-spacing:.09em}.skill-pills{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 18px;padding:0;list-style:none}.skill-pills li{padding:9px 12px;border:1px solid #575750;border-radius:2px;color:#ecece6;font:12px var(--mono)}.skill-pills li:hover{border-color:var(--accent)}.experience-preview{display:grid;grid-template-columns:.78fr 1.22fr;gap:48px;padding-block:42px 64px;border-top:1px solid var(--line)}.experience-preview-heading h2{margin-bottom:12px}.experience-preview-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;min-height:74px;border-bottom:1px solid var(--line);color:#efefea;font:500 19px var(--display)}.experience-preview-row:first-child{border-top:1px solid var(--line)}.experience-index{color:var(--accent);font:10px var(--mono)}.experience-kind{max-width:240px;color:#c1c1ba;font:10px/1.6 var(--mono);text-align:right}.home-cta{padding-block:42px 47px;border-top:1px solid var(--line)}.cta-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.cta-row h2{margin:12px 0 10px;font:500 clamp(54px,7vw,86px)/1.02 var(--display)}.cta-row h2 .serif-italic{color:#adada7}.round-link{display:grid;width:49px;height:49px;flex:0 0 49px;border:1px solid #777770;border-radius:50%;color:var(--accent);font-size:20px;place-items:center;transition:background .2s,color .2s,transform .2s}.round-link:hover{transform:translateY(-3px);background:var(--accent);color:#080808}.cta-email{display:inline-block;margin-top:12px;padding-bottom:5px;border-bottom:1px solid #595952;color:#e7e7e1;font:14px var(--mono)}.cta-email>span{margin-left:8px;color:var(--accent)}.site-footer{display:grid;width:100%;max-width:none;gap:28px;padding:35px max(44px,calc((100% - 1240px)/2));border-top:1px solid #ffffff24;background:linear-gradient(115deg,#141414,#0c0c0c 65%)}.footer-main,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-identity{display:flex;align-items:center;gap:35px}.footer-wordmark .wordmark-mark{font-size:32px}.footer-identity>p{margin:0;color:#f0f0eb;font:500 20px/1.3 var(--display)}.footer-identity>p>span{color:#b8b8b1}.footer-connect{display:grid;gap:9px}.footer-connect>a{color:#f0f0eb;font:15px var(--mono)}.footer-connect>a>span{color:var(--accent)}.footer-bottom{padding-top:19px;border-top:1px solid #ffffff1b}.footer-bottom>p{margin:0;color:#c9c9c2;font-size:12px}.footer-bottom>p>span{color:#a9a9a2}.footer-links{display:flex;flex-wrap:wrap;gap:22px;color:#d2d2cc;font:11px var(--mono)}.footer-links a{transition:color .2s}.footer-links a:hover{color:var(--accent)}.page-intro{display:flex;min-height:315px;align-items:center;justify-content:space-between;gap:28px;padding-block:70px 45px}.page-intro-copy{position:relative;z-index:1}.page-intro h1{margin:15px 0 12px;font:500 clamp(64px,8vw,104px)/1.04 var(--display);letter-spacing:-.015em}.page-intro h1 .serif-italic{color:#b4b4ae}.page-lede{max-width:740px;margin:0;color:#c8c8c2;font-size:16px;line-height:1.85}.page-intro-mark{position:relative;display:grid;width:clamp(110px,16vw,186px);height:clamp(110px,16vw,186px);flex:0 0 auto;border-radius:50%;background:#202020;color:#e7e7e2;font:500 clamp(41px,6vw,67px) var(--display);place-items:center}.page-intro-mark:after{position:absolute;top:13px;right:13px;bottom:13px;left:13px;border:1px solid #ffffff15;border-radius:50%;content:"";animation:orbit-slow 30s linear infinite}.page-intro-mark:before{position:absolute;top:20px;left:33px;width:7px;height:7px;border-radius:50%;background:var(--accent);content:"";box-shadow:0 0 11px #d7ff366f}.about-body{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(44px,8vw,95px);padding-block:6px 79px}.about-aside>.eyebrow{margin-bottom:15px}.identity-art{position:relative;display:grid;width:100%;max-width:320px;height:228px;overflow:hidden;border:1px solid #52524d;border-radius:5px;background:radial-gradient(circle at 52% 46%,#40403a,transparent 56%),#111;place-items:center}.identity-art>span{z-index:1;font:600 91px/.8 var(--display);letter-spacing:-.07em}.identity-art>span>span{color:var(--accent)}.identity-art small{position:absolute;bottom:13px;color:#d0d0c9;font:10px var(--mono)}.identity-orbit{position:absolute;width:172px;height:172px;border:1px solid #a7a79f4f;border-radius:50%;box-shadow:0 0 0 18px #ffffff07;animation:orbit-slow 40s linear infinite}.identity-orbit:before{position:absolute;top:27px;left:15px;width:7px;height:7px;border-radius:50%;background:var(--accent);content:""}.aside-note{margin-top:12px;color:#aaa9a2;font:italic 14px/1.65 var(--serif)}.about-copy{padding-top:31px}.about-copy .about-lead{max-width:610px;margin:0 0 16px;font-size:22px}.about-copy>p:not(.about-lead){color:#c1c1ba;font-size:15px;line-height:1.9}.principles{margin-top:28px;border-top:1px solid var(--line)}.principles>div{display:grid;grid-template-columns:35px 1fr;gap:11px;padding:15px 0;border-bottom:1px solid var(--line)}.principles>div>span{padding-top:4px;color:var(--accent);font:10px var(--mono)}.principles h3{margin:0;font:500 19px var(--display)}.principles p{margin:6px 0 0;color:#c1c1ba;font-size:14px;line-height:1.75}.work-hero{padding-bottom:34px}.work-grid{padding-bottom:75px}.project-detail-hero{display:block;padding-block:42px 25px}.back-link{display:inline-block;margin-bottom:25px;color:#c5c5bf;font:12px var(--mono);transition:color .2s}.back-link:hover{color:var(--accent)}.project-detail-hero h1{margin:11px 0;font:500 clamp(54px,7.6vw,83px)/1.08 var(--display)}.project-detail-hero>.page-lede{margin-bottom:20px}.project-detail-body{display:grid;grid-template-columns:1fr .85fr;gap:66px;padding-block:30px 72px}.project-detail-copy>.about-lead{margin-top:12px;font-size:21px}.project-detail-copy>p:not(.about-lead){color:#c1c1ba;font-size:15px;line-height:1.8}.project-detail-links{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:20px}.project-detail-aside{display:grid;align-content:start;gap:20px}.project-detail-aside .skill-pills{margin-bottom:0}.detail-list{display:grid;gap:8px;margin:10px 0 0;padding:0 0 0 17px;color:#b8b8b1;font-size:12px;line-height:1.7}.detail-list li::marker{color:var(--accent)}.experience-page-section{display:grid;grid-template-columns:.58fr 1.42fr;gap:46px;padding-block:7px 46px}.experience-total{align-self:start;padding-top:12px}.experience-total-number{display:block;color:var(--ink);font:500 75px/.94 var(--display);letter-spacing:-.035em}.experience-total-copy{display:block;margin-top:9px;color:#c4c4bd;font:10px/1.8 var(--mono)}.experience-total>p{max-width:250px;margin-top:13px;color:#a9a9a2;font-size:11px;line-height:1.7}.experience-entry{position:relative;display:grid;grid-template-columns:45px 1fr 30px;gap:11px;align-items:start;padding-block:19px;border-top:1px solid var(--line)}.experience-entry:last-child{border-bottom:1px solid var(--line)}.experience-entry h2{margin:6px 0;font:500 25px var(--display)}.experience-entry>div>p{margin:0;color:#c1c1ba;font-size:14px;line-height:1.8}.experience-resume-link{align-self:center;color:var(--accent);font-size:20px}.experience-note{display:grid;grid-template-columns:.7fr 1.3fr;gap:10px 42px;align-items:start;padding-block:24px 55px;border-top:1px solid var(--line)}.experience-note>p{max-width:610px;margin:0;color:#b8b8b1;font-size:13px;line-height:1.8}.experience-note>.text-link{grid-column:2}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px;padding-block:7px 35px}.skill-group{min-height:128px;padding:18px 0 15px;border-top:1px solid var(--line)}.skill-group-heading{display:flex;align-items:center;gap:12px}.skill-number{color:var(--accent);font:10px var(--mono)}.skill-group-heading>div{flex:1}.skill-group-heading h2{margin:0;font:500 22px var(--display)}.skill-group-heading>div>span{display:block;margin-top:4px;color:#c1c1ba;font:10px var(--mono);letter-spacing:.07em}.skill-plus{color:var(--accent);font:22px var(--sans)}.skill-group>.skill-pills{margin:13px 0 0 28px}.skills-footnote,.milestones-note{display:grid;grid-template-columns:.7fr 1.3fr;gap:11px 42px;padding-block:25px 61px;border-top:1px solid var(--line)}.skills-footnote>p,.milestones-note>p{max-width:630px;margin:0;color:#b4b4ad;font-size:12px;line-height:1.8}.quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:41px;align-items:start;padding-block:6px 66px}.quality-principle{display:grid;grid-template-columns:35px 1fr;gap:12px;padding-block:15px;border-top:1px solid var(--line)}.quality-principle>span{padding-top:4px;color:var(--accent);font:10px var(--mono)}.quality-principle h2{margin:0;font:500 19px var(--display)}.quality-principle p{margin:5px 0 0;color:#c1c1ba;font-size:14px;line-height:1.8}.quality-disclaimer{margin:13px 0 0;color:#ababaa;font-size:10px;line-height:1.7}.test-console{overflow:hidden;border:1px solid #71716a;border-radius:6px;background:#0d0d0c;box-shadow:0 22px 50px #0006}.test-console-header{display:flex;min-height:47px;align-items:center;justify-content:space-between;gap:10px;padding-inline:14px;border-bottom:1px solid #3a3a34;color:#e6e6e0;font:9px var(--mono)}.test-console-header>span:first-child{display:flex;align-items:center;gap:7px}.test-console-header i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px #d7ff366b}.demo-badge{padding:5px 8px;border:1px solid #77776f;color:var(--accent);font-size:8px}.test-tabs{display:flex;overflow-x:auto;gap:4px;padding:9px 12px 0;border-bottom:1px solid #33332e}.test-tabs button{flex:0 0 auto;padding:10px 9px;border:0;border-bottom:2px solid transparent;background:transparent;color:#b0b0aa;cursor:pointer;font:9px var(--mono);transition:color .2s,border-color .2s}.test-tabs button:hover,.test-tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:#fff}.test-case-panel{min-height:206px;padding:16px}.test-request-line{display:flex;gap:12px;align-items:center;margin-bottom:15px;color:#eee;font:11px var(--mono)}.test-request-line>span{color:var(--accent);font-size:9px}.test-case-row{display:grid;grid-template-columns:76px 1fr;gap:11px;padding-block:11px;border-top:1px solid #30302b}.test-case-row>span{color:#c1c1b9;font:10px var(--mono)}.test-case-row>strong{color:#e8e8e2;font-size:13px;font-weight:500;line-height:1.6}.test-result{display:flex;align-items:flex-start;gap:8px;margin-top:11px;color:#c1c1b9;font-size:11px;line-height:1.7}.test-result-dot{width:6px;height:6px;flex:0 0 6px;margin-top:3px;border-radius:50%;background:var(--accent)}.test-console-foot{margin:0;padding:11px 15px;border-top:1px solid #33332e;color:#c0c0b9;font:10px/1.7 var(--mono)}.education-detail{display:grid;grid-template-columns:43px 1fr .72fr;gap:33px;align-items:center;padding-block:9px 75px}.education-year{position:relative;display:grid;height:244px;justify-items:center}.education-year>span{z-index:1;display:grid;width:36px;height:36px;border:1px solid #b8b8b0;border-radius:50%;color:var(--accent);font:10px var(--mono);place-items:center}.education-year>i{position:absolute;top:36px;bottom:0;width:1px;background:linear-gradient(#e1e1dc,transparent)}.education-content h2{margin:12px 0;font:500 clamp(34px,4.3vw,49px)/1.15 var(--display)}.education-content h2 .serif-italic{color:#bcbcb5}.education-content>p:not(.eyebrow){max-width:600px;color:#c1c1ba;font-size:14px;line-height:1.8}.education-location{color:var(--accent)!important}.education-content .education-note{color:#b0b0a9!important;font-size:10px!important}.education-visual{position:relative;display:grid;height:245px;overflow:hidden;border:1px solid #62625c;border-radius:6px;background:radial-gradient(circle at center,#383833,transparent 67%),#101010;place-items:center}.education-visual>span{z-index:1;text-align:center;font:500 38px/.9 var(--display)}.education-visual>span>i{color:var(--accent);font:22px var(--sans);font-style:normal}.education-visual>small{position:absolute;bottom:13px;color:#c0c0b8;font:8px var(--mono)}.education-orbit{position:absolute;width:165px;height:165px;border:1px dashed #acaca39c;border-radius:50%;animation:orbit-slow 34s linear infinite}.education-orbit:after{position:absolute;top:22px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--accent);content:""}.milestones-list{padding-block:6px 38px}.milestone-row{display:grid;grid-template-columns:43px .82fr 1.18fr 20px;gap:15px;align-items:start;padding-block:19px;border-top:1px solid var(--line)}.milestone-row:last-child{border-bottom:1px solid var(--line)}.milestone-number{padding-top:4px;color:var(--accent);font:10px var(--mono)}.milestone-row h2{margin:0;font:500 20px/1.4 var(--display)}.milestone-row p{margin:1px 0 0;color:#c1c1ba;font-size:14px;line-height:1.75}.milestone-mark{color:var(--accent);font-size:17px}.milestones-note>.text-link{grid-column:2}.contact-page{padding-bottom:20px}.contact-intro{padding-bottom:32px}.contact-body{display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:center;padding-bottom:60px}.contact-email{display:inline-block;max-width:100%;margin-top:12px;padding-bottom:8px;border-bottom:1px solid #85857e;color:#f1f1eb;font:clamp(15px,2vw,21px) var(--mono);overflow-wrap:anywhere}.contact-email>span{margin-left:7px;color:var(--accent)}.contact-note{max-width:480px;margin-top:17px;color:#c1c1ba;font-size:14px;line-height:1.8}.contact-card{padding:20px 22px 15px;border:1px solid #696962;border-radius:6px;background:#101010}.contact-card>.eyebrow{margin-bottom:12px}.contact-card-link{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:13px;border-top:1px solid #3a3a35;color:#e2e2dc;font:17px var(--display);transition:color .2s}.contact-card-link:hover{color:var(--accent)}.contact-card-link small{margin-right:13px;color:#c2c2bb;font:9px var(--mono)}.contact-card-link>span:last-child{color:var(--accent);font:17px var(--sans)}.contact-card-footer{margin:9px 0 0;padding-top:12px;border-top:1px solid #3a3a35;color:#b8b8b1;font:9px var(--mono)}.contact-card-footer .status-dot{width:6px;height:6px}@media(max-width:1020px){.site-header{position:sticky}.menu-toggle{display:flex;width:41px;height:40px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #767670;border-radius:22px;background:#111;cursor:pointer}.menu-toggle span{width:16px;height:1px;transform-origin:center;background:#f1f1eb;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.nav-links{position:absolute;top:calc(100% - 1px);right:0;left:0;display:none;align-items:stretch;gap:0;padding:12px 29px 21px;border-bottom:1px solid #686862;background:#0c0c0cfa;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-links.is-open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:26px}.nav-links a{padding-block:13px;border-bottom:1px solid #ffffff12;font-size:15px}.nav-links a:after{bottom:0}}@media(max-width:1210px){.frame-annotation{display:none}}@media(max-width:930px){.portfolio-frame{width:calc(100% - 24px);margin-block:12px 24px}.portfolio-frame:before,.portfolio-frame:after{right:-95px}.page-shell{width:calc(100% - 80px)}.site-header{min-height:79px;padding-inline:29px}.nav-links{gap:15px}.nav-links a{font-size:15px}.nav-links .nav-cta{padding:10px 14px;font-size:11px}.hero{grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:22px;min-height:625px;padding-block:39px 45px}.hero-headline{font-size:clamp(48px,5.5vw,63px)}.hero-description{font-size:15px}.hero-visual{min-height:500px}.hero-code-card,.hero-terminal-card{left:-1%}.hero-project-card{width:49%}.hero-stats{gap:13px}.hero-stats small{font-size:7px}.hero-socials a{width:31px;height:31px}.home-about{grid-template-columns:.88fr 1.12fr;gap:27px}.about-skill-card{min-height:116px;padding-inline:12px}.about-skill-card p{font-size:10px}.experience-preview{gap:27px}.quality-grid{gap:25px}.education-detail{grid-template-columns:36px 1fr .68fr;gap:20px}.contact-body{gap:35px}}@media(max-width:720px){html{scroll-padding-top:78px}.portfolio-frame{width:calc(100% - 16px);margin:8px auto 16px;border-radius:10px}.portfolio-frame:before,.portfolio-frame:after{right:-32px;opacity:.6}.portfolio-frame:before{width:230px;height:230px}.portfolio-frame:after{top:480px;width:170px;height:170px}.page-shell{width:calc(100% - 32px)}.site-header{min-height:68px;padding-inline:19px;border-radius:9px 9px 0 0}.wordmark-label{font-size:8px}.menu-toggle{display:flex;width:39px;height:38px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #767670;border-radius:22px;background:#111;cursor:pointer}.menu-toggle span{width:15px;height:1px;transform-origin:center;background:#f1f1eb;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.nav-links{position:absolute;top:calc(100% - 1px);right:0;left:0;display:none;align-items:stretch;gap:0;padding:10px 19px 18px;border-bottom:1px solid #686862;border-radius:0 0 9px 9px;background:#0c0c0cfa}.nav-links.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:19px}.nav-links a{padding-block:12px;border-bottom:1px solid #ffffff12;font-size:14px}.nav-links a:after{bottom:0}.nav-links .nav-cta{margin-top:5px;border:0;border-radius:0;background:none;color:#f4f4ef;text-align:left}.nav-links .nav-cta:hover,.nav-links .nav-cta.active{background:none;color:var(--accent)}.hero{grid-template-columns:minmax(0,1fr);gap:8px;min-height:0;padding-block:34px 30px}.hero-copy{padding:0}.hero-eyebrow{max-width:100%;font-size:9px;letter-spacing:.07em}.hero-eyebrow .status-dot{width:6px;height:6px;margin-right:4px}.hero-eyebrow .eyebrow-year{display:inline}.hero-headline{margin:16px 0 13px;font-size:clamp(42px,10.5vw,67px)}.hero-description{font-size:14px;line-height:1.7}.hero-actions{gap:11px;margin-top:15px}.button{min-height:42px;gap:7px;padding-inline:12px;font-size:12px}.hero-actions .text-link{font-size:12px}.hero-visual{min-height:clamp(350px,98vw,470px);margin-top:7px}.hero-portrait-wrap{top:14%;left:20%;width:64%;height:73%}.hero-desk{right:4%;bottom:8%;left:4%;height:16%}.hero-laptop{right:13%;width:31%}.hero-code-card{top:4%;left:-2%;width:46%;padding:9px 10px}.hero-code-card pre{margin-top:7px;font-size:7px}.hero-terminal-card{bottom:17%;left:0;width:53%;padding:9px 10px}.hero-terminal-card>p{font-size:7px}.hero-tech-card{top:1%;right:-1%;width:36%;padding:9px}.tech-icons{gap:4px;margin-top:7px}.tech-icons>span{min-height:25px;font-size:10px}.hero-project-card{right:0;bottom:9%;width:47%;min-height:80px;gap:7px;padding:6px}.project-preview-art{width:45px;height:51px;flex-basis:45px}.project-preview-copy>b{font-size:13px}.project-preview-copy>span{font-size:7px}.hero-orbit-tag{right:5%;bottom:1%;font-size:7px}.hero-bottom{display:flex;margin-top:20px}.hero-stats{gap:12px}.hero-stats b{font-size:14px}.hero-stats small{max-width:108px;font-size:8px;line-height:1.4}.hero-socials{gap:5px;margin-top:9px}.hero-socials a{width:30px;height:30px;font-size:10px}.home-about{grid-template-columns:1fr;gap:20px;padding-block:29px 36px}.home-about-heading h2{font-size:43px}.section-orbit{width:62px;height:62px;flex-basis:62px;font-size:17px}.about-lead{font-size:16px}.about-copy-body{font-size:14px}.home-about-cards{gap:8px}.about-skill-card{min-height:98px;padding:11px}.about-skill-card>span{font-size:8px}.about-skill-card h3{font-size:16px}.about-skill-card p{font-size:11px}.featured{padding-block:29px 43px}.section-heading{align-items:end;gap:9px;margin-bottom:18px}.section-heading .eyebrow{font-size:9px}.section-heading h2{font-size:38px}.section-heading>.text-link{gap:3px;margin-bottom:5px;font-size:12px;white-space:nowrap}.project-grid,.work-grid{grid-template-columns:1fr;gap:24px}.project-artwork{height:225px}.product-preview{width:84%;min-width:205px;height:183px}.mock-sidebar{width:40px;flex-basis:40px;gap:13px}.project-info h3{font-size:23px}.project-info p{font-size:12px}.home-snapshot{grid-template-columns:1fr;gap:19px;padding-block:29px 39px}.section-heading h2,.snapshot-copy h2,.experience-preview-heading h2{font-size:39px}.snapshot-copy>p,.experience-preview-heading>p{font-size:14px}.snapshot-skills{padding:15px}.skill-pills{gap:6px}.skill-pills li{padding:8px 9px;font-size:11px}.experience-preview{grid-template-columns:1fr;gap:17px;padding-block:29px 41px}.experience-preview-row{grid-template-columns:29px 1fr auto;gap:7px;min-height:62px;font-size:17px}.experience-kind{max-width:128px;font-size:7px}.home-cta{padding-block:30px 36px}.cta-row h2{font-size:clamp(41px,10vw,55px)}.round-link{width:41px;height:41px;flex-basis:41px}.site-footer{gap:20px;padding:24px 19px}.footer-main,.footer-bottom{align-items:flex-start;flex-direction:column;gap:18px}.footer-identity{align-items:flex-start;gap:19px}.footer-identity>p{font-size:17px}.footer-connect>a{font-size:13px;overflow-wrap:anywhere}.footer-bottom{gap:14px}.footer-bottom>p{font-size:11px}.footer-links{gap:12px;font-size:10px}.page-intro{min-height:205px;gap:9px;padding-block:40px 29px}.page-intro .eyebrow{font-size:9px;letter-spacing:.085em}.page-intro h1{margin-block:12px 8px;font-size:clamp(45px,11vw,69px)}.page-lede{font-size:14px;line-height:1.72}.page-intro-mark{width:71px;height:71px;margin-top:14px;font-size:26px}.page-intro-mark:after{top:7px;right:7px;bottom:7px;left:7px}.page-intro-mark:before{top:12px;left:18px;width:6px;height:6px}.about-body{grid-template-columns:1fr;gap:14px;padding-bottom:49px}.identity-art{max-width:none;height:176px}.about-copy{padding-top:7px}.about-copy .about-lead{font-size:18px}.about-copy>p:not(.about-lead){font-size:14px}.principles h3{font-size:16px}.principles p{font-size:11px}.work-hero{padding-bottom:23px}.work-grid{padding-bottom:49px}.project-detail-hero{padding-block:28px 19px}.back-link{margin-bottom:20px;font-size:11px}.project-detail-hero h1{font-size:54px}.artwork-large{height:245px}.artwork-large .product-preview{width:90%;min-width:0;height:76%}.artwork-large .mock-sidebar{width:42px;flex-basis:42px;gap:13px}.artwork-large .mock-content{padding:10px 8px 0}.artwork-large .mock-map{height:103px}.project-detail-body{grid-template-columns:1fr;gap:28px;padding-block:23px 48px}.project-detail-copy>.about-lead{font-size:17px}.project-detail-copy>p:not(.about-lead){font-size:12px}.experience-page-section{grid-template-columns:1fr;gap:17px;padding-bottom:29px}.experience-total{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.experience-total-number{grid-row:span 2;font-size:55px}.experience-total-copy{margin:0;font-size:9px}.experience-total>p{grid-column:1 / -1;max-width:420px;margin:9px 0 0}.experience-entry{grid-template-columns:30px 1fr 22px;gap:8px}.experience-entry h2{font-size:22px}.experience-entry>div>.eyebrow{font-size:9px}.experience-entry>div>p{font-size:13px}.experience-note,.skills-footnote,.milestones-note{grid-template-columns:1fr;gap:9px;padding-block:19px 43px}.experience-note>p,.skills-footnote>p,.milestones-note>p{font-size:12px}.experience-note>.text-link,.milestones-note>.text-link{grid-column:1}.skills-grid{grid-template-columns:1fr;padding-bottom:24px}.skill-group{min-height:auto;padding-block:14px 12px}.skill-group-heading h2{font-size:20px}.skill-group>.skill-pills{margin:11px 0 0 26px}.quality-grid{grid-template-columns:1fr;gap:22px;padding-bottom:43px}.quality-principle h2{font-size:18px}.quality-principle p{font-size:13px}.test-tabs button{padding-inline:8px;font-size:8px}.test-case-panel{min-height:186px}.education-detail{grid-template-columns:28px 1fr;gap:14px;align-items:start;padding-bottom:47px}.education-year{height:196px}.education-content h2{font-size:clamp(29px,8vw,39px)}.education-content>p:not(.eyebrow){font-size:13px}.education-visual{grid-column:2;height:172px}.milestones-list{padding-bottom:23px}.milestone-row{grid-template-columns:29px 1fr 17px;gap:7px 11px;padding-block:15px}.milestone-row h2{font-size:17px}.milestone-row p{grid-column:2;font-size:13px}.milestone-mark{grid-column:3;grid-row:1}.contact-page{padding-bottom:0}.contact-intro{padding-bottom:23px}.contact-body{grid-template-columns:1fr;gap:23px;padding-bottom:43px}.contact-email{font-size:clamp(13px,4vw,18px)}.contact-card{padding:17px}.contact-card-link{min-height:49px;font-size:16px}}@media(max-width:390px){.portfolio-frame{width:calc(100% - 10px)}.page-shell{width:calc(100% - 28px)}.site-header{padding-inline:14px}.hero-headline{font-size:clamp(38px,10.2vw,43px)}.hero-eyebrow{font-size:8px}.hero-description{font-size:13px}.hero-actions{gap:8px}.hero-actions .button{padding-inline:9px;font-size:10px}.hero-actions .text-link{font-size:10px}.hero-visual{min-height:335px}.hero-portrait-wrap{left:21%;width:63%}.hero-code-card{width:52%}.hero-terminal-card{width:56%}.hero-tech-card{width:37%}.hero-project-card{width:45%}.tech-card-label{font-size:6px}.project-preview-copy>small{font-size:5px}.project-preview-art{width:39px;height:46px;flex-basis:39px}.hero-stats{gap:7px}.hero-stats small{max-width:69px;font-size:7px}.hero-socials a{width:25px;height:25px;font-size:9px}.cta-row{gap:10px}.cta-row h2{min-width:0;font-size:clamp(32px,9.2vw,37px);overflow-wrap:anywhere}.round-link{width:35px;height:35px;flex-basis:35px}.about-skill-card{min-height:105px;padding:9px}.about-skill-card>span{font-size:7px}.section-heading>.text-link{font-size:10px}.footer-links{gap:11px;font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
