@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,300..800&family=Gasoek+One&family=Gothic+A1:wght@400;500;700&display=swap";:root{--bg:#fbfbfa;--ink:#0b0b0c;--mute:#8a8a90;--line:#e7e7e9;--sans:"Bricolage Grotesque", "Gothic A1", -apple-system, sans-serif;--display:"Bricolage Grotesque", "Gasoek One", "Gothic A1", sans-serif;--gutter:clamp(20px, 4vw, 64px);--ease:cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-synthesis-weight:none}.hero__title,.about__text,.h-xl,.card__title,.awards__list b,.marquee,.goals__list li,.contact__mail,.fin,.post h3{font-family:var(--display)}html[lang=ko] :is(.hero__title,.about__text,.h-xl,.card__title,.awards__list b,.marquee,.goals__list li,.contact__mail,.fin,.post h3){letter-spacing:0;line-height:1.12}body{background:var(--bg);color:var(--ink);font-family:var(--sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;font-size:clamp(16px,1.15vw,19px);line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:6px}::selection{background:var(--ink);color:var(--bg)}[hidden]{display:none!important}em{font-style:normal;font-weight:inherit;color:var(--mute)}[data-scroll]{--p:.5;--in:1;--out:0}.progress{z-index:50;background:var(--ink);transform-origin:0;height:3px;transform:scaleX(var(--page,0));position:fixed;inset:0 0 auto}.site-header{z-index:40;padding:18px var(--gutter);pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.site-header>*{pointer-events:auto}.site-nav{-webkit-backdrop-filter:blur(18px)saturate(1.6);background:#ffffffa6;border:1px solid #ffffffe6;border-radius:999px;gap:4px;padding:6px;display:flex;box-shadow:0 6px 30px #0000000f,inset 0 1px #fff}.site-nav__link{color:var(--mute);transition:.25s var(--ease);border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:500}.site-nav__link:hover,.site-nav__link--active{color:var(--ink);background:#0000000d}.lang-toggle{font:500 .8rem var(--sans);cursor:pointer;color:var(--ink);-webkit-backdrop-filter:blur(18px);width:44px;height:44px;transition:transform .25s var(--ease);background:#ffffffa6;border:1px solid #ffffffe6;border-radius:50%;box-shadow:0 6px 30px #0000000f,inset 0 1px #fff}.lang-toggle:hover{transform:scale(1.08)rotate(-8deg)}main,footer{padding-inline:var(--gutter)}section{padding-block:clamp(80px,14vw,220px)}.label{font:500 .78rem var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--mute);margin-bottom:2rem}.hero{min-height:160vh;margin-inline:calc(var(--gutter) * -1);padding:0;position:relative}.hero__stick{height:100vh;padding:0 var(--gutter) 7vh;flex-direction:column;justify-content:flex-end;display:flex;position:sticky;top:0;overflow:hidden}.hero__blob{opacity:.55;pointer-events:none;will-change:transform;border-radius:50%;position:absolute}.hero__blob--a{width:46vw;height:46vw;transform:translate(calc(var(--out) * -12vw), calc(var(--out) * 30vh)) scale(calc(1 + var(--out)));background:radial-gradient(closest-side,#ffd9e6 0%,#ffe4d6b3 45%,#ffe9d200 100%);top:6vh;right:-10vw}.hero__blob--b{width:38vw;height:38vw;transform:translate(calc(var(--out) * 14vw), calc(var(--out) * -10vh));background:radial-gradient(closest-side,#d6e6ff 0%,#e4dcffb3 45%,#e6dcff00 100%);top:20vh;left:-8vw}.hero__title em{color:inherit}.hero__title{letter-spacing:-.055em;transform:translateY(calc(var(--out) * -22vh)) scale(calc(1 - var(--out) * .25));transform-origin:0 100%;opacity:calc(1 - var(--out) * 1.1);font-size:clamp(5rem,24vw,30rem);font-weight:800;line-height:.86;position:relative}body.lang-en .hero__title{font-size:clamp(4rem,15.5vw,20rem);line-height:.9}.hero__sub{opacity:calc(1 - var(--out) * 2);justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:3vh;display:flex;position:relative}.hero__lead{justify-items:start;gap:1.1rem;display:grid}.hero__sub p{max-width:28ch;font-size:clamp(1.1rem,1.8vw,1.6rem);font-weight:500;line-height:1.3}.hero__scroll{font:500 .78rem var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--mute)}.reveal{opacity:var(--in);transform:translateY(calc((1 - var(--in)) * 70px))}.about__text{letter-spacing:-.045em;font-size:clamp(2.4rem,8.2vw,11rem);font-weight:700;line-height:1.02}.about__text .w{opacity:calc(.12 + (var(--p) * 1.5 - .25 - var(--i) / var(--n) * .5) * 8)}.about__sub{max-width:34ch;color:var(--mute);margin-top:3rem;font-size:clamp(1.1rem,1.8vw,1.6rem);line-height:1.35}.h-xl{letter-spacing:-.06em;font-size:clamp(3.5rem,15vw,20rem);font-weight:800;line-height:.9}.h-xl .row{padding-bottom:.06em;display:block;overflow:hidden}.h-xl .row>span{transform:translateY(calc((1 - var(--in)) * 105%));display:block}.projects__list{margin-top:clamp(40px,6vw,100px)}.card{background:var(--bg);min-height:calc(100svh - 9vh - 1.5rem);box-shadow:0 -30px 40px -10px var(--bg);transform:scale(calc(1 - var(--out) * .07));transform-origin:50% 0;flex-direction:column;margin-bottom:14vh;padding:1.2rem 0 1.6rem;display:flex;position:sticky;top:9vh}.card__top{flex-wrap:wrap;align-items:baseline;gap:1.2rem;margin-bottom:1.2rem;display:flex}.card__no{font:500 .85rem var(--sans);color:var(--mute)}.card__title{letter-spacing:-.055em;font-size:clamp(2.8rem,9vw,11rem);font-weight:800;line-height:.95}.card__tag{font:500 .78rem var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--mute);margin-left:auto}.frame{isolation:isolate;background:var(--g,linear-gradient(135deg, #ffe0ec, #dfe9ff));border-radius:clamp(28px,4vw,64px);flex:auto;min-height:160px;position:relative;overflow:hidden;box-shadow:0 40px 80px -30px #14142840,inset 0 2px #ffffffe6}.frame__shot{z-index:0;position:absolute;inset:0;overflow:hidden}.frame__shot canvas.edge{width:100%;height:100%;display:block;position:absolute;inset:0}.frame:has(.frame__shot):before{display:none}.frame:has(.frame__shot):after{display:none}.frame__shot .fit{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.frame__shot .fit img{width:auto;max-width:100%;height:auto;max-height:100%;display:block}.frame__art{z-index:0;position:absolute;inset:0}.frame__art i{opacity:.85;will-change:transform;background:radial-gradient(closest-side, var(--cc) 0%, var(--cc) 25%, #fff0 100%);border-radius:50%;position:absolute;scale:1.3}.frame__art i:first-child{aspect-ratio:1;--cc:var(--c1);width:46%;transform:translate(calc((var(--p) - .5) * 30%), calc((var(--p) - .5) * -20%));top:10%;left:8%}.frame__art i:nth-child(2){aspect-ratio:1;--cc:var(--c2);width:40%;transform:translate(calc((var(--p) - .5) * -40%), calc((var(--p) - .5) * 25%));bottom:0;right:6%}.frame__art i:nth-child(3){aspect-ratio:1;--cc:var(--c3);width:26%;transform:translate(calc((var(--p) - .5) * 60%), 0);top:8%;right:30%}.frame__mark{z-index:1;letter-spacing:-.06em;color:#ffffffe6;mix-blend-mode:soft-light;transform:scale(calc(.9 + var(--p) * .2));place-items:center;font-size:clamp(3rem,12vw,14rem);font-weight:800;display:grid;position:absolute;inset:0}.frame:before{content:"";z-index:2;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#fff9 0%,#ffffff1f 28%,#fff0 52%),linear-gradient(#fff0 65%,#ffffff47);position:absolute;inset:0;box-shadow:inset 0 0 0 1.5px #ffffffb3,inset 0 1px #fff,inset 0 -30px 60px -20px #ffffff8c,inset 0 0 80px #ffffff40}.frame:after{content:"";z-index:2;aspect-ratio:1;pointer-events:none;width:60%;transform:translateX(calc(var(--p) * 140%));background:radial-gradient(circle,#ffffff80,#0000 65%);border-radius:50%;position:absolute;inset:-40% auto auto -20%}.card__body{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;margin-top:1.4rem;display:flex}.card__body p{color:#3a3a40;max-width:46ch;font-size:clamp(1.05rem,1.5vw,1.4rem);line-height:1.4}.pill{background:var(--ink);color:#fff;transition:.3s var(--ease);border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.4rem;font-size:.95rem;font-weight:600;display:inline-flex}.pill:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 14px 30px -10px #0006}.pill span{transition:transform .3s var(--ease);display:inline-block}.pill:hover span{transform:translate(3px,-3px)}.more{color:var(--mute);margin-top:2rem;font-size:clamp(1.1rem,1.6vw,1.5rem)}.awards__list{counter-reset:a;margin-top:clamp(40px,6vw,90px);list-style:none}.awards__list li{counter-increment:a;border-top:1px solid var(--line);opacity:var(--in);transform:translateX(calc((1 - var(--in)) * -40px));grid-template-columns:4rem 1fr auto;align-items:baseline;gap:1.5rem;padding:clamp(18px,2.4vw,36px) 0;display:grid}.awards__list li:last-child{border-bottom:1px solid var(--line)}.awards__list li:before{content:"0" counter(a);font:500 .85rem var(--sans);color:var(--mute)}.awards__list b{letter-spacing:-.035em;transition:transform .4s var(--ease);align-items:center;gap:.5em;font-size:clamp(1.5rem,4.2vw,4.4rem);font-weight:700;line-height:1.05;display:flex}.awards__list li:hover b{transform:translate(14px)}.awards__list i{font:500 .85rem var(--sans);white-space:nowrap;background:#f0f0f2;border-radius:999px;padding:.35rem .9rem;font-style:normal}.awards__list i.gold{background:linear-gradient(135deg,#fff1b8,#ffe08a)}.awards__list i.silver{background:linear-gradient(135deg,#f4f6fa,#d8dde6)}.awards__note{color:var(--mute);max-width:60ch;margin-top:2rem;font-size:.95rem}.skills{padding-block:clamp(40px,6vw,100px);overflow:hidden}.marquee{white-space:nowrap;letter-spacing:-.055em;font-size:clamp(4rem,13vw,17rem);font-weight:800;line-height:1.02}.marquee span{will-change:transform;display:inline-block}.marquee--a span{transform:translateX(calc(var(--p) * -35%))}.marquee--b span{transform:translateX(calc(-35% + var(--p) * 35%));color:#0000;-webkit-text-stroke:1.5px var(--ink)}.skills__note{margin:2rem var(--gutter) 0;color:var(--mute)}.goals__list{counter-reset:g;gap:1rem;margin-top:clamp(30px,5vw,80px);list-style:none;display:grid}.goals__list li{counter-increment:g;letter-spacing:-.045em;opacity:var(--in);transform:translateY(calc((1 - var(--in)) * 60px));align-items:baseline;gap:1.5rem;font-size:clamp(1.8rem,5.6vw,6.5rem);font-weight:700;line-height:1.05;display:flex}.goals__list li:before{content:counter(g);font:500 .4em var(--sans);color:var(--mute)}.contact{text-align:left}.contact__mail{letter-spacing:-.06em;white-space:nowrap;transition:letter-spacing .5s var(--ease);font-size:clamp(1.5rem,7.1vw,10.5rem);font-weight:800;line-height:.95;display:block}.contact__mail:hover{letter-spacing:-.035em}.contact__grid{flex-wrap:wrap;gap:.8rem;margin-top:3rem;display:flex}.chip{border:1px solid var(--line);transition:.3s var(--ease);background:#ffffffb3;border-radius:999px;padding:.9rem 1.6rem;font-weight:600;box-shadow:inset 0 1px #fff}.chip:hover{background:var(--ink);color:#fff;transform:translateY(-3px)}.fin{letter-spacing:-.06em;transform:scale(calc(.8 + var(--in) * .2));transform-origin:0 100%;margin-top:clamp(60px,10vw,160px);font-size:clamp(4rem,20vw,28rem);font-weight:800;line-height:.9}footer{color:var(--mute);font:500 .8rem var(--sans);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:4rem;padding-block:40px;display:flex}footer a:hover{color:var(--ink)}.page{padding:22vh var(--gutter) 10vh}.page .h-xl{margin-bottom:clamp(40px,6vw,90px)}.post{border-top:1px solid var(--line);padding:clamp(24px,3vw,44px) 0}.post h3{letter-spacing:-.045em;font-size:clamp(1.8rem,5vw,5rem);font-weight:800;line-height:1}.post-date{font:500 .85rem var(--sans);color:var(--mute);margin:.8rem 0}.post p:last-child{color:#3a3a40;max-width:52ch;font-size:clamp(1.05rem,1.5vw,1.4rem)}@media (width<=720px){.site-nav__link{padding:8px 11px;font-size:.8rem}.hero__sub{flex-direction:column;align-items:flex-start}.awards__list li{grid-template-columns:2.4rem 1fr}.awards__list i{grid-column:2;justify-self:start}.hero__title{font-size:30vw}body.lang-en .hero__title{font-size:25vw}.card{min-height:calc(100svh - 12vh - 1.5rem);top:12vh}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{opacity:1!important;transform:none!important}.hero__blob{opacity:.55!important}.about__text .w{opacity:1!important}.hero{min-height:100vh}.card{position:static}}.lens{z-index:3;pointer-events:none;will-change:transform;aspect-ratio:1;border-radius:50%;width:clamp(170px,22vw,340px);position:absolute;top:0;left:0;overflow:hidden}.lens__view{background:var(--bg);position:absolute}.lens__page{transform-origin:0 0;top:0;left:0;position:absolute!important}.lens__page>*{pointer-events:none}.lens:before{content:"";z-index:1;border-radius:inherit;background:radial-gradient(circle at 38% 32%,#fff0 45%,#6e7dd217 80%,#3c469629 100%);position:absolute;inset:0}.lens:after{content:"";z-index:2;border-radius:inherit;background:conic-gradient(from 0deg, #fff0 0 8%, #fffffff2 16% 22%, #fff0 32% 58%, #28327859 66% 72%, #fff0 82% 100%);-webkit-mask-composite:xor;padding:1.5px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.lens.drop:before{background:radial-gradient(30% 22% at 32% 24%,#fffffff2,#fff0),radial-gradient(circle at 38% 32%,#fff0 38%,#5a69be2b 76%,#323c8c52 100%)}.lens.drop:after{padding:var(--ring,1.5px)}.now{letter-spacing:-.01em;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);transition:.3s var(--ease);background:#ffffffb3;border-radius:999px;align-items:center;gap:.6rem;padding:.55rem 1rem .55rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #fff}.now:hover{transform:translateY(-2px)}.now b,.awards__list i.live:before{content:"";background:#2fbf71;border-radius:50%;flex:none;width:.5rem;height:.5rem;animation:2s ease-out infinite ping;display:inline-block;box-shadow:0 0 #2fbf7180}.awards__list i.live{color:#1c7a47;background:#e9f8ef;align-items:center;gap:.5rem;display:inline-flex}@keyframes ping{70%,to{box-shadow:0 0 0 .55rem #2fbf7100}}@media (prefers-reduced-motion:reduce){.now b,.awards__list i.live:before{animation:none}}.lens.cheap{background:#ffffff38}a.frame{cursor:pointer;display:block}.frame__art{transition:transform .9s var(--ease)}.card.is-on .frame__art{transform:rotate(160deg)scale(1.3)}.frame__swirl{z-index:1;pointer-events:none;opacity:0;background:conic-gradient(from 0deg, var(--c1), var(--c3), var(--c2), var(--c1));filter:blur(46px)saturate(1.5);border-radius:50%;position:absolute;inset:-30%}.card.is-on .frame__swirl{animation:swirl .85s var(--ease) both}.card.is-leaving .frame__swirl{animation:swirl .8s var(--ease) reverse both}@keyframes swirl{0%{opacity:0;transform:rotate(0)scale(.4)}35%{opacity:.95}70%{opacity:.9;transform:rotate(320deg)scale(1.1)}to{opacity:0;transform:rotate(560deg)scale(1.7)}}.frame__shot{clip-path:circle(0%);filter:blur(28px)saturate(1.8);transition:clip-path .6s var(--ease) .15s, filter .5s var(--ease) .15s, scale .6s var(--ease) .15s;scale:1.14}.card.is-on .frame__shot{clip-path:circle(80%);filter:none;transition:clip-path .7s var(--ease) .2s, filter .6s var(--ease) .25s, scale .8s var(--ease) .2s;scale:1}.frame__mark{transition:opacity .4s}.card.is-on .frame__mark{opacity:0}.card__logo{transition:grid-template-columns .45s cubic-bezier(.34, 1.3, .5, 1), margin .45s var(--ease);grid-template-columns:0fr;align-self:center;margin-inline:-.6rem;display:grid}.card__logo>span{min-width:0;display:block;overflow:hidden}.card__logo img{opacity:0;width:auto;height:clamp(2.6rem,7.5vw,8rem);transition:opacity .3s, transform .6s var(--ease);display:block;transform:scale(.4)rotate(-18deg)}.card.is-on .card__logo{grid-template-columns:1fr;margin-inline:0}.card.is-on .card__logo img{opacity:1;transition:opacity .25s 40ms,transform .55s cubic-bezier(.34,1.56,.64,1) 40ms;transform:none}@media (prefers-reduced-motion:reduce){.frame__shot{clip-path:none;filter:none}.card__logo{grid-template-columns:1fr;margin-inline:0}.card__logo img{opacity:1}}.at{vertical-align:-.119em;margin:0 .024em;line-height:0;display:inline-block;overflow:hidden}.at__ring{box-sizing:border-box;min-width:.894em;height:.79em;transition:padding .5s var(--ease);border:.125em solid;border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.at__ring i{text-align:center;white-space:pre;max-width:1em;transition:max-width .38s var(--ease), opacity .25s, transform .38s var(--ease);padding:0 .012em;font-size:.78em;font-style:normal;font-weight:800;line-height:1;display:block;transform:translateY(-.07em)scaleX(1.1)}.at__ring i.sp{max-width:.3em}.at__ring i.gone{opacity:0;max-width:0;transition:max-width .22s var(--ease), opacity .16s, transform .22s var(--ease);transform:translateY(-.07em)scaleX(1.1)scale(.3)}.at__ring.open{padding:0 .17em}.mail__in{transform-origin:0;will-change:transform;display:inline-block}@media (prefers-reduced-motion:reduce){.at__ring,.at__ring i{transition:none}}.lens__page .now{-webkit-backdrop-filter:none}.lens__page .hero__blob{filter:none}.lens__page .hero__blob--a{background:radial-gradient(closest-side,#ffd9e6 0%,#ffe4d6b3 45%,#ffe9d200 100%)}.lens__page .hero__blob--b{background:radial-gradient(closest-side,#d6e6ff 0%,#e4dcffb3 45%,#e6dcff00 100%)}.awards__list .ico{object-fit:contain;flex:none;width:.92em;height:.92em;position:relative;top:-.066em}@media (width<=720px){.card__logo{display:none}}
