.loader{z-index:980;background:var(--ink);color:var(--bone);padding:24px var(--gutter);clip-path:inset(0%);grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.loader__top{color:var(--bone-dim);justify-content:space-between;display:flex}.loader__reveal{display:block;overflow:hidden}.loader__reveal>*{display:block}.loader__line{align-self:center;width:100%;height:clamp(80px,18vh,200px);overflow:visible}.loader__line path{fill:none;stroke:var(--sun);stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px}.loader__bottom{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.loader__label{color:var(--bone-dim);padding-bottom:2vw}.loader__count{font-family:var(--f-display);font-variation-settings:"wdth" 125;letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(88px,21vw,360px);font-weight:800;line-height:.78}.loader__count-unit{letter-spacing:0;color:var(--sun);margin-left:.08em;font-size:.32em}@media (width<=600px){.loader__bottom{flex-direction:column-reverse;align-items:flex-start}}.hero{background:var(--ink);isolation:isolate;height:100svh;min-height:560px;position:relative;overflow:hidden}.hero__sky{background:radial-gradient(120% 60% at 60% 62%,#ff7a3d8c 0%,#ff5a1f00 60%),linear-gradient(#0c0c0b 0%,#1b1411 30%,#3b1e13 52%,#8c3a1a 70%,#e0692f 84%,#ffa66b 100%);position:absolute;inset:-10% 0 0}.hero__sun-wrap{aspect-ratio:1;width:min(26vw,40svh);position:absolute;top:26%;left:58%;translate:-50%}.hero__sun-depth,.hero__sun{width:100%;height:100%}.hero__sun{background:radial-gradient(circle at 50% 45%,#ffe2c4 0%,#ffb27a 30%,#ff7a3d 62%,#ff5a1f 100%);border-radius:50%;box-shadow:0 0 80px 20px #ff7a3d73,0 0 240px 80px #ff5a1f40}.hero__layer{pointer-events:none;will-change:transform;position:absolute;inset:0}.hero__layer-inner{position:absolute;inset:0 -5%}.hero__layer svg{width:100%;height:100%;position:absolute;inset:0}.hero__layer-fill{height:140vh;position:absolute;top:calc(100% - 1px);left:0;right:0}.hero__name{left:0;right:0;top:max(calc(var(--nav-h) + 4svh), 17svh);text-align:center;pointer-events:none;will-change:transform;transform-origin:50% 0;position:absolute}.hero__name-depth{display:inline-block;position:relative}.hero__first{font-family:var(--f-display);font-variation-settings:"wdth" 125;letter-spacing:-.055em;text-transform:uppercase;color:var(--bone);justify-content:center;padding-top:.08em;font-size:min(23vw,44svh);font-weight:800;line-height:.8;display:flex}.hero__char{will-change:transform;display:inline-block}.hero__last{color:var(--bone);white-space:nowrap;padding:.05em .1em .12em;font-size:min(5.4vw,9.5svh);line-height:1;display:block;position:absolute;top:-.42em;right:.1em;overflow:hidden}.hero__last-inner{display:block}.hero__ui{z-index:5;padding:calc(var(--nav-h) + 4px) var(--gutter) clamp(20px, 4svh, 40px);pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.hero__ui>*{pointer-events:auto}.hero__coords{color:var(--bone-dim);pointer-events:none;justify-content:space-between;display:flex}.hero__bottom{grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;display:grid}.hero__role{flex-direction:column;align-items:flex-start;font-size:clamp(28px,3.3vw,56px);line-height:.98;display:flex}.hero__role-amp{color:var(--sun);margin:.4em 0 .2em}.hero__scroll{color:var(--bone-dim);flex-direction:column;align-items:center;gap:14px;transition:color .3s;display:flex}.hero__scroll:hover{color:var(--bone)}.hero__scroll-track{background:var(--line);width:1px;height:64px;position:relative;overflow:hidden}.hero__scroll-dot{background:var(--sun);width:3px;height:18px;animation:scroll-dot 2.2s var(--ease-inout) infinite;position:absolute;top:0;left:-1px}@keyframes scroll-dot{0%{transform:translateY(-100%)}60%,to{transform:translateY(360%)}}.hero__intro{max-width:34ch;color:var(--bone-dim);justify-self:end;font-size:clamp(14px,1vw,16px);line-height:1.5}@media (width<=760px){.hero__name{top:27svh}.hero__first{font-size:25.5vw}.hero__last{text-align:center;margin-top:.15em;font-size:10.5vw;position:relative;top:auto;right:auto}.hero__bottom{grid-template-columns:1fr auto;gap:20px}.hero__role{grid-column:1/-1;font-size:clamp(30px,9vw,44px)}.hero__intro{justify-self:start;max-width:30ch;font-size:13.5px}.hero__scroll{grid-area:2/2}.hero__scroll .mono,.hero__coords span:last-child{display:none}}.about{background:var(--ink);padding-top:clamp(64px,10vw,160px)}.about__intro{position:relative}.about__statement{letter-spacing:-.035em;text-indent:22%;max-width:18em;font-size:clamp(30px,4.6vw,84px);font-weight:500;line-height:1.02}.about__word{display:inline}.about__grid{gap:var(--gutter);grid-template-columns:repeat(12,1fr);align-items:start;margin-top:clamp(96px,14vw,220px);display:grid}.about__figure{grid-column:2/span 4;position:relative}.about__portrait{aspect-ratio:3/4;border-radius:var(--radius);background:var(--ink-3);overflow:hidden}.about__portrait img{object-fit:cover;will-change:transform;width:100%;height:100%}.about__caption{color:var(--bone-dim);justify-content:space-between;margin-top:14px;display:flex}.about__badge{aspect-ratio:1;place-items:center;width:150px;display:grid;position:absolute;top:52%;right:-64px}.about__badge svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.about__badge text{fill:var(--bone);font-family:var(--f-mono);letter-spacing:.08em;font-size:13px}.about__badge-core{background:var(--sun);width:22px;height:22px;box-shadow:0 0 30px var(--sun);border-radius:50%}.about__interests{grid-column:8/span 5;padding-top:18%}.about__sub{color:var(--bone-dim);margin-bottom:2.4em}.about__interest{border-top:1px solid var(--line);grid-template-columns:3.4em 1fr;column-gap:12px;padding:28px 0 32px;display:grid;position:relative}.about__interest:last-child{border-bottom:1px solid var(--line)}.about__interest-n{color:var(--sun);padding-top:.9em}.about__interest h3{font-size:var(--fs-h3);margin-bottom:.4em;line-height:1}.about__interest p{color:var(--bone-dim);grid-column:2;max-width:44ch}.about__approach{margin-top:clamp(120px,16vw,240px)}.about__approach-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(48px,6vw,88px);display:flex}.about__approach-head .about__sub{margin:0}.about__approach-title{letter-spacing:-.045em;font-size:clamp(36px,5.4vw,96px);font-weight:700;line-height:.95}.about__approach-title .serif{font-weight:400}.about__route{position:relative}.about__route-line{background:linear-gradient(90deg, var(--sun), var(--bone-faint));transform-origin:0;height:1px;position:absolute;top:6px;left:0;right:0}.about__steps{gap:var(--gutter);grid-template-columns:repeat(4,1fr);display:grid}.about__step-dot{border:1.5px solid var(--sun);background:var(--ink);border-radius:50%;width:13px;height:13px;margin-bottom:32px;display:block}.about__step:first-child .about__step-dot{background:var(--sun)}.about__step-n{color:var(--bone-dim)}.about__step h3{letter-spacing:-.03em;margin:.3em 0 .4em;font-size:clamp(24px,2.2vw,36px);font-weight:700}.about__step p{color:var(--bone-dim);max-width:30ch}@media (width<=900px){.about__statement{text-indent:0}.about__figure{grid-column:1/span 10}.about__badge{width:116px;right:-30px}.about__interests{grid-column:1/-1;padding-top:40px}.about__steps{grid-template-columns:1fr 1fr;row-gap:48px}.about__route-line{display:none}}@media (width<=520px){.about__steps{grid-template-columns:1fr}}.notes{background:var(--ink);padding:clamp(40px,6vw,100px) 0 clamp(80px,10vw,160px);position:relative;overflow:hidden}.notes__head{padding:0 var(--gutter);color:var(--bone-dim);justify-content:space-between;align-items:baseline;gap:24px;display:flex}.notes__quote{color:var(--bone);text-align:right;font-size:clamp(22px,2.4vw,40px)}.notes__stage{height:clamp(640px,110vh,1100px);position:relative}.notes__type{z-index:2;white-space:nowrap;pointer-events:none;position:absolute;top:50%;left:0;translate:0 -50%}.notes__type-inner{color:var(--bone);padding-left:4vw;font-size:clamp(110px,21vw,380px)}.notes__photo{z-index:3;will-change:transform;position:absolute}.notes__photo-frame{border-radius:var(--radius);overflow:hidden}.notes__photo img{object-fit:cover;width:100%;height:100%}.notes__photo figcaption{color:var(--bone-dim);margin-top:10px}.notes__photo--1{width:clamp(150px,17vw,300px);top:4%;left:6vw}.notes__photo--1 .notes__photo-frame{aspect-ratio:3/4}.notes__photo--2{z-index:1;width:clamp(200px,26vw,460px);top:26%;left:34vw}.notes__photo--2 .notes__photo-frame{aspect-ratio:4/5}.notes__photo--2 img{filter:grayscale()contrast(1.1)brightness(.7)}.notes__photo--3{width:clamp(140px,15vw,270px);top:2%;right:8vw}.notes__photo--3 .notes__photo-frame{aspect-ratio:3/4}.notes__photo--4{width:clamp(170px,19vw,340px);bottom:2%;right:20vw}.notes__photo--4 .notes__photo-frame{aspect-ratio:4/5}@media (width<=760px){.notes__head{flex-direction:column;gap:12px}.notes__quote{text-align:left}.notes__stage{height:150vw;min-height:560px}.notes__photo--1{width:36vw;top:6%;left:4vw}.notes__photo--2{width:44vw;top:32%;left:30vw}.notes__photo--3{width:30vw;top:2%;right:4vw}.notes__photo--4{width:38vw;bottom:4%;right:8vw}}.work{background:var(--ink);position:relative}.work__pin{height:100svh;position:relative;overflow:hidden}.work__bgword{z-index:0;white-space:nowrap;color:#0000;-webkit-text-stroke:1px #ece6da17;pointer-events:none;font-size:30vw;position:absolute;bottom:-.12em;left:0}.work__track{z-index:1;height:100%;padding:0 10vw 0 var(--gutter);will-change:transform;gap:7vw;width:max-content;display:flex;position:relative}.work__intro{width:46vw;padding-top:var(--nav-h);flex-direction:column;flex:none;justify-content:center;gap:28px;display:flex}.work__title{font-size:clamp(64px,7.6vw,180px)}.work__title-line{padding-bottom:.04em;display:block;overflow:hidden}.work__title-line>span{display:block}.work__title .serif{text-transform:none;letter-spacing:-.03em;color:var(--sun);padding-left:.6em;font-size:1.12em;line-height:.8}.work__sub{max-width:36ch;color:var(--bone-dim)}.work__hint{color:var(--bone);align-items:center;gap:10px;display:inline-flex}.project{width:72vw;padding:calc(var(--nav-h) + 6svh) 0 13svh;flex:none;grid-template-rows:auto auto;grid-template-columns:46vw 1fr;align-content:start;gap:16px 2.5vw;display:grid}.project--low{align-content:end}.project__meta{color:var(--bone-dim);grid-column:1;justify-content:space-between;display:flex}.project__reveal-wrap{overflow:hidden}.project__reveal{display:inline-block}.project__media{aspect-ratio:16/10;border-radius:var(--radius);background:var(--ink-3);grid-area:2/1;width:100%;max-height:58svh;display:block;position:relative;overflow:hidden}.project__img{object-fit:cover;width:118%;max-width:none;height:100%;transition:transform 1.2s var(--ease-out), filter .8s;will-change:transform;position:absolute;top:0;left:-9%}.project__media:hover .project__img{transform:scale(1.04)}.distort-canvas{pointer-events:none;position:absolute;inset:0;width:100%!important;height:100%!important}.project__body{flex-direction:column;grid-area:2/2;align-self:end;gap:22px;display:flex;position:relative}.project--low .project__body{align-self:start}.project__title{font-size:min(clamp(56px, 6.6vw, 128px), calc(32vw / (var(--len,8) * .74)));mix-blend-mode:difference;width:calc(100% + 9vw);color:var(--bone);pointer-events:none;margin-left:-9vw;padding-bottom:.05em;line-height:.84;overflow:hidden}.project__title-inner{display:block}.project__desc{max-width:34ch;color:var(--bone-dim)}.project__facts{gap:12px;display:grid}.project__facts>div{border-top:1px solid var(--line);grid-template-columns:5.5em 1fr;gap:8px;padding-top:12px;display:grid}.project__facts dt{color:var(--bone-dim);padding-top:.3em}.project__facts dd{font-size:15px}.project__actions{flex-wrap:wrap;align-items:center;gap:22px;margin:-4px;padding:4px;display:flex}.work__outro{flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:28px;width:34vw;display:flex}.work__outro-text{font-size:clamp(36px,4vw,72px);line-height:1}.work__progress{z-index:2;left:var(--gutter);right:var(--gutter);color:var(--bone-dim);grid-template-columns:auto 1fr auto;align-items:center;gap:24px;display:grid;position:absolute;bottom:clamp(18px,3.5svh,36px)}.work__progress b{color:var(--bone);font-weight:500}.work__progress-bar{background:var(--line);height:1px;overflow:hidden}.work__progress-bar>span{background:var(--sun);transform-origin:0;height:100%;display:block;transform:scaleX(0)}@media (width<=899px),(prefers-reduced-motion:reduce){.work__pin{height:auto;padding:clamp(80px,14vw,140px) 0;overflow:visible}.work__bgword,.work__progress,.work__hint{display:none}.work__track{width:auto;padding:0 var(--gutter);flex-direction:column;gap:clamp(88px,16vw,140px)}.work__intro,.work__outro{width:auto;padding-top:0}.project{grid-template-columns:minmax(0,1fr);width:auto;min-width:0;padding:0}.project__media{grid-row:auto;max-height:none}.project__body{grid-area:auto/1;align-self:start}.project__title{font-size:min(clamp(40px, 13vw, 110px), calc((100vw - 2 * var(--gutter)) / (var(--len,8) * .74)));width:auto;margin-top:-.55em;margin-left:0}}.skills{background:var(--ink);padding-bottom:clamp(64px,8vw,120px)}.skills__head{grid-template-columns:1fr auto;align-items:end;gap:24px 48px;margin-bottom:clamp(56px,8vw,120px);display:grid}.skills__title{font-size:var(--fs-h2)}.skills__title-line{padding-bottom:.04em;display:block;overflow:hidden}.skills__title-line>span{display:block}.skills__title .serif{text-transform:none;letter-spacing:-.02em;font-size:1.1em}.skills__intro{max-width:32ch;color:var(--bone-dim);padding-bottom:.6em}.skill-panel{--pad:clamp(24px, 3.4vw, 56px);top:calc(var(--nav-h) + var(--i) * clamp(40px, 5vw, 64px));min-height:calc(100svh - var(--nav-h) - 2 * clamp(40px, 5vw, 64px) - 24px);padding:var(--pad);gap:var(--pad);transform-origin:50% 0;will-change:transform;border-radius:10px;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:clamp(40px,6vw,80px);display:grid;position:sticky}.skill-panel:last-child{margin-bottom:0}.skill-panel--design{background:var(--bone);color:var(--ink);--muted:#0c0c0b8c;--rule:#0c0c0b29;--hl:var(--ink);--hl-text:var(--bone);--peak:var(--sun)}.skill-panel--develop{background:var(--ink-3);color:var(--bone);border:1px solid var(--line);--muted:var(--bone-dim);--rule:var(--line);--hl:var(--bone);--hl-text:var(--ink);--peak:var(--sun)}.skill-panel--create{background:var(--sun);color:var(--ink);--muted:#0c0c0b99;--rule:#0c0c0b33;--hl:var(--ink);--hl-text:var(--sun);--peak:var(--bone)}.skill-panel__head{flex-direction:column;grid-column:1/-1;gap:clamp(16px,2vw,32px);display:flex}.skill-panel__head .mono{color:var(--muted)}.skill-panel__title{--wdth:125;font-family:var(--f-display);font-variation-settings:"wdth" var(--wdth);letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap;font-size:min(clamp(64px,10.5vw,200px),15svh);font-weight:800;line-height:.8}.skill-panel__tagline{align-self:end;max-width:16ch;font-size:clamp(22px,2.2vw,36px);line-height:1.05}.skill-panel__list{border-top:1px solid var(--rule);grid-column:2;align-self:end}.skill{border-bottom:1px solid var(--rule);isolation:isolate;transition:color .45s var(--ease-out);grid-template-columns:minmax(0,1fr) clamp(80px,9vw,130px) 7.5em;align-items:center;gap:16px;padding:clamp(10px,min(1.4vw,1.9svh),18px) 10px;display:grid;position:relative}.skill:before{content:"";z-index:-1;background:var(--hl);transform-origin:50% 100%;transition:transform .5s var(--ease-out);position:absolute;inset:0;transform:scaleY(0)}.skill:hover{color:var(--hl-text)}.skill:hover:before{transform:scaleY(1)}.skill__name{letter-spacing:-.025em;font-variation-settings:"wdth" 100;transition:font-variation-settings .6s var(--ease-out), letter-spacing .6s var(--ease-out);overflow-wrap:anywhere;font-size:clamp(20px,1.9vw,32px);font-weight:600;line-height:1.1}.skill:hover .skill__name{font-variation-settings:"wdth" 125;letter-spacing:-.035em}.skill__note{color:var(--muted);text-align:right;transition:color .45s}.skill:hover .skill__note{color:inherit}.skill__profile{width:100%;height:auto;overflow:visible}.skill__profile-line{fill:none;stroke:currentColor;stroke-width:1.3px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-linejoin:round}.skill__profile-area{fill:currentColor;opacity:.08}.skill__profile-peak{fill:var(--peak)}.skill:hover .skill__profile-peak{fill:currentColor}@media (width<=900px){.skills__head{grid-template-columns:1fr}.skill-panel{min-height:0;top:calc(var(--nav-h) + var(--i) * 28px);grid-template-columns:1fr}.skill-panel__title{font-size:min(clamp(44px,14vw,120px),16svh)}.skill-panel__list{grid-column:1}}@media (width<=520px){.skill{grid-template-columns:minmax(0,1fr) 64px;padding-inline:4px}.skill__note{text-align:left;grid-column:1/-1;margin-top:-10px}}@media (height<=560px){.skill-panel{--pad:20px;gap:16px}.skill-panel__tagline{font-size:20px}}.route{background:var(--ink)}.route__head{margin-bottom:clamp(64px,9vw,140px)}.route__title{font-size:var(--fs-h2)}.route__title-line{padding-bottom:.04em;display:block;overflow:hidden}.route__title-line>span{display:block}.route__title .serif{text-transform:none;letter-spacing:-.02em;color:var(--sun);padding-left:1.4em;font-size:1.1em}.route__grid{gap:var(--gutter);grid-template-columns:5fr 7fr;display:grid}.route__aside{position:relative}.route__readout{flex-direction:column;gap:14px;display:flex;position:sticky;top:28svh}.route__readout-label,.route__alt{color:var(--bone-dim)}.route__year{font-variant-numeric:tabular-nums;padding-bottom:.02em;font-size:clamp(96px,15vw,280px);line-height:.85;display:flex;overflow:hidden}.route__year>span{animation:digit-in .9s var(--ease-out) both;display:inline-block}.route__alt{animation:fade-up .8s var(--ease-out) both}@keyframes digit-in{0%{transform:translateY(105%)}to{transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.route__list{padding-left:clamp(36px,4vw,64px);position:relative}.route__line{background:var(--line);width:1px;position:absolute;top:8px;bottom:0;left:6px}.route__line-fill{background:var(--sun);transform-origin:top;position:absolute;inset:0}.waypoint{padding-bottom:clamp(72px,10vw,150px);position:relative}.waypoint:last-child{padding-bottom:0}.waypoint__dot{border:1.5px solid var(--bone-dim);background:var(--ink);width:13px;height:13px;transition:background .4s, border-color .4s, transform .5s var(--ease-out);border-radius:50%;position:absolute;top:4px;left:calc(-1*clamp(36px,4vw,64px))}.waypoint.is-active .waypoint__dot{background:var(--sun);border-color:var(--sun);transform:scale(1.35)}.waypoint__meta{color:var(--bone-dim);gap:1.6em;display:flex}.waypoint__title{letter-spacing:-.04em;color:var(--bone-dim);margin:.35em 0 .15em;font-size:clamp(32px,3.8vw,68px);font-weight:700;line-height:.98;transition:color .4s}.waypoint.is-active .waypoint__title{color:var(--bone)}.waypoint__place{margin-bottom:.8em;font-size:clamp(22px,2vw,32px)}.waypoint__text{max-width:46ch;color:var(--bone-dim)}@media (width<=860px){.route__grid{grid-template-columns:1fr}.route__aside{display:none}.waypoint__title{color:var(--bone)}}
