:root{--accent: #cf3510;--bg: #efede7;--dot: #cdc8ba;--ink: #14181f;--paper: #fbfaf6;--white: #ffffff;--muted: #5d636e;--muted-2: #7a7f89;--body: #4a505b;--rule: #cfcabd;--rule-2: #bfbaae;--line: #d2cdc1;--shadow: #dcd8cd;--fill: #d9d4c8;--fill-2: #e4dfd3;--fill-3: #efece4;--ghost: #e2ded3;--display: "Bricolage Grotesque", sans-serif;--mono: "DM Mono", ui-monospace, monospace;--screen: clamp(640px, 100vh, 900px)}html{scroll-behavior:smooth}body{margin:0;background-color:var(--bg);background-image:radial-gradient(var(--dot) 1px,transparent 1.2px);background-size:24px 24px;background-attachment:fixed;color:var(--ink);font-family:var(--mono);font-size:12px;letter-spacing:.06em;line-height:1.7}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button{font:inherit;color:inherit}h1,h2,p{margin:0}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(24px)}}@keyframes enterOut{to{opacity:0;visibility:hidden}}.display{font-family:var(--display);font-weight:600}.accent{color:var(--accent)}.blink{color:var(--accent);animation:blink 2s infinite}.label{font-size:10px;letter-spacing:.28em;color:var(--muted)}.micro{font-size:9px;letter-spacing:.24em;color:var(--muted)}.mark{width:16px;height:16px;border:1.5px solid var(--ink);border-radius:50%;display:inline-block;position:relative;flex:none}.mark:after{content:"";position:absolute;inset:3px;background:var(--accent);border-radius:50%}.mark--lg{width:34px;height:34px}.mark--lg:after{inset:9px}.btn{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:12px 18px;font-size:10px;letter-spacing:.22em;cursor:pointer}.btn--solid{background:var(--ink);color:var(--paper)}.btn--solid:hover{color:var(--paper);background:var(--accent)}.btn--ghost{border:1.5px solid var(--ink)}.card{border:1.5px solid var(--ink);background:var(--paper)}.card--shadow{box-shadow:8px 8px 0 var(--shadow)}.enter-cb{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.enter-screen{position:fixed;inset:0;z-index:60;background:var(--bg);display:flex;align-items:center;box-sizing:border-box;padding:0 clamp(24px,12vw,220px);animation:enterOut .6s ease 4s forwards}body:has(.enter-cb:checked) .enter-screen{display:none}.enter-screen__inner{display:flex;flex-direction:column;gap:20px;max-width:620px}.enter-screen__name{display:flex;align-items:center;gap:18px;font-size:44px;letter-spacing:.01em;line-height:1}.enter-screen__rule{height:1px;background:var(--rule-2)}.enter-screen .label{font-size:11px}.enter-screen .btn{margin-top:28px;align-self:flex-start;padding:14px 24px;font-size:11px;letter-spacing:.28em}.frame{position:fixed;inset:0;pointer-events:none;z-index:4;overflow:hidden}.frame__corner{position:absolute;width:16px;height:16px;border:0 solid var(--ink)}.frame__corner--tl{left:14px;top:84px;border-left-width:1.5px;border-top-width:1.5px}.frame__corner--tr{right:14px;top:84px;border-right-width:1.5px;border-top-width:1.5px}.frame__corner--bl{left:14px;bottom:14px;border-left-width:1.5px;border-bottom-width:1.5px}.frame__corner--br{right:14px;bottom:14px;border-right-width:1.5px;border-bottom-width:1.5px}.frame__side{position:absolute;top:50%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.3em;color:var(--muted-2)}.frame__side--left{left:14px;transform:rotate(180deg)}.frame__side--right{right:14px}.frame__drift{position:absolute;left:0;right:0;top:20%;height:1px;opacity:.35;background:linear-gradient(90deg,transparent,var(--accent) 50%,transparent);animation:drift 6s ease-in-out infinite alternate}.topbar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:8px 32px;align-items:center;justify-content:space-between;min-height:72px;box-sizing:border-box;padding:12px clamp(16px,4vw,48px);background:#efede7eb;border-bottom:1px solid var(--rule)}.topbar__brand{display:flex;align-items:center;gap:12px;font-size:22px;letter-spacing:.01em;line-height:1}.topbar__nav{display:flex;flex-wrap:wrap;gap:4px 26px;font-size:10px;letter-spacing:.22em}.topbar__nav a{color:var(--muted);padding:12px 0;border-bottom:1.5px solid transparent}.topbar__nav a[aria-current=true]{color:var(--ink);border-bottom-color:var(--accent)}.topbar__status{font-size:10px;letter-spacing:.22em;color:var(--muted)}.pin{position:relative;height:calc(var(--screen) * var(--len, 1.6))}.pin>section{position:sticky;top:0;height:var(--screen);box-sizing:border-box;padding:104px clamp(24px,8vw,140px) 72px;display:flex;flex-direction:column;gap:28px;overflow:hidden}.sec-title{display:flex;align-items:baseline;gap:14px}.sec-title span{color:var(--accent);font-size:10px}.sec-title h2{font-size:clamp(32px,3.6vw,52px);letter-spacing:-.01em;line-height:1}.sec-foot{display:flex;justify-content:space-between;align-items:center}.skip{min-height:44px;display:flex;align-items:center;border:1px solid var(--rule-2);padding:0 14px}.hero{padding:104px clamp(24px,6vw,96px) 72px!important;justify-content:space-between;gap:0!important}.hero__meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.hero h1{font-size:clamp(52px,10vw,164px);line-height:.95;letter-spacing:-.035em}.hero h1 .cursor{color:var(--accent);animation:blink 1.1s steps(1) infinite}.hero__foot{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}.profile{flex:1;min-height:0;display:flex;flex-wrap:wrap}.profile__id{flex:0 1 340px;min-width:240px;padding:14px;display:flex;flex-direction:column;gap:10px;border-right:1.5px solid var(--ink);background:var(--white)}.profile__id>div:not(.profile__photo){display:flex;justify-content:space-between}.profile__photo{flex:1;min-height:180px;position:relative;overflow:hidden}.profile__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}.profile__body{flex:1 1 360px;padding:clamp(20px,3vw,44px);display:flex;flex-direction:column;justify-content:center;gap:20px}.profile__pitch{font-size:clamp(26px,3vw,42px);line-height:1.15;letter-spacing:-.01em}.profile__summary{color:var(--body);font-size:12px;letter-spacing:.03em;max-width:560px}.profile__degree{color:var(--muted);font-size:10px;letter-spacing:.2em}.row{display:flex;flex-wrap:wrap;gap:12px}.stage{position:relative;flex:1;min-height:0;overflow:hidden}.slide{position:absolute;inset:0;display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s ease;will-change:transform,opacity}.slide__head{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.psteps{list-style:none;margin:0;display:flex;gap:8px;padding:10px 16px 0}.pstep{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px}.pstep__label{font-size:8px;letter-spacing:.2em;color:var(--muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .35s}.pstep__bar{display:block;height:3px;background:var(--rule)}.pstep__bar span{display:block;height:100%;background:var(--accent);width:calc(clamp(0,var(--local, 0) * var(--n) - var(--j),1)*100%)}[data-step="0"] .pstep:nth-child(1) .pstep__label,[data-step="1"] .pstep:nth-child(2) .pstep__label,[data-step="2"] .pstep:nth-child(3) .pstep__label,[data-step="3"] .pstep:nth-child(4) .pstep__label{color:var(--accent)}.slide__visual{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden}.slide__caption{display:flex;flex-wrap:wrap;gap:16px 32px;padding:16px;border-top:1px solid var(--line)}.slide__title{flex:0 1 260px;display:flex;flex-direction:column;gap:10px}.slide__title>a{font-size:clamp(22px,2.4vw,32px);line-height:1.05}.tags{display:flex;flex-wrap:wrap;gap:6px;font-size:9px;letter-spacing:.18em;color:var(--muted)}.tags span{border:1px solid var(--rule-2);padding:2px 8px}.caps{flex:1 1 300px;position:relative;min-height:112px}.cap{position:absolute;inset:0;opacity:0;transform:translateY(10px);transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1)}.cap:before{content:"";display:block;width:32px;height:2px;background:var(--accent);margin-bottom:8px}.cap__label{display:block;font-size:9px;letter-spacing:.24em;color:var(--accent)}.cap p{margin-top:4px;color:var(--body);font-size:11px;letter-spacing:.03em;max-width:640px}[data-step="1"] .cap--0,[data-step="2"] .cap--0,[data-step="2"] .cap--1,[data-step="3"] .cap--0,[data-step="3"] .cap--1,[data-step="3"] .cap--2{transform:translateY(-10px)}[data-step="0"] .cap--0,[data-step="1"] .cap--1,[data-step="2"] .cap--2,[data-step="3"] .cap--3{opacity:1;transform:none}.stage-foot__progress{display:flex;align-items:center;gap:12px}.stage-foot__bar{display:inline-block;width:160px;height:2px;background:var(--rule)}.stage-foot__bar span{display:block;height:2px;width:var(--bar, 0%);background:var(--accent)}.zone{--bc: var(--rule-2);--lc: var(--muted);--fl: var(--fill);opacity:.5;transition:opacity .35s,transform .35s,border-color .35s}[data-step="0"] .zone--0,[data-step="1"] .zone--1,[data-step="2"] .zone--2,[data-step="3"] .zone--3{--bc: var(--accent);--lc: var(--accent);--fl: var(--accent);opacity:1}[data-step="0"] .zone--0.lift,[data-step="1"] .zone--1.lift,[data-step="2"] .zone--2.lift,[data-step="3"] .zone--3.lift{transform:translateY(-6px)}.zone__label{font-size:9px;letter-spacing:.24em;color:var(--lc)}.box{border:1.5px solid var(--bc);background:var(--white);box-sizing:border-box;display:flex;flex-direction:column;gap:6px}.box>i,.bar-fill{display:block;height:8px;background:var(--fl)}.chip{display:block;height:5px;background:var(--fill-2)}.pane{background:var(--fill-3)}.btn-ghost{display:block;height:10px;border:1px solid var(--bc)}.dia-a{display:flex;align-items:flex-end;gap:clamp(12px,3vw,40px)}.dia-a .zone{display:flex;flex-direction:column;gap:8px;align-items:center}.dia-a .box{height:clamp(120px,22vh,190px);padding:10px}.dia-a .zone--0 .box{width:clamp(56px,8vw,110px);padding:8px}.dia-a .zone--1 .box{width:clamp(100px,16vw,200px)}.dia-a .zone--2 .box{width:clamp(140px,26vw,340px)}.split{display:flex;gap:6px;flex:1}.split>span{flex:1}.dia-b{position:relative;width:min(100%,680px);display:flex;flex-direction:column;gap:8px}.dia-b__ticks{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.2em;color:var(--muted-2)}.track{display:flex;gap:6px;height:34px;box-sizing:border-box;padding:4px;border:1.5px solid var(--bc);background:var(--white);align-items:stretch}.track__name{position:absolute;right:calc(100% + 10px);white-space:nowrap;font-size:8px;letter-spacing:.2em;color:var(--lc);line-height:34px}.track-wrap{position:relative}.wave{flex:1;margin:2px 0;background:repeating-linear-gradient(90deg,var(--fl) 0 2px,transparent 2px 5px)}.dia-b__spare{height:24px;border:1px dashed var(--rule-2);opacity:.7}.playhead{position:absolute;top:18px;bottom:-6px;left:var(--ph, 4%);width:1.5px;background:var(--accent);transition:left .12s linear}.playhead:before{content:"";position:absolute;top:-4px;left:-4px;width:9px;height:9px;background:var(--accent);border-radius:50%}.dia-c{display:flex;flex-wrap:wrap;gap:16px;width:min(100%,680px);align-items:stretch}.dia-c__card{flex:0 0 clamp(130px,20vw,180px);padding:14px;gap:12px}.dia-c__dot{width:30px;height:30px;border-radius:50%;background:var(--fl);display:block}.dia-c__glyph{font-size:44px;line-height:1}.swatches{display:flex;gap:4px}.swatches span{width:18px;height:18px;box-sizing:border-box}.dia-c__col{flex:1 1 280px;display:flex;flex-direction:column;gap:12px}.dia-c__col .box{flex-direction:row;padding:8px}.dia-c__col .box>span{flex:1;height:22px}.dia-c__grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))}.dia-c__grid>span{height:clamp(30px,6vh,52px)!important}.c-ink{background:var(--ink)}.c-fl{background:var(--fl)}.c-fill{background:var(--fill)}.c-fill2{background:var(--fill-2)}.c-fill3{background:var(--fill-3)}.c-white{background:var(--white);border:1px solid var(--rule-2)}.dia-d{display:flex;align-items:center;width:min(100%,700px)}.dia-d .box{flex:0 0 clamp(90px,18%,150px);padding:10px;height:clamp(110px,20vh,160px)}.dia-d .zone__label{font-size:8px;letter-spacing:.2em}.dia-d .box>i{height:6px}.slot{display:block;height:12px;border:1px solid var(--rule-2)}.link{flex:1;height:1.5px;background:var(--rule-2);transition:background .35s}[data-step="1"] .link--0,[data-step="2"] .link--0,[data-step="2"] .link--1,[data-step="3"] .link--0,[data-step="3"] .link--1,[data-step="3"] .link--2{background:var(--accent)}.pin--open{height:auto}.pin--open>section{position:relative;height:auto;min-height:var(--screen)}.timeline{display:flex;flex-direction:column}.timeline__item{border-bottom:1px solid var(--line)}.timeline__item:last-child{border-bottom:0}.timeline__row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,2fr) minmax(160px,1.4fr) 24px;gap:8px 24px;align-items:center;padding:20px clamp(16px,2.5vw,32px);cursor:pointer;list-style:none}.timeline__row::-webkit-details-marker{display:none}.timeline__row:hover .timeline__role{color:var(--accent)}.timeline__row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.timeline__years{font-size:10px;letter-spacing:.2em;color:var(--muted)}.timeline__role{font-size:clamp(22px,2.4vw,32px);line-height:1.05;transition:color .2s}.timeline__company{color:var(--body);font-size:11px;letter-spacing:.18em}.timeline__toggle{position:relative;width:14px;height:14px;justify-self:end}.timeline__toggle:before,.timeline__toggle:after{content:"";position:absolute;left:0;right:0;top:6px;height:1.5px;background:var(--ink);transition:transform .25s}.timeline__toggle:after{transform:rotate(90deg)}.timeline__item[open] .timeline__toggle:after{transform:rotate(0)}.timeline__item[open] .timeline__toggle:before{background:var(--accent)}.timeline__item[open] .timeline__toggle:after{background:var(--accent)}.timeline__body{display:flex;flex-direction:column;gap:14px;padding:0 clamp(16px,2.5vw,32px) 24px;margin-left:calc(min(150px,20%) + 24px)}.timeline__lead{color:var(--ink);font-size:12px;letter-spacing:.03em;max-width:680px}.timeline__details{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px 24px}.timeline__details li{border-left:2px solid var(--accent);padding-left:12px;color:var(--body);font-size:11px;letter-spacing:.03em}.timeline__detail-title{display:block;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}.skills{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}.skill-group{padding:18px 20px;display:flex;flex-direction:column;gap:14px;min-height:0}.skill-group__cat{font-size:9px;letter-spacing:.24em;color:var(--accent);padding-bottom:10px;border-bottom:1px solid var(--line)}.skill-group__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.skill-row{display:flex;flex-direction:column;gap:5px}.skill-row__name{font-size:clamp(16px,1.7vw,22px);line-height:1.1}.contact{padding-bottom:56px!important;gap:20px!important}.contact__ghost{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.contact__ghost span{font-size:clamp(64px,15vw,240px);letter-spacing:-.02em;color:var(--ghost);white-space:nowrap}.contact__card{display:flex;flex-wrap:wrap;gap:24px 56px;padding:clamp(16px,2.5vw,32px)}.contact__cta{flex:1 1 280px;display:flex;flex-direction:column;gap:14px}.contact__cta .display{font-size:clamp(28px,3vw,42px);line-height:1.05}.contact__cta .btn{align-self:flex-start;padding:12px 20px;letter-spacing:.24em}.contact__col{flex:1 1 140px;display:flex;flex-direction:column;gap:4px;font-size:10px;letter-spacing:.2em}.contact__col>span{color:var(--muted)}.contact__foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}@media(max-width:720px){.frame__side{display:none}.topbar__nav{order:3;width:100%;gap:0 18px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.pin--open>section{padding-top:140px}.pin--flow{height:auto}.pin--flow>section{position:relative;height:auto;min-height:var(--screen);padding-top:48px;padding-bottom:48px}.pin>section{padding-left:16px;padding-right:16px}.profile__id{border-right:0;border-bottom:1.5px solid var(--ink);flex-basis:100%}.profile__photo{flex:none;min-height:0;aspect-ratio:956 / 1092;max-height:70svh;outline:1px solid var(--rule-2);outline-offset:-1px}.profile__photo img{object-position:50% 15%}.skills{grid-template-columns:1fr;grid-template-rows:none}.track__name{display:none}.timeline__row{grid-template-columns:1fr 24px}.timeline__years,.timeline__company,.timeline__role{grid-column:1}.timeline__toggle{grid-column:2;grid-row:1 / span 3}.timeline__body{margin-left:0}.dia-d .box{flex-basis:30%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.enter-screen{display:none}}
