:root{--scene-ease:cubic-bezier(.22,1,.36,1)}[data-scene]{perspective:1300px;transform-style:preserve-3d}[data-scene-role]{transform-origin:0}.chapter-motion-ready:not(.intro-complete) [data-hero-line],.chapter-motion-ready:not(.intro-complete) [data-hero-context],.chapter-motion-ready:not(.intro-complete) [data-hero-actions],.chapter-motion-ready:not(.intro-complete) [data-scroll-cue]{opacity:0}[data-hero-line]{clip-path:inset(0 0 100%);transition:clip-path .68s var(--scene-ease),transform .68s var(--scene-ease),opacity .3s ease;display:block;transform:translate3d(0,30px,-38px)rotateX(3deg)scale(.985)}.intro-complete [data-hero-line]{opacity:1;clip-path:inset(0);transform:none}.intro-complete [data-hero-line="2"]{transition-delay:90ms}[data-hero-context] .h-px{transform-origin:0;transition:transform .48s var(--scene-ease);transform:scaleX(0)}.intro-complete [data-hero-context] .h-px{transform:scaleX(1)}[data-hero-context]>div>div{opacity:0;clip-path:inset(0 100% 0 0);transition:clip-path .42s var(--scene-ease),transform .42s var(--scene-ease),opacity .24s ease;transform:translate(10px)}.intro-complete [data-hero-context]>div>div{opacity:1;clip-path:inset(0);transform:none}.intro-complete [data-hero-context]>div>div:first-child{transition-delay:.16s}.intro-complete [data-hero-context]>div>div:nth-child(2){transition-delay:.26s}.intro-complete [data-hero-context]>div>div:nth-child(3){transition-delay:.36s}[data-hero-actions]{transition:transform .4s var(--scene-ease) .46s,opacity .3s ease .46s;transform:translateY(14px)}.intro-complete [data-hero-actions]{opacity:1;transform:none}[data-scroll-cue]{transition:transform .38s var(--scene-ease) .66s,opacity .3s ease .66s;transform:translate(-50%,8px)}.intro-complete [data-scroll-cue]{opacity:1;transform:translate(-50%)}[data-scroll-cue] svg{animation:2.8s ease-in-out infinite cue-drift}@keyframes cue-drift{50%{transform:translateY(4px)}}[data-scene=entry] [data-hero-content]{transform:translateZ(calc(var(--scene-exit)*-55px)) scale(calc(1 - var(--scene-exit)*.012));opacity:calc(1 - var(--scene-exit)*.42)}.intro-complete [data-scene=entry] [data-scroll-cue]{opacity:calc(1 - var(--scene-exit)*5);transform:translate(-50%,calc(var(--scene-exit)*-12px));transition:opacity .1s linear,transform .1s linear}.chapter-motion-ready [data-scene-role]{will-change:auto}#about [data-scene-role=identity-cue]{opacity:0;transition:opacity .25s ease,transform .4s var(--scene-ease);transform:translate(-16px)}#about.scene-approach [data-scene-role=identity-cue]{opacity:1;transform:none}#about [data-scene-role=identity-portrait]{clip-path:inset(0 100% 0 0);transition:clip-path .66s var(--scene-ease),transform .72s var(--scene-ease);transform:translate3d(-18px,0,-32px)rotateY(3deg)}#about.scene-established [data-scene-role=identity-portrait]{clip-path:inset(0);transform:none}#about [data-scene-role=identity-title]{clip-path:inset(0 100% 0 0);transition:clip-path .56s var(--scene-ease),transform .56s var(--scene-ease);transform:translate(14px)}#about.scene-established [data-scene-role=identity-title]{clip-path:inset(0);transform:none}#about [data-scene-role=identity-title]:nth-child(2){transition-delay:80ms}#about [data-scene-role=identity-copy]{opacity:0;transition:opacity .3s ease,transform .45s var(--scene-ease);transform:translate(12px)}#about.scene-content [data-scene-role=identity-copy]{opacity:1;transform:none}#about [data-scene-role=identity-copy]:nth-child(2){transition-delay:90ms}#about [data-scene-role=identity-actions]{opacity:0;transition:opacity .3s ease .18s,transform .5s var(--scene-ease) .18s;transform:translate(20px)}#about.scene-content [data-scene-role=identity-actions]{opacity:1;transform:none}#experience [data-scene-role=experience-header]{clip-path:inset(0 100% 0 0);transition:clip-path .62s var(--scene-ease),transform .62s var(--scene-ease);transform:translate(-18px)}#experience.scene-established [data-scene-role=experience-header]{clip-path:inset(0);transform:none}#experience [data-scene-role=experience-record]{--record-distance:1;opacity:calc(1 - var(--record-distance)*.28);transform:translateZ(calc(var(--record-distance)*-22px)) scale(calc(1 - var(--record-distance)*.01));transition:opacity .24s ease,transform .28s var(--scene-ease)}#experience [data-scene-role=experience-record]:before{content:"";transform-origin:0;width:100%;height:1px;transition:transform .48s var(--scene-ease);background:#111;position:absolute;inset:0 auto auto 0;transform:scaleX(0)}#experience [data-scene-role=experience-record]{position:relative}#experience [data-scene-role=experience-record].record-approach:before{transform:scaleX(1)}#experience [data-scene-role=experience-role],#experience [data-scene-role=experience-company],#experience [data-scene-role=experience-description]{opacity:0;transition:opacity .28s ease,transform .44s var(--scene-ease);transform:translate(-16px)}#experience .record-active [data-scene-role=experience-role],#experience .record-active [data-scene-role=experience-company],#experience .record-active [data-scene-role=experience-description]{opacity:1;transform:none}#experience [data-scene-role=experience-company]{transition-delay:55ms}#experience [data-scene-role=experience-description]{transition-delay:.11s}#experience [data-scene-role=experience-date]{opacity:0;transition:opacity .28s ease .1s,transform .44s var(--scene-ease) .1s;transform:translate(18px)}#experience .record-active [data-scene-role=experience-date]{opacity:1;transform:none}#selected-work [data-scene-role=work-cue]{opacity:0;transition:all .3s;transform:translate(-12px)}#selected-work.scene-approach [data-scene-role=work-cue]{opacity:1;transform:none}#selected-work [data-scene-role=work-title]{clip-path:inset(0 100% 0 0);transition:clip-path .58s var(--scene-ease)}#selected-work.scene-established [data-scene-role=work-title]{clip-path:inset(0)}#selected-work [data-scene-role=work-link]{opacity:0;transition:opacity .25s ease .15s,transform .4s var(--scene-ease) .15s;transform:translate(14px)}#selected-work.scene-established [data-scene-role=work-link]{opacity:1;transform:none}#selected-work [data-scene-role=work-grid]{clip-path:inset(0 50% 100%);transition:clip-path .72s var(--scene-ease),transform .72s var(--scene-ease);transform:translateZ(-18px)}#selected-work.scene-established [data-scene-role=work-grid]{clip-path:inset(0);transform:none}#selected-work [data-scene-role=work-cell]{opacity:0;transform:translate3d(var(--cell-x,-10px),var(--cell-y,0),-10px);transition:opacity .28s ease,transform .42s var(--scene-ease)}#selected-work [data-scene-role=work-cell]:nth-child(2){--cell-x:10px}#selected-work [data-scene-role=work-cell]:nth-child(3){--cell-y:10px}#selected-work [data-scene-role=work-cell]:nth-child(4){--cell-x:10px;--cell-y:10px}#selected-work.scene-content [data-scene-role=work-cell]{opacity:1;transform:none}#selected-work [data-scene-role=work-cell]:nth-child(2){transition-delay:55ms}#selected-work [data-scene-role=work-cell]:nth-child(3){transition-delay:.105s}#selected-work [data-scene-role=work-cell]:nth-child(4){transition-delay:.155s}#skills [data-scene-role=skills-header]{clip-path:inset(0 100% 0 0);transition:clip-path .58s var(--scene-ease)}#skills.scene-established [data-scene-role=skills-header]{clip-path:inset(0)}#skills [data-scene-role=skill-column]{opacity:0;clip-path:inset(0 0 100%);transition:opacity .25s ease,clip-path .58s var(--scene-ease),transform .58s var(--scene-ease)}#skills [data-scene-role=skill-column]:first-child{transform:translate(-18px)}#skills [data-scene-role=skill-column]:nth-child(2){transform:translateY(18px)}#skills [data-scene-role=skill-column]:nth-child(3){transform:translate(18px)}#skills.scene-content [data-scene-role=skill-column]{opacity:1;clip-path:inset(0);transform:none}#skills [data-scene-role=skill-column]:nth-child(2){transition-delay:80ms}#skills [data-scene-role=skill-column]:nth-child(3){transition-delay:.16s}#tools [data-scene-role=tools-header]{clip-path:inset(0 100% 0 0);transition:clip-path .62s var(--scene-ease)}#tools.scene-established [data-scene-role=tools-header]{clip-path:inset(0)}#tools [data-scene-role=tool-group]{clip-path:inset(0 100% 0 0);transition:clip-path .52s var(--scene-ease)}#tools.scene-content [data-scene-role=tool-group]{clip-path:inset(0)}#tools [data-scene-role=tool-group]:nth-child(2){transition-delay:70ms}#tools [data-scene-role=tool-group]:nth-child(3){transition-delay:.14s}#tools [data-scene-role=tool-group]:nth-child(4){transition-delay:.21s}#tools [data-scene-role=tool-group]:nth-child(5){transition-delay:.28s}#tools [data-scene-role=tool-item]{opacity:0;transition:opacity .22s ease,transform .34s var(--scene-ease);transform:scale(.94)translateZ(-8px)}#tools.scene-content [data-scene-role=tool-item]{opacity:1;transform:none}#education [data-scene-role=education-header]{clip-path:inset(0 100% 0 0);transition:clip-path .62s var(--scene-ease)}#education.scene-established [data-scene-role=education-header]{clip-path:inset(0)}#education [data-scene-role=education-record]{clip-path:inset(0 100% 0 0);transition:clip-path .62s var(--scene-ease),transform .62s var(--scene-ease);transform:perspective(1400px)rotateY(-2deg)}#education.scene-content [data-scene-role=education-record]{clip-path:inset(0);transform:none}#education [data-scene-role=education-record]:nth-child(2){transition-delay:.1s}#education [data-scene-role=education-record]:nth-child(3){transition-delay:.2s}#education [data-scene-role=education-date]{opacity:0;transition:opacity .25s ease .18s,transform .4s var(--scene-ease) .18s;transform:translate(16px)}#education.scene-content [data-scene-role=education-date]{opacity:1;transform:none}#credentials [data-scene-role=credentials-header]{clip-path:inset(0 100% 0 0);transition:clip-path .65s var(--scene-ease)}#credentials.scene-established [data-scene-role=credentials-header]{clip-path:inset(0)}#credentials [data-scene-role=credentials-split]{position:relative}#credentials [data-scene-role=credentials-split]:after{content:"";transform-origin:top;width:1px;transition:transform .56s var(--scene-ease);background:#d5d5d5;position:absolute;top:0;bottom:0;left:calc(66.666% + .5rem);transform:scaleY(0)}#credentials.scene-established [data-scene-role=credentials-split]:after{transform:scaleY(1)}#credentials [data-scene-role=certifications-column]{opacity:0;transition:opacity .3s ease,transform .48s var(--scene-ease);transform:translate(-14px)}#credentials.scene-content [data-scene-role=certifications-column]{opacity:1;transform:none}#credentials [data-scene-role=organizations-column]{opacity:0;transition:opacity .28s ease .18s,transform .42s var(--scene-ease) .18s;transform:translate(14px)}#credentials.scene-content [data-scene-role=organizations-column]{opacity:1;transform:none}#credentials [data-scene-role=certificate-record]{clip-path:inset(0 100% 0 0);transition:clip-path .48s var(--scene-ease)}#credentials.scene-content [data-scene-role=certificate-record]{clip-path:inset(0)}#credentials [data-scene-role=certificate-record]:nth-child(2){transition-delay:70ms}#credentials [data-scene-role=certificate-record]:nth-child(3){transition-delay:.14s}#contact [data-scene-role=contact-cue]{opacity:0;transition:opacity .25s ease,transform .36s var(--scene-ease);transform:translateY(10px)}#contact.scene-approach [data-scene-role=contact-cue]{opacity:1;transform:none}#contact [data-scene-role=contact-line]{opacity:0;clip-path:inset(100% 0 0);transition:opacity .25s ease,clip-path .58s var(--scene-ease),transform .58s var(--scene-ease);display:block;transform:translate3d(0,20px,-28px)scale(.985)}#contact.scene-established [data-scene-role=contact-line]{opacity:1;clip-path:inset(0);transform:none}#contact [data-scene-role=contact-line]:nth-child(2){transition-delay:80ms}#contact [data-scene-role=contact-line]:nth-child(3){transition-delay:.16s}#contact [data-scene-role=contact-support]{opacity:0;transition:opacity .28s ease,transform .4s var(--scene-ease);transform:translateY(12px)}#contact.scene-content [data-scene-role=contact-support]{opacity:1;transform:none}#contact [data-scene-role=contact-action]{opacity:0;clip-path:inset(0 100% 0 0);transition:opacity .25s ease,clip-path .52s var(--scene-ease),transform .52s var(--scene-ease);transform:translate(12px)}#contact.scene-content [data-scene-role=contact-action]{opacity:1;clip-path:inset(0);transform:none}#contact [data-scene-role=contact-action]:nth-child(2){transition-delay:.12s}@media (hover:hover) and (pointer:fine) and (min-width:1024px){#selected-work article,[data-archive-card]{transform-style:preserve-3d;transition:transform .22s var(--scene-ease),background-color .2s ease}#selected-work article:hover,[data-archive-card]:hover{transform:perspective(1200px)translate3d(0,-3px,9px)rotateX(.6deg)rotateY(-.6deg)}#tools li:hover{transform:translate3d(2px,-2px,6px)}#tools li:hover svg{transform:scale(1.08)}}@media (max-width:767px){#credentials [data-scene-role=credentials-split]:after{display:none}#about [data-scene-role=identity-portrait]{transform:translate(-12px)}#experience [data-scene-role=experience-record]{transform:translateY(calc(var(--record-distance)*10px))}#contact [data-scene-role=contact-line]{transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-scene-role],[data-hero-line],[data-hero-actions],[data-hero-context]>div>div,[data-scroll-cue]{opacity:1!important;clip-path:inset(0)!important;transform:none!important}#credentials [data-scene-role=credentials-split]:after{transform:none!important}}
.chapter-indicator{--chapter-progress:0;z-index:30;perspective:900px;pointer-events:none;flex-direction:column;align-items:center;gap:1rem;width:2rem;transition:opacity .26s,transform .3s cubic-bezier(.22,.61,.36,1);display:none;position:fixed;top:50%;right:1vw;transform:translateY(-50%)}.chapter-indicator[data-hidden=true]{opacity:0;transform:translate3d(12px,-50%,-18px)}.chapter-indicator__rule{background:#c9c9c9;width:1px;height:5.5rem;display:block;position:relative;overflow:hidden}.chapter-indicator__rule>span{background:#111;width:1px;transition:transform .12s linear;position:absolute;left:0}.chapter-indicator__rule--upper>span{transform:scaleY(var(--chapter-progress));transform-origin:bottom;inset:0}.chapter-indicator__rule--lower>span{transform:scaleY(calc(1 - var(--chapter-progress)));transform-origin:top;inset:0}.chapter-indicator__viewport{white-space:nowrap;width:3.5rem;height:19rem;display:block;position:relative;overflow:hidden}.chapter-indicator__label{width:19rem;height:3.5rem;font-family:var(--font-inter),Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#5c5f60;transform-style:preserve-3d;justify-content:center;align-items:center;gap:.65rem;font-size:11px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}.chapter-indicator__label strong{color:#111;font-weight:700}@media (min-width:1152px){.chapter-indicator{display:flex}}@media (prefers-reduced-motion:reduce){.chapter-indicator,.chapter-indicator__label,.chapter-indicator__rule>span{transition:none!important;animation:none!important}}
