.hero{position:relative;background:var(--color-black);color:var(--color-white);overflow:hidden;font-family:var(--font-family)}.hero,.hero-frame{min-height:100vh;min-height:100dvh}.hero-frame{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(0,1.08fr);align-items:center;grid-gap:clamp(8px,2vw,32px);gap:clamp(8px,2vw,32px);max-width:var(--container-max);margin:0 auto;padding-inline:var(--container-pad)}.hero-portrait{position:relative;height:100vh;height:100dvh;width:100%;will-change:clip-path}.hero-portrait__media{position:absolute;inset:0;top:80px;overflow:hidden}.hero-portrait__img{object-fit:contain;filter:grayscale(1) contrast(1.12) brightness(.72) saturate(0);will-change:transform;transform-origin:center center}.hero-portrait__fade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(270deg,transparent 38%,rgba(0,0,0,.45) 72%,var(--color-black) 100%),linear-gradient(0deg,var(--color-black) 0,transparent 20%),linear-gradient(180deg,rgba(0,0,0,.28) 0,transparent 14%)}.hero-copy-block{position:relative;z-index:2;max-width:720px;padding:96px 0 88px;justify-self:start}.hero-title-mask{overflow:hidden;display:block}.hero-name{margin:0;display:flex;flex-direction:column;font-size:var(--font-heading);line-height:1;font-weight:var(--font-bold);text-transform:uppercase}.hero-name__inner{display:block;will-change:transform}.hero-roles{font-size:calc(var(--font-subheading) - 4px);font-weight:var(--font-bold);letter-spacing:.1rem;margin-top:10px;text-transform:uppercase;color:var(--color-grey)}.hero-tagline-mask{overflow:hidden;margin:clamp(34px,4.2vw,52px) 0 0}.hero-tagline{margin:0;display:flex;align-items:center;gap:2px;min-height:1.2em;font-size:clamp(18px,2.55vw,36px);font-weight:var(--font-bold);letter-spacing:.02em;text-transform:uppercase;line-height:1.1;will-change:transform}.hero-desc{margin-top:10px}.hero-cursor{display:inline-block;width:2px;height:.9em;margin-left:3px;background:var(--color-white);animation:hero-blink 1s steps(1) infinite}.hero-cta{margin-top:clamp(24px,3vw,34px)}.hero-scroll{position:absolute;left:0;right:0;bottom:clamp(22px,4vh,40px);z-index:3;width:max-content;margin-inline:auto;display:flex;align-items:center;gap:.7rem;color:var(--color-grey);font-size:10px;font-weight:var(--font-normal);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;transition:color .3s var(--ease)}.hero-scroll:hover{color:var(--color-white)}.scroll-icon{display:flex;flex-direction:column;align-items:center;gap:.12rem}.scroll-icon span{display:block;width:.42rem;height:.42rem;opacity:.28;border-bottom:1.5px solid;border-right:1.5px solid;transform:rotate(45deg);animation:scroll-cue 1.5s ease-in-out infinite}.scroll-icon span:last-child{animation-delay:.18s}@keyframes hero-blink{0%,45%{opacity:1}50%,to{opacity:0}}@keyframes scroll-cue{0%,to{opacity:.18;transform:rotate(45deg) translate(-2px,-2px)}50%{opacity:.85;transform:rotate(45deg) translate(1px,1px)}}@media(max-width:980px){.hero-frame{grid-template-columns:1fr;align-items:end;padding:0 var(--container-pad) 36px;gap:0}.hero-portrait{position:absolute;inset:0;height:auto;margin:0;opacity:.78}.hero-portrait__img{object-position:68% -2%}.hero-portrait__fade{background:linear-gradient(180deg,transparent 12%,rgba(0,0,0,.4) 48%,var(--color-black) 80%),linear-gradient(90deg,var(--color-black) 0,transparent 55%)}.hero-copy-block{max-width:none;padding:0 0 72px}}@media(prefers-reduced-motion:reduce){.hero-cursor{animation:none;opacity:1}.scroll-icon span{animation:none;opacity:.55}}.how{background:var(--color-black);color:var(--color-white);font-family:var(--font-family)}.how__grid{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);grid-gap:clamp(40px,6vw,96px);gap:clamp(40px,6vw,96px);align-items:start}.how__intro{position:-webkit-sticky;position:sticky;top:120px;padding-bottom:24px}.how__heading{margin:0 0 clamp(20px,2.5vw,28px);font-size:clamp(44px,6vw,88px);font-weight:var(--font-bold);letter-spacing:-.04em;line-height:.95;text-transform:uppercase}.how__lede{margin:0;color:var(--color-grey);font-size:clamp(15px,1.2vw,17px);line-height:1.55}.how__process{position:relative;padding-left:clamp(28px,3vw,44px)}.how__rail{position:absolute;top:0;bottom:0;left:0;width:1px;background:rgba(255,255,255,.12)}.how__rail-fill{display:block;width:100%;background:var(--color-white);transition:height .55s var(--ease)}.how__steps{margin:0;padding:0;list-style:none;display:grid;grid-gap:clamp(56px,8vw,96px);gap:clamp(56px,8vw,96px)}.how-step{position:relative;display:grid;grid-gap:clamp(10px,1.2vw,16px);gap:clamp(10px,1.2vw,16px);transition:opacity .55s var(--ease)}.how-step.is-muted{opacity:.38}.how-step.is-active{opacity:1}.how-step__number{display:block;margin-left:-.08em;font-size:clamp(56px,7vw,110px);font-weight:var(--font-bold);letter-spacing:-.05em;line-height:.85;color:rgba(0,0,0,0);-webkit-text-stroke:1px rgba(255,255,255,.28);transition:-webkit-text-stroke-color .55s var(--ease)}.how-step.is-active .how-step__number{-webkit-text-stroke-color:rgba(255,255,255,.55)}.how-step__body{display:grid;grid-gap:12px;gap:12px;max-width:500px}.how-step__title{margin:0;font-size:clamp(32px,4vw,58px);font-weight:var(--font-bold);letter-spacing:-.035em;line-height:1;text-transform:uppercase;color:rgba(255,255,255,.55);transition:color .55s var(--ease)}.how-step.is-active .how-step__title{color:var(--color-white)}.how-step__desc{margin:0;max-width:500px;color:var(--color-grey);font-size:clamp(15px,1.15vw,17px);font-weight:var(--font-light);line-height:1.6;opacity:.72;transform:translateY(6px);transition:opacity .55s var(--ease),transform .55s var(--ease),color .55s var(--ease)}.how-step.is-active .how-step__desc{opacity:1;transform:translateY(0);color:rgba(255,255,255,.82)}.how-step__keywords{margin:4px 0 0;color:var(--color-grey);font-size:clamp(11px,.95vw,13px);font-weight:var(--font-normal);letter-spacing:.14em;line-height:1.5;text-transform:uppercase;opacity:.7;transition:opacity .55s var(--ease)}.how-step.is-active .how-step__keywords{opacity:1}@media(max-width:900px){.how__grid{grid-template-columns:1fr;gap:clamp(36px,6vw,48px)}.how__intro{position:static}.how__lede{max-width:40ch}.how__process{padding-left:28px}.how__steps{gap:clamp(48px,10vw,72px)}}@media(prefers-reduced-motion:reduce){.how-step,.how-step__desc,.how-step__keywords,.how-step__number,.how-step__title,.how__rail-fill{transition:none}.how-step__desc{transform:none}}.page-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:var(--color-black);color:var(--color-white);font-family:var(--font-family);pointer-events:all;overflow:hidden;will-change:transform}.page-loader__content{position:relative;z-index:1;display:grid;justify-items:center;grid-gap:clamp(18px,2.5vw,28px);gap:clamp(18px,2.5vw,28px)}.loader-counter{display:flex;align-items:center;justify-content:center;font-size:clamp(80px,12vw,180px);font-weight:var(--font-bold);line-height:.9;letter-spacing:-.04em;color:var(--color-white);-webkit-user-select:none;-moz-user-select:none;user-select:none}.digit-mask{height:.9em;overflow:hidden;display:block}.digit-strip{display:flex;flex-direction:column;will-change:transform}.digit-strip span{display:flex;align-items:center;justify-content:center;height:.9em;line-height:.9}.page-loader__label{margin:0;font-size:var(--font-small);font-weight:var(--font-normal);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55)}.page-loader__dots{display:inline-flex;width:1.6em;margin-left:.05em}.page-loader__dot{opacity:1}body.is-loading{overflow:hidden}@media(max-width:760px){.loader-counter{font-size:clamp(72px,18vw,120px)}}@media(prefers-reduced-motion:reduce){.page-loader__dot{opacity:1!important}}.skills{color:var(--color-black);font-family:var(--font-family)}.skills-heading{margin-bottom:60px}.skills-groups{display:grid;grid-gap:clamp(64px,8vw,112px);gap:clamp(64px,8vw,112px)}.skills-group{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(0,1.4fr);grid-gap:clamp(24px,4vw,64px);gap:clamp(24px,4vw,64px);align-items:start}.skills-label{position:-webkit-sticky;position:sticky;top:120px}.skills-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(0,0,0,.12)}.skills-row{position:relative;padding:clamp(22px,2.8vw,34px) 0;border-bottom:none;color:var(--color-black);cursor:default;--row-line-scale:1}.skills-row:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(0,0,0,.12);transform:scaleX(var(--row-line-scale));transform-origin:left center;pointer-events:none}.skills-list:has(.skills-row:hover) .skills-row:not(:hover){opacity:.4}@media(max-width:860px){.skills-group{grid-template-columns:1fr;gap:12px}.skills-label{position:static;padding-top:0;margin-bottom:8px}}