:root{--ink:#0b0b0d;--paper:#f4f3ef;--white:#fff;--accent:#2f84b6;--accent-soft:#a5d8ee;--line:#0b0b0d24;--muted:#666663;--radius:36px}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}main{overflow:hidden}::selection{background:var(--accent);color:var(--white)}.motion-layer{z-index:999;pointer-events:none;position:fixed;inset:0;overflow:hidden}.pointer-glow{opacity:0;mix-blend-mode:multiply;background:radial-gradient(circle,#4eb2e124,#4eb2e100 68%);border-radius:50%;width:520px;height:520px;transition:opacity .5s;position:absolute;top:-260px;left:-260px}.motion-cursor{opacity:0;border:1px solid #2f84b6cc;border-radius:50%;width:10px;height:10px;transition:width .18s,height .18s,opacity .3s;position:absolute;top:-5px;left:-5px}.has-pointer .pointer-glow,.has-pointer .motion-cursor{opacity:1}.scroll-progress{background:#2f84b626;border-radius:999px;width:2px;height:min(180px,24vh);position:absolute;top:50%;right:14px;overflow:hidden;transform:translateY(-50%)}.scroll-progress span{border-radius:inherit;background:var(--accent);width:100%;height:100%;transform:scaleY(var(--scroll-progress,0));transform-origin:top;display:block}a{color:inherit;text-decoration:none}.hero{background:var(--white);min-height:100svh;padding:32px clamp(24px,5vw,80px) 0;position:relative}.hero:before{content:"";opacity:.65;pointer-events:none;background-image:linear-gradient(#0b0b0d09 1px,#0000 1px),linear-gradient(90deg,#0b0b0d09 1px,#0000 1px);background-size:54px 54px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}.pill-nav{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd1;border:1px solid #0b0b0d14;border-radius:999px;justify-content:space-between;align-items:center;width:min(680px,100% - 48px);padding:8px 10px;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .3s;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #0a0a0a17}.pill-nav:hover{transform:translate(-50%)translateY(-2px);box-shadow:0 18px 50px #0a0a0a24}.brand{background:var(--ink);width:48px;height:48px;color:var(--white);letter-spacing:-.04em;border-radius:50%;place-items:center;font-size:13px;font-weight:800;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s;display:grid}.brand:hover{background:var(--accent);transform:rotate(-8deg)scale(1.08)}.nav-links{gap:4px;padding:0 8px;font-size:13px;font-weight:700;display:flex}.nav-links a{border-radius:999px;padding:11px 14px;transition:background .18s,color .18s,opacity .18s}.nav-links a:hover{background:#0b0b0d12}.nav-links a.active{background:var(--ink);color:var(--white)}.nav-links a.active:hover{opacity:.86;background:var(--ink)}.hero-copy{z-index:2;text-align:center;width:min(1100px,100%);margin:clamp(80px,12vh,140px) auto 0;position:relative}.kicker,.section-label{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.kicker span{color:var(--accent);margin:0 8px}.hero h1{letter-spacing:-.075em;margin:28px 0 24px;font-size:clamp(48px,7.5vw,112px);line-height:.94}.hero h1 span{color:var(--accent)}.intro{width:min(620px,100%);color:var(--muted);margin:0 auto;font-size:clamp(17px,1.5vw,21px);line-height:1.55}.round-link{border:1px solid var(--line);border-radius:999px;align-items:center;gap:18px;margin-top:36px;padding:8px 9px 8px 20px;font-size:13px;font-weight:700;transition:transform .26s cubic-bezier(.2,.8,.2,1),border-color .26s,background .26s;display:inline-flex}.round-link:hover{border-color:var(--ink);background:var(--ink);color:var(--white);transform:translateY(-4px)}.round-link b{background:var(--ink);width:42px;height:42px;color:var(--white);border-radius:50%;place-items:center;font-size:18px;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:grid}.round-link:hover b{background:var(--accent);transform:rotate(45deg)}.portrait-stage{height:clamp(330px,60vw,640px);margin:52px auto 0;position:relative;overflow:hidden}.portrait-stage:before,.portrait-stage:after{aspect-ratio:1;content:"";pointer-events:none;border:1px solid #2f84b638;border-radius:50%;position:absolute;left:50%}.portrait-stage:before{width:min(670px,82vw);top:12%;transform:translate(-50%)}.portrait-stage:after{border-style:dashed;width:min(430px,54vw);animation:26s linear infinite portrait-ring;top:29%}.portrait-frame{width:min(760px,96vw);height:100%;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(-50%)}.portrait-frame img{width:100%;height:auto;transform:translateY(calc(-2% + var(--portrait-shift,0px)));filter:grayscale()contrast(1.04);will-change:transform;transition:filter .8s;display:block}.portrait-frame:hover img{filter:grayscale(.15)contrast(1.02)}.scroll-cue{z-index:3;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;transform-origin:100% 100%;align-items:center;gap:13px;margin:0;font-size:10px;font-weight:800;display:flex;position:absolute;bottom:42px;right:clamp(4px,4vw,68px);transform:rotate(90deg)}.scroll-cue i{background:var(--line);width:42px;height:1px;display:block;overflow:hidden}.scroll-cue i:after{background:var(--accent);content:"";width:55%;height:100%;animation:1.8s ease-in-out infinite scroll-cue;display:block}.manifesto,.experience,.toolkit,.certifications,.education{grid-template-columns:minmax(150px,.45fr) minmax(0,1.55fr);gap:clamp(40px,9vw,160px);padding:clamp(90px,12vw,180px) clamp(24px,7vw,110px);display:grid}.manifesto{background:var(--ink);color:var(--white)}.manifesto-aside{flex-direction:column;justify-content:space-between;min-height:510px;display:flex}.dev-orbit{aspect-ratio:1;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:clamp(190px,18vw,290px);display:grid;position:relative}.dev-orbit:before{border-radius:inherit;content:"";border:1px solid #a5d8ee61;position:absolute;inset:16%}.dev-orbit:after{aspect-ratio:1;border:4px solid var(--ink);background:var(--accent-soft);content:"";border-radius:50%;width:14px;animation:6s ease-in-out infinite orbit-dot;position:absolute;top:9%;right:18%;box-shadow:0 0 0 1px #a5d8ee5c}.dev-orbit span{z-index:1;aspect-ratio:1;background:var(--accent);width:clamp(88px,8vw,120px);color:var(--white);letter-spacing:-.14em;border-radius:50%;place-items:center;padding-right:.14em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(23px,2.5vw,36px);font-weight:700;line-height:1;animation:4s ease-in-out infinite code-pulse;display:grid;position:relative;box-shadow:0 18px 44px #2f84b652}.manifesto h2,.section-heading h2,.education h2{letter-spacing:-.06em;margin:0;font-size:clamp(40px,5.7vw,86px);line-height:1}.manifesto-copy>p{color:#aaa9a5;width:min(710px,100%);margin:46px 0 0 auto;font-size:clamp(18px,1.7vw,24px);line-height:1.55}.highlights{background:var(--ink);color:var(--white);grid-template-columns:repeat(4,1fr);display:grid}.highlights article{border-top:1px solid #ffffff29;border-right:1px solid #ffffff29;min-height:260px;padding:40px}.highlights strong{color:var(--accent-soft);letter-spacing:-.07em;font-size:clamp(54px,6vw,90px);display:block}.highlights span{color:#bcbcb8;max-width:170px;margin-top:54px;font-size:14px;line-height:1.4;display:block}.current-focus{background:var(--paper);padding:clamp(24px,4vw,64px) clamp(24px,7vw,110px)}.focus-card{border-radius:var(--radius);min-height:620px;color:var(--white);transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;will-change:transform;background:radial-gradient(circle at 82% 28%,#429dca6b,#0000 28%),linear-gradient(135deg,#0b0b0d 35%,#24566f 100%);grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);padding:clamp(38px,6vw,90px);transition:transform .24s ease-out,box-shadow .3s;display:grid;position:relative;overflow:hidden}.focus-card:after{background:radial-gradient(circle at var(--card-x,78%) var(--card-y,26%), #ffffff2b, transparent 30%);content:"";pointer-events:none;position:absolute;inset:0}.focus-card:hover{box-shadow:0 32px 80px #13364e33}.focus-copy{z-index:2;align-self:center;position:relative}.focus-copy h2{letter-spacing:-.07em;max-width:860px;margin:38px 0 28px;font-size:clamp(48px,6.4vw,96px);line-height:.94}.focus-copy>p:not(.section-label){color:#b9bfd6;max-width:680px;font-size:clamp(17px,1.5vw,21px);line-height:1.55}.focus-tags{flex-wrap:wrap;gap:9px;margin-top:40px;display:flex}.focus-tags span{border:1px solid #ffffff59;border-radius:999px;padding:11px 15px;font-size:12px;font-weight:700}.focus-visual{min-height:360px;position:relative}.focus-visual:before,.focus-visual:after{content:"";border:1px solid #ffffff2e;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.focus-visual:before{width:360px;height:360px;animation:16s linear infinite focus-ring}.focus-visual:after{width:230px;height:230px;animation:11s linear infinite reverse focus-ring}.agent-node{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#11193bc7;border:1px solid #ffffff73;border-radius:50%;place-items:center;width:66px;height:66px;font-size:12px;font-weight:800;display:grid;position:absolute;box-shadow:0 18px 50px #00000047}.agent-node-main{background:var(--accent);border-color:#93a4ff;width:104px;height:104px;font-size:24px;top:50%;left:50%;transform:translate(-50%,-50%)}.agent-node-one{animation:4.4s ease-in-out infinite agent-float;top:12%;left:48%}.agent-node-two{animation:5.2s ease-in-out -1.3s infinite agent-float;bottom:20%;right:4%}.agent-node-three{animation:4.8s ease-in-out -2.4s infinite agent-float;bottom:10%;left:8%}.work{padding:clamp(90px,12vw,180px) clamp(24px,7vw,110px)}.section-heading{grid-template-columns:minmax(150px,.45fr) minmax(0,1.55fr);gap:clamp(40px,9vw,160px);margin-bottom:72px;display:grid}.section-heading>p:last-child{width:min(520px,100%);color:var(--muted);grid-column:2;margin:-24px 0 0;font-size:18px;line-height:1.5}.project-list{grid-template-columns:1fr 1fr;gap:24px;display:grid}.project-card{border-radius:var(--radius);min-height:650px;color:var(--white);transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;will-change:transform;padding:clamp(28px,4vw,56px);transition:transform .24s ease-out,box-shadow .3s;position:relative;overflow:hidden}.project-card:after{z-index:1;background:radial-gradient(circle at var(--card-x,50%) var(--card-y,50%), #fff3, transparent 32%);content:"";opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.project-card:hover{z-index:2;box-shadow:0 34px 80px #0b0b0d2e}.project-card:hover:after{opacity:1}.project-blue{background:var(--accent)}.project-ink{background:#151515}.project-sand{color:var(--ink);background:#ded4c2}.project-lime{color:var(--ink);background:#e2d58b}.project-topline,.project-footer{z-index:2;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;font-size:12px;font-weight:800;display:flex;position:relative}.project-content{z-index:2;margin-top:95px;position:relative;transform:translateZ(34px)}.project-content h3{letter-spacing:-.065em;max-width:640px;margin:0;font-size:clamp(42px,5vw,76px);line-height:.96}.project-content p{opacity:.76;max-width:560px;margin:30px 0 0;font-size:16px;line-height:1.55}.project-footer{position:absolute;bottom:32px;left:clamp(28px,4vw,56px);right:clamp(28px,4vw,56px);transform:translateZ(26px)}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags span{opacity:.75;border:1px solid;border-radius:999px;padding:10px 13px}.project-mark{background:var(--white);width:58px;height:58px;color:var(--ink);border-radius:50%;flex:0 0 58px;place-items:center;font-size:24px;transition:transform .18s,background .18s,color .18s;display:grid}.project-mark:hover,.project-mark:focus-visible{background:var(--ink);color:var(--white);outline:none;transform:rotate(8deg)scale(1.06)}.project-visual{opacity:.18;border:1px solid;border-radius:50%;width:410px;height:410px;transition:opacity .4s,transform .9s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-190px;right:-80px}.project-card:hover .project-visual{opacity:.32;transform:rotate(28deg)scale(1.12)}.project-visual span{border:1px solid;border-radius:50%;position:absolute;inset:45px}.project-visual span:nth-child(2){inset:90px}.project-visual span:nth-child(3){background:currentColor;inset:135px}.project-card:first-child{grid-column:1/-1}.experience{background:var(--white)}.experience .section-heading{display:contents}.experience .section-heading h2{grid-column:2}.timeline{grid-column:2;margin-top:80px}.timeline article{border-top:1px solid var(--line);grid-template-columns:.4fr 1fr;gap:24px;padding:34px 0;transition:padding .28s,background .28s;display:grid}.timeline article:hover{background:linear-gradient(90deg,#2f84b614,#0000 70%);padding-inline:22px}.timeline article:last-child{border-bottom:1px solid var(--line)}.timeline p,.timeline h3{margin:0}.timeline p{color:var(--muted);font-size:13px;font-weight:700}.timeline h3{letter-spacing:-.03em;font-size:clamp(20px,2vw,29px)}.timeline span{color:var(--muted);grid-column:2;font-size:15px;line-height:1.5}.timeline small{color:var(--ink);grid-column:2;font-size:13px;font-weight:700;line-height:1.5}.toolkit{background:var(--accent);color:var(--white)}.skill-cloud{flex-wrap:wrap;gap:12px;display:flex}.skill-cloud span{border:1px solid #ffffff8c;border-radius:999px;padding:17px 23px;font-size:clamp(17px,2vw,25px);font-weight:700;transition:transform .24s cubic-bezier(.2,.8,.2,1),background .24s,color .24s}.skill-cloud span:hover{background:var(--white);color:var(--accent);transform:translateY(-7px)rotate(-2deg)}.certifications{background:var(--white)}.certifications header h2{letter-spacing:-.06em;margin:34px 0 0;font-size:clamp(40px,5.7vw,86px);line-height:1}.certification-list{gap:12px;display:grid}.certification-list article{border:1px solid var(--line);border-radius:24px;grid-template-columns:110px 1fr 56px;align-items:center;gap:24px;min-height:130px;padding:24px 28px;transition:transform .18s,background .18s;display:grid}.certification-list article:hover{background:var(--paper);transform:translateY(-3px)}.certification-list strong{color:var(--accent);letter-spacing:-.04em;font-size:clamp(20px,2vw,28px)}.certification-list h3,.certification-list p{margin:0}.certification-list h3{letter-spacing:-.035em;font-size:clamp(20px,2vw,28px)}.certification-list p{color:var(--muted);margin-top:8px;font-size:13px}.certification-list article>span{background:var(--ink);width:48px;height:48px;color:var(--white);border-radius:50%;place-items:center;font-size:18px;display:grid}.education{background:#ded4c2}.education p{margin:28px 0 10px;font-size:20px;line-height:1.5}.education span{color:var(--muted);font-size:13px;font-weight:700}.contact{background:var(--ink);color:var(--white);text-align:center;padding:clamp(110px,14vw,210px) clamp(24px,7vw,110px) 80px}.contact h2{letter-spacing:-.08em;margin:44px auto 18px;font-size:clamp(54px,9vw,138px);line-height:.9}.contact>p:not(.section-label){color:#aaa9a5;font-size:clamp(18px,2vw,26px)}.contact-actions{justify-content:center;gap:12px;margin-top:52px;display:flex}.contact-actions a{border:1px solid #ffffff52;border-radius:999px;padding:18px 24px;font-size:14px;font-weight:700;transition:transform .24s cubic-bezier(.2,.8,.2,1),background .24s,border-color .24s}.contact-actions a:hover{border-color:var(--white);background:var(--white);color:var(--ink);transform:translateY(-5px)}.contact-actions a:first-child{background:var(--accent);border-color:var(--accent)}footer{background:var(--ink);color:#777773;justify-content:space-between;align-items:center;gap:30px;padding:24px clamp(24px,7vw,110px) 36px;font-size:12px;display:flex}footer .brand{border:1px solid #333}@media (max-width:900px){.manifesto,.experience,.toolkit,.certifications,.education,.section-heading{grid-template-columns:1fr;gap:36px}.section-heading>p:last-child,.experience .section-heading h2,.timeline{grid-column:1}.section-heading>p:last-child{margin:0}.manifesto-aside{grid-template-columns:1fr auto;align-items:start;min-height:0;display:grid}.dev-orbit{width:clamp(150px,23vw,210px)}.highlights{grid-template-columns:1fr 1fr}.project-list,.focus-card{grid-template-columns:1fr}.focus-visual{min-height:320px}.project-card:first-child{grid-column:auto}.project-card{min-height:610px}.timeline{margin-top:20px}}@media (max-width:620px){.hero{padding-inline:18px}.pill-nav{width:calc(100% - 36px);top:18px}.nav-links{gap:2px;padding:0 2px 0 6px;font-size:11px}.nav-links a{padding:10px 9px}.nav-links a:nth-child(3){display:none}.hero-copy{margin-top:78px}.hero h1{font-size:clamp(44px,13.5vw,66px)}.portrait-stage{height:min(86vw,360px);margin-top:42px}.scroll-cue,.scroll-progress,.motion-cursor{display:none}.manifesto-aside{grid-template-columns:1fr;gap:40px}.dev-orbit{width:168px}.highlights{grid-template-columns:1fr}.highlights article{min-height:210px}.highlights span{margin-top:30px}.project-card{min-height:650px}.current-focus{padding-inline:14px}.focus-card{min-height:auto;padding:38px 24px 20px}.focus-visual{min-height:290px}.focus-visual:before{width:280px;height:280px}.focus-visual:after{width:180px;height:180px}.agent-node-one{top:6%}.project-topline{align-items:flex-start}.project-topline span:last-child{text-align:right;max-width:70%}.project-content{margin-top:72px}.project-footer{align-items:flex-end}.timeline article{grid-template-columns:1fr}.timeline span,.timeline small{grid-column:1}.certification-list article{grid-template-columns:1fr 48px}.certification-list strong{grid-column:1/-1}.contact-actions{flex-direction:column}footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.motion-reveal,.motion-enhanced .pill-nav,.motion-enhanced .hero-copy>*,.motion-enhanced .portrait-stage{opacity:1!important;clip-path:none!important;transform:none!important}.motion-layer{display:none}}.motion-enhanced .pill-nav{animation:.9s cubic-bezier(.16,1,.3,1) .15s both nav-arrival}.motion-enhanced .hero-copy>*{animation:1.1s cubic-bezier(.16,1,.3,1) both hero-arrival}.motion-enhanced .hero-copy .kicker{animation-delay:.28s}.motion-enhanced .hero-copy h1{animation-delay:.38s}.motion-enhanced .hero-copy .intro{animation-delay:.54s}.motion-enhanced .hero-copy .round-link{animation-delay:.66s}.motion-enhanced .portrait-stage{animation:1.3s cubic-bezier(.16,1,.3,1) .52s both portrait-arrival}.motion-reveal{opacity:0;transition:opacity .85s calc(var(--reveal-order,0)*55ms) cubic-bezier(.16, 1, .3, 1),transform .85s calc(var(--reveal-order,0)*55ms) cubic-bezier(.16, 1, .3, 1);transform:translateY(64px)scale(.985)}.motion-reveal.is-visible{opacity:1;transform:translateY(0)scale(1)}.project-card.motion-reveal.is-visible{transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.focus-card .motion-reveal.is-visible{transform:translateZ(24px)}@keyframes nav-arrival{0%{opacity:0;transform:translate(-50%)translateY(-30px)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes hero-arrival{0%{opacity:0;transform:translateY(46px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-arrival{0%{opacity:0;clip-path:inset(100% 0 0 round 50% 50% 0 0);transform:translateY(80px)scale(.94)}to{opacity:1;clip-path:inset(0 round 50% 50% 0 0);transform:translateY(0)scale(1)}}@keyframes portrait-ring{0%{transform:translate(-50%)rotate(0)}to{transform:translate(-50%)rotate(360deg)}}@keyframes scroll-cue{0%,to{transform:translate(-110%)}50%{transform:translate(180%)}}@keyframes orbit-dot{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-26px,30px)scale(1.35)}}@keyframes code-pulse{0%,to{transform:scale(1);box-shadow:0 18px 44px #2f84b652}50%{transform:scale(1.05);box-shadow:0 28px 70px #2f84b68c}}@keyframes focus-ring{0%{opacity:.55;transform:translate(-50%,-50%)rotate(0)scale(.96)}50%{opacity:1;transform:translate(-50%,-50%)rotate(180deg)scale(1.04)}to{opacity:.55;transform:translate(-50%,-50%)rotate(360deg)scale(.96)}}@keyframes agent-float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}
