:root{color-scheme:dark;--ink:#080d12;--paper:#f4f3ed;--muted:#a7afb7;--red:#e45c45;--blue:#9cc6eb;--pad:clamp(22px,4.8vw,84px);--line:#ffffff29}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;background:var(--ink)}body{margin:0;color:var(--paper);background:var(--ink);font:400 14px/1.8 "DM Sans","Noto Sans KR",sans-serif}body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{border:0}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:5px}::selection{background:var(--red);color:white}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;z-index:300;background:var(--paper);color:var(--ink);padding:12px}.skip-link:focus{top:10px}
.nav{position:fixed;inset:0 0 auto;height:80px;padding:0 var(--pad);z-index:50;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#fff;transition:background .25s}.nav.is-scrolled{background:#080d12ee;backdrop-filter:blur(18px)}.nav__brand{font:23px Georgia,serif;letter-spacing:-.06em}.nav__brand span{color:var(--red);margin:0 3px}.nav nav{display:flex;gap:32px}.nav nav a,.nav__edit{font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:12px 0}.nav nav a{position:relative}.nav nav a::after{content:"";height:1px;background:var(--paper);position:absolute;bottom:7px;left:0;right:0;transform:scaleX(0);transition:transform .25s}.nav nav a:hover::after,.nav nav a[aria-current]::after{transform:scaleX(1)}.nav__edit{opacity:.8}.nav__edit span{margin-left:9px}.page-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--red);transform:scaleX(var(--progress,0));transform-origin:left}
.hero{min-height:760px;min-height:max(760px,100svh);position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:110px var(--pad) 155px;color:#fff}.hero__media{position:absolute;inset:0;z-index:-2;background:#162838}.hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;animation:hero-settle 1.8s ease-out both}.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#050b1460,transparent 35%,#050b1455 65%,#050b14bb),radial-gradient(ellipse at center,#07101c35,transparent 70%)}.hero__content{text-align:center;position:relative}.eyebrow{font-size:10px;letter-spacing:.24em}.hero .eyebrow{margin-bottom:25px;color:#fff;text-shadow:0 2px 12px #000}.hero h1{font:400 clamp(96px,12.6vw,210px)/.92 "Italiana",Georgia,serif;letter-spacing:-.055em;color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 5px 40px #0005;margin:0 auto;padding:.12em .04em;max-width:1100px;overflow:visible}.hero h1>span{display:block;overflow:visible;color:#fff;-webkit-text-fill-color:#fff;-webkit-text-stroke:0;animation:title-arrive 1.1s cubic-bezier(.2,.7,.2,1) both}.hero h1>span+span{animation-delay:.1s}.creator{display:inline-flex;align-items:center;flex-direction:column;gap:4px;margin-top:22px}.creator__portrait{position:relative;width:76px;height:76px;border:1px solid #fff9;box-shadow:0 8px 30px #0005;background:#c3a729;overflow:hidden;border-radius:50%;transition:transform .3s}.creator__portrait img{position:absolute;width:237.33%;max-width:none;height:auto;left:-68.67%;top:-148.67%}.creator:hover .creator__portrait{transform:translateY(-4px) rotate(-4deg)}.creator strong{font-size:14px;letter-spacing:.18em;margin-top:5px;color:white;text-shadow:0 2px 10px black}.creator>span:last-child{font-size:8px;letter-spacing:.21em;color:#dce4eb}.hero__bottom{position:absolute;bottom:36px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:end;gap:24px}.hero__bottom p{font-size:11px;white-space:pre-line;letter-spacing:.05em;color:#fff}.hero__edition{text-align:right;font-size:9px!important;letter-spacing:.16em!important}.scroll-cue{display:flex;flex-direction:column;gap:10px;align-items:center;font-size:9px;letter-spacing:.16em}.scroll-cue span{font-size:23px;animation:descend 2s ease-in-out infinite}
.section{padding:110px var(--pad)}.section-mark{display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:.2em}.section-mark>span{color:var(--red)}.section-mark i{width:40px;height:1px;background:currentColor;opacity:.3}.about{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 2.6fr;gap:40px;min-height:650px}.about__copy{position:relative;z-index:1;padding-top:48px}.about__copy .eyebrow{color:var(--blue);margin-bottom:25px}.about h2{font:400 clamp(36px,4.7vw,76px)/1.35 "Noto Sans KR",sans-serif;letter-spacing:-.06em;white-space:pre-line}.about__copy>p:last-of-type{max-width:540px;line-height:2.1;color:var(--muted);margin:40px 0 0 auto;white-space:pre-line}.about__stats{display:flex;gap:50px;justify-content:flex-end;margin-top:45px;color:var(--muted);font-size:9px;letter-spacing:.14em}.about__stats span{display:flex;flex-direction:column}.about__stats b{color:var(--paper);font:38px/1.5 Georgia,serif}.about__stats .stat-word{font:13px/2.6 "DM Sans",sans-serif}.orbit{width:500px;height:500px;border:1px solid #9cc6eb25;border-radius:50%;position:absolute;left:-250px;bottom:-240px}.orbit::before{content:"";position:absolute;inset:55px;border:1px solid #9cc6eb20;border-radius:50%}.orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--blue);top:75px;right:70px;box-shadow:0 0 20px var(--blue)}
.works{background:#f0efe9;color:#14202a;color-scheme:light}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:65px 0}.section-heading h2{font:400 clamp(54px,7.8vw,124px)/.98 "Italiana",Georgia,serif;letter-spacing:-.05em;overflow-wrap:anywhere}.section-heading em{color:var(--red);font-weight:400}.section-heading>p{font-size:12px;line-height:2;max-width:310px;color:#64717a}.work{display:grid;grid-template-columns:1.55fr 1fr;gap:8%;align-items:center;margin:90px 0 140px}.work:last-child{margin-bottom:0}.work:nth-child(even){grid-template-columns:1fr 1.55fr}.work:nth-child(even) .work__image{order:2}.work__image{position:relative;display:block;padding:0;background:#17232e;overflow:hidden;width:100%;aspect-ratio:5/4;text-align:left}.work:nth-child(3n+2) .work__image{aspect-ratio:4/5}.work__image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.25,1)}.work__image:hover img{transform:scale(1.035)}.image-action{position:absolute;right:16px;bottom:16px;width:42px;height:42px;display:grid;place-items:center;background:#f7f6eff2;color:#0b1420;border-radius:50%;font-size:24px;transition:transform .3s}.work__image:hover .image-action{transform:rotate(90deg)}.work__copy{min-width:0}.work__meta{font-size:10px;letter-spacing:.16em;color:#66747e;margin-bottom:24px}.work__copy h3{font:400 clamp(40px,4.6vw,76px)/1.05 "Italiana",Georgia,serif;letter-spacing:-.04em;overflow-wrap:anywhere}.work__copy p{color:#5a6872;line-height:2;white-space:pre-line;margin-top:25px}.text-button{display:inline-flex;gap:35px;border-bottom:1px solid #14202a66;background:none;padding:14px 0;margin-top:24px;font-size:11px}.text-button span{transition:transform .2s}.text-button:hover span{transform:translateX(4px)}
.interlude{text-align:center;min-height:440px;padding:95px var(--pad);display:grid;place-content:center;background:radial-gradient(ellipse at center,#172936,var(--ink) 75%)}.interlude p{font:400 clamp(38px,6vw,94px)/1.1 "Italiana",Georgia,serif;letter-spacing:-.04em}.interlude em{font-weight:400;color:var(--blue)}.interlude>span{font-size:9px;letter-spacing:.22em;color:var(--muted);margin-top:28px}.archive{overflow:hidden;background:#0e161e}.archive .section-heading em{color:var(--blue)}.archive .section-heading>p{color:var(--muted)}.archive__toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid #ffffff30;border-radius:24px;padding:7px 15px;font-size:11px;color:#c9d2d9}.filters button[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}.archive__controls{display:flex;gap:8px}.archive__controls button,.dialog__image-controls button{width:44px;height:44px;border:1px solid #ffffff45;background:none;font-size:23px}.archive__controls button:disabled{opacity:.25;cursor:default}.archive__viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--blue) #ffffff17;scroll-padding-inline:0;padding:6px 0 26px;cursor:grab;overscroll-behavior-x:contain}.archive__viewport.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}.archive__track{display:flex;gap:26px;width:max-content}.archive-card{width:clamp(270px,31vw,480px);background:none;padding:0;text-align:left;scroll-snap-align:start;flex:none}.archive-card__image{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#1b2733}.archive-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s;pointer-events:none}.archive-card:hover img{transform:scale(1.045)}.archive-card__count{position:absolute;right:12px;bottom:12px;padding:4px 10px;background:#080d12c9;font-size:10px;border:1px solid #fff5}.archive-card__meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #fff3;margin-top:14px;padding-top:16px;font-size:11px;letter-spacing:.1em}.archive-card__meta b{font-weight:400}.archive-card__meta i{font-style:normal;color:var(--red)}.archive-card__category{display:block;color:var(--muted);font-size:10px;margin-top:5px}.archive__footer{display:flex;justify-content:space-between;margin-top:24px;font-size:9px;letter-spacing:.17em;color:var(--muted)}.archive__footer i{font-size:18px;margin-left:14px;font-style:normal}
.ending{text-align:center;padding-bottom:35px;background:var(--ink)}.ending .eyebrow{color:var(--blue)}.ending h2{font:400 clamp(70px,11vw,170px)/1 "Italiana",Georgia,serif;letter-spacing:-.05em;margin:30px 0}.ending em{color:var(--blue);font-weight:400}.ending>p:not(.eyebrow){color:var(--muted);white-space:pre-line}.ending>a{display:inline-block;font-size:10px;letter-spacing:.2em;border-bottom:1px solid #fff5;padding:12px 0;margin:25px 0 90px}footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.13em;color:var(--muted)}footer b{font-weight:400}
.project-dialog{width:min(1500px,96vw);max-width:none;max-height:94dvh;padding:0;background:#101921;color:var(--paper);border:1px solid #ffffff30;overflow:auto;overscroll-behavior:contain}.project-dialog::backdrop{background:#02060bef;backdrop-filter:blur(12px)}.dialog__top{position:sticky;top:0;z-index:2;background:#101921f5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 24px;border-bottom:1px solid #fff2;font-size:10px;letter-spacing:.15em}.dialog__top b{font-weight:400;color:var(--blue)}.dialog__top button{background:none;display:flex;align-items:center;gap:20px;min-height:44px}.dialog__top button span{font-size:27px}.dialog__layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,.85fr);gap:36px;padding:28px}.dialog__image-wrap{position:relative;height:min(59vh,700px);background:#050a0f;display:grid;place-items:center;touch-action:pan-y pinch-zoom}.dialog__image-wrap img{width:100%;height:100%;min-height:0;object-fit:contain}.dialog__image-wrap.is-loading img{opacity:.35}#image-loading{position:absolute;bottom:15px;left:15px;background:#101921cc;padding:3px 10px;font-size:11px}#image-loading:empty{display:none}.dialog__image-controls{display:flex;align-items:center;gap:15px;margin-top:15px}.dialog__image-controls>span{font-size:11px;min-width:50px;text-align:center}.dialog__image-controls a{font-size:11px;color:var(--blue);margin-left:auto}#photo-caption{font-size:12px;color:#bcc7cf;white-space:pre-line;min-height:24px;margin:14px 0}.photo-thumbs{display:flex;gap:10px;overflow:auto;padding:5px 3px 12px}.photo-thumbs button{width:90px;height:65px;flex:none;padding:0;border:2px solid transparent;background:#080d12;opacity:.55}.photo-thumbs button[aria-current=true]{border-color:var(--blue);opacity:1}.photo-thumbs img{width:100%;height:100%;object-fit:cover}.dialog__copy{padding:20px 0}.dialog__copy .eyebrow{color:var(--blue);font-size:8px}.dialog__copy h2{font:400 clamp(38px,4vw,62px)/1.1 "Italiana",Georgia,serif;margin:25px 0;overflow-wrap:anywhere}.dialog__copy>p:not(.eyebrow){white-space:pre-line;color:#b6c1ca;font-size:13px;line-height:2}.dialog__credit{border-top:1px solid #fff2;padding-top:25px;margin-top:40px;font-size:9px!important;letter-spacing:.15em}.dialog__credit b{display:block;color:var(--paper);font-weight:400}.noscript-note,#load-error{padding:20px;color:var(--paper);background:#253847}
.reveal.is-visible{animation:reveal-up .8s cubic-bezier(.2,.7,.2,1) both}@keyframes reveal-up{from{opacity:.3;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes title-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes hero-settle{from{transform:scale(1.055)}to{transform:scale(1)}}@keyframes descend{50%{transform:translateY(7px)}}
@media(min-width:1600px){.hero{min-height:100svh}.hero h1{font-size:clamp(180px,12vw,240px)}}
@media(max-width:900px){.section{padding-top:80px;padding-bottom:80px}.about{grid-template-columns:1fr}.about__copy{padding-top:10px}.about__stats{justify-content:flex-start}.section-heading{align-items:start;flex-direction:column;gap:26px;margin:45px 0}.work{gap:6%;margin-bottom:90px}.dialog__layout{grid-template-columns:1fr;gap:5px}.dialog__copy{padding-top:15px}.dialog__image-wrap{height:52vh}.dialog__credit{margin-top:20px}.hero{min-height:max(720px,100svh)}}
@media(max-width:600px){:root{--pad:22px}.nav{height:65px;gap:12px}.nav__brand{font-size:19px}.nav nav{gap:16px}.nav nav a{font-size:8px;letter-spacing:.06em}.nav__edit{font-size:9px;letter-spacing:0}.nav__edit span{display:none}.hero{min-height:max(680px,100svh);padding:105px 20px 160px}.hero h1{font-size:clamp(88px,23vw,138px);line-height:.98}.hero .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:22px}.creator{margin-top:24px}.creator__portrait{width:66px;height:66px}.hero__bottom{bottom:26px;align-items:end}.hero__bottom p{font-size:10px}.hero__edition{display:none}.scroll-cue{font-size:7px;letter-spacing:.09em;align-items:flex-end}.hero__media img{object-position:52% center}.about h2{font-size:clamp(30px,7.7vw,46px)}.about__copy>p:last-of-type{margin-top:25px;font-size:13px}.about__stats{gap:28px}.section-heading h2{font-size:clamp(41px,10.9vw,65px)}.work,.work:nth-child(even){grid-template-columns:1fr;gap:28px;margin-top:50px;margin-bottom:70px}.work:nth-child(even) .work__image{order:0}.work__image,.work:nth-child(3n+2) .work__image{aspect-ratio:4/3}.work__copy h3{font-size:42px}.work__meta{margin-bottom:15px}.work__copy p{margin-top:18px;font-size:13px}.text-button{margin-top:15px}.interlude{min-height:320px;padding-top:70px;padding-bottom:70px}.interlude p{font-size:clamp(27px,7.8vw,47px)}.archive__toolbar{align-items:end}.filters{gap:6px}.filters button{font-size:10px;padding:6px 10px}.archive__controls{gap:5px}.archive__controls button{width:37px;height:40px}.archive-card{width:78vw}.archive__track{gap:18px}.archive__footer{font-size:8px;letter-spacing:.06em}.ending h2{font-size:19vw}.ending>a{margin-bottom:60px}footer{font-size:8px}footer>span:last-child{max-width:120px;text-align:right}.project-dialog{width:100%;height:100dvh;max-height:100dvh;border:0;margin:0}.dialog__top{padding:10px 17px;font-size:9px}.dialog__layout{padding:16px;gap:8px}.dialog__image-wrap{height:45svh;min-height:240px}.dialog__copy h2{font-size:42px;margin:16px 0}.photo-thumbs button{width:75px;height:56px}.dialog__image-controls{gap:10px}.dialog__image-controls button{width:40px;height:40px}.dialog__copy .eyebrow{margin-top:12px}}
@media(max-width:360px){.nav nav{gap:10px}.nav__brand{font-size:16px}.hero{min-height:650px}.about__stats{gap:20px}.about__stats b{font-size:30px}.archive__toolbar{flex-wrap:wrap}.archive__controls{margin-left:auto}}
.creator__portrait:not(.is-source-portrait) img{width:100%;height:100%;left:0;top:0;object-fit:cover}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero h1>span{opacity:1;transform:none}}

/* Motion layer: composited transforms, restrained lighting, and a pinned About scene. */
.nav{height:76px;isolation:isolate;background:linear-gradient(180deg,#080d12b0,#080d1200)}
.nav::before{content:"";position:absolute;inset:8px 12px 7px;border:1px solid #ffffff30;border-radius:25px;background:linear-gradient(140deg,#ffffff20,#ffffff05 37%,#b9d9ff09 74%,#ffffff17);box-shadow:inset 0 1px #ffffff55,inset 0 -1px #ffffff15,0 16px 45px #0004;backdrop-filter:blur(24px) saturate(140%);z-index:-1;transition:background .5s,box-shadow .5s}
.nav::after{content:"";position:absolute;inset:9px 13px auto;height:20px;border-radius:24px 24px 50% 50%;background:linear-gradient(180deg,#ffffff24,transparent);pointer-events:none;z-index:-1}
.nav.is-scrolled{background:transparent}.nav.is-scrolled::before{background:linear-gradient(130deg,#172631ee,#0b131dde 55%,#243b50c5);box-shadow:inset 0 1px #ffffff60,0 18px 50px #0007}
.nav__actions{display:flex;align-items:center;gap:20px}.language-switch{display:flex;padding:3px;gap:2px;border-radius:99px;border:1px solid #ffffff44;background:linear-gradient(130deg,#ffffff2c,#ffffff08);box-shadow:inset 0 1px #ffffff60,0 4px 18px #0003;backdrop-filter:blur(18px);transform:translate(var(--mx,0px),var(--my,0px));transition:transform .35s}.language-switch button{min-width:32px;padding:5px 7px;border-radius:99px;background:transparent;color:#c4d1db;font-size:9px;letter-spacing:.08em;transition:background .35s,color .35s,box-shadow .35s}.language-switch button[aria-pressed=true]{color:#0b1520;background:linear-gradient(145deg,#fff,#cadbe9);box-shadow:0 2px 10px #0004,inset 0 1px #fff}
.hero__media img{animation:hero-settle 1.8s ease-out both;transform:translate3d(0,var(--hero-shift,0px),0) scale(1.055);will-change:transform}.hero__content{transform:translate3d(0,calc(var(--hero-shift,0px) * -.35),0)}
.creator{margin-top:14px;padding:10px 22px 12px;border:1px solid #ffffff46;border-radius:100px;background:linear-gradient(145deg,#ffffff28,#ffffff08 56%,#93bfe21c);box-shadow:inset 0 1px #ffffff6b,0 12px 30px #0005;backdrop-filter:blur(16px);transform:translate(var(--mx,0px),var(--my,0px));transition:transform .4s,box-shadow .4s}.creator:hover{box-shadow:inset 0 1px #ffffffa0,0 16px 45px #0009,0 0 34px #b0d8ff33}.creator__portrait{width:130px;height:130px;border:2px solid #ffffffb8;box-shadow:0 0 0 5px #ffffff18,0 12px 35px #0008;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.creator:hover .creator__portrait{transform:translateY(-5px) rotate(-3deg) scale(1.035)}
.about{display:block;padding:0;min-height:205svh;overflow:clip;isolation:isolate;background:#101923}.about__visual{position:sticky;top:0;height:100svh;overflow:hidden;z-index:-1;background:#172532;transform:scale(calc(1 + var(--about-exit,0) * .045));opacity:calc(1 - var(--about-exit,0) * .28);will-change:transform,opacity}.about__visual img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.07);filter:saturate(.84)}.about__shade{position:absolute;inset:0;background:linear-gradient(90deg,#080d12dc,#080d1250 50%,#080d12a8),linear-gradient(0deg,#080d12df,transparent 42%,#080d125c)}.about__content{position:relative;margin-top:-100svh;padding:24svh var(--pad) 30svh;min-height:200svh;display:grid;grid-template-columns:1fr 2.6fr;gap:40px;align-content:start;z-index:1}.about__copy{padding-top:18svh}.about__copy>p:last-of-type{color:#e0e5e7;text-shadow:0 2px 12px #000}.about__stats{margin-top:18svh}.about .section-mark,.about h2,.about__stats{filter:drop-shadow(0 3px 14px #0008)}.about .orbit{z-index:1;bottom:5%}
.works{position:relative;z-index:2;margin-top:-7svh;border-radius:40px 40px 0 0;box-shadow:0 -28px 85px #03080c66;overflow:hidden;background:radial-gradient(ellipse 48% 28% at var(--pointer-x,70%) 4%,#d5e4ed77,transparent),linear-gradient(150deg,#f0efe9,#e9edf0 53%,#f0efe9)}.works::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#31485a06 1px,transparent 1px),linear-gradient(90deg,#31485a06 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(180deg,#0006,transparent 65%)}
.section-heading.reveal h2{clip-path:inset(0 0 100% 0);transform:translateY(28px);transition:clip-path 1s cubic-bezier(.19,1,.22,1),transform 1s cubic-bezier(.19,1,.22,1)}.section-heading.reveal.is-visible h2{clip-path:inset(0);transform:none}.section-heading.reveal>p{opacity:0;transform:translateY(18px);transition:opacity .8s .3s,transform .8s .3s}.section-heading.reveal.is-visible>p{opacity:1;transform:none}
.work.reveal{animation:none}.work.reveal .work__image{clip-path:inset(8% 0 8% 0 round 4px);opacity:.68;transform:translateY(38px) scale(.96);transition:clip-path 1.15s cubic-bezier(.2,.8,.2,1),opacity .9s,transform 1.15s cubic-bezier(.2,.8,.2,1)}.work.reveal.is-visible .work__image{clip-path:inset(0);opacity:1;transform:none}.work.reveal .work__copy>*{opacity:0;transform:translateY(20px);transition:opacity .75s,transform .8s cubic-bezier(.2,.8,.2,1)}.work.reveal.is-visible .work__copy>*{opacity:1;transform:none}.work.reveal.is-visible .work__copy>*:nth-child(1){transition-delay:.13s}.work.reveal.is-visible .work__copy>*:nth-child(2){transition-delay:.23s}.work.reveal.is-visible .work__copy>*:nth-child(3){transition-delay:.32s}.work.reveal.is-visible .work__copy>*:nth-child(4){transition-delay:.42s}.work__image::after,.archive-card__image::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff2f 48%,transparent 63%);transform:translateX(-130%);transition:transform 1.1s;pointer-events:none}.work__image:hover::after,.archive-card:hover .archive-card__image::after{transform:translateX(130%)}
.interlude{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at calc(50% + var(--interlude-shift,0) * 20%) 35%,#25435b,#080d12 72%)}.interlude::before{content:"";position:absolute;inset:-35%;z-index:-1;background:conic-gradient(from 30deg at var(--pointer-x,50%) var(--pointer-y,50%),transparent,#78b8e71a,transparent,#e45c4512,transparent);transform:rotate(calc(var(--interlude-shift,0) * 20deg));transition:transform .2s}.interlude p{transform:translateY(calc(var(--interlude-shift,0) * -24px))}.interlude p.reveal.is-visible{animation:reveal-up 1s both}
.archive{position:relative;isolation:isolate;background:radial-gradient(ellipse 58% 43% at var(--pointer-x,70%) 12%,#20415885,transparent),#0e161e}.archive::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(90deg,#ffffff07 0 1px,transparent 1px 70px);mask-image:linear-gradient(180deg,transparent,#0009 25%,transparent 82%)}.archive-card{border-radius:13px;padding:7px;background:linear-gradient(135deg,#ffffff19,#ffffff04 45%,#9bc7eb12);border:1px solid #ffffff2d;box-shadow:inset 0 1px #ffffff34,0 20px 35px #0002;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .5s}.archive-card:hover{transform:translateY(-9px) rotateX(2deg);box-shadow:inset 0 1px #ffffff5c,0 26px 45px #0006,0 0 30px #9cc6eb20;border-color:#cce6fa88}.archive-card__image{border-radius:8px}.archive-card__meta{margin-left:8px;margin-right:8px}.archive-card__category{margin:0 8px 5px}.filters button,.archive__controls button,.dialog__image-controls button{backdrop-filter:blur(12px);background:linear-gradient(145deg,#ffffff28,#ffffff07);box-shadow:inset 0 1px #ffffff42,0 8px 20px #0002;transition:transform .3s,background .3s,border-color .3s}.filters button:hover,.archive__controls button:not(:disabled):hover,.dialog__image-controls button:hover{transform:translateY(-3px);border-color:#c4e5f7aa}.archive__controls button{border-radius:50%;transform:translate(var(--mx,0px),var(--my,0px))}.archive__controls button:hover{transform:translate(var(--mx,0px),calc(var(--my,0px) - 3px))}.ending{position:relative;overflow:hidden;background:radial-gradient(ellipse 55% 35% at var(--pointer-x,50%) 30%,#17405a55,transparent),#080d12}.ending::before{content:"";position:absolute;inset:0;background:radial-gradient(#a9d5ef33 .7px,transparent .8px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent,#0004,transparent);pointer-events:none}.ending>a{transform:translate(var(--mx,0px),var(--my,0px));transition:transform .4s,color .4s}.ending>a:hover{color:var(--blue)}.language-changing [data-site],.language-changing [data-ui],.language-changing .work__copy,.language-changing .archive-card__meta,.language-changing .archive-card__category{opacity:.1;filter:blur(5px);transition:opacity .16s,filter .16s}
@media(max-width:900px){.about__content{grid-template-columns:1fr;padding-top:20svh;gap:0}.about__copy{padding-top:15svh;max-width:680px}.about__stats{justify-content:flex-start}.about{min-height:195svh}}
@media(max-width:600px){.nav{height:65px;gap:8px;padding:0 30px}.nav::before{inset:6px}.nav::after{inset:7px 7px auto}.nav__actions{gap:7px}.nav__edit{font-size:8px}.language-switch{padding:2px}.language-switch button{min-width:25px;font-size:8px;padding:4px}.nav nav{gap:11px}.nav nav a{font-size:8px}.creator{padding:8px 14px}.creator__portrait{width:104px;height:104px}.hero{padding-top:90px}.hero h1{font-size:clamp(76px,20vw,122px)}.about__content{min-height:180svh;padding-top:17svh;padding-bottom:18svh}.about__copy{padding-top:13svh}.about__stats{gap:22px;flex-wrap:wrap;margin-top:10svh}.works{border-radius:24px 24px 0 0;margin-top:-4svh}.archive-card:hover{transform:none}.interlude::before{display:none}}
@media(max-width:380px){.nav{padding:0 18px}.nav nav{gap:7px}.nav__brand{font-size:16px}.nav__edit{font-size:7px}.language-switch button{min-width:22px}}
@media(prefers-reduced-motion:reduce){.hero__media img,.hero__content,.about__visual,.interlude p{transform:none!important;opacity:1!important}.section-heading.reveal h2,.section-heading.reveal>p,.work.reveal .work__image,.work.reveal .work__copy>*{clip-path:none!important;opacity:1!important;transform:none!important}}

/* One physical image stays pinned behind both Hero and About. */
.opening-scene{position:relative;isolation:isolate;background:#0b1420}
.opening-scene__visual{position:sticky;top:0;height:100svh;overflow:hidden;z-index:0;background:#15283b;opacity:calc(1 - var(--about-exit,0) * .18)}
.opening-scene__visual img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;transform:scale(calc(1.02 + var(--scene-progress,0) * .09 + var(--about-exit,0) * .025)) translate3d(calc(var(--scene-progress,0) * -1.2%),0,0);transform-origin:50% 48%;will-change:transform}
.opening-scene__shade{position:absolute;inset:0;background:linear-gradient(180deg,#050b1460,transparent 35%,#050b1455 65%,#050b14bb),radial-gradient(ellipse at center,#07101c35,transparent 70%)}
.opening-scene__shade::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080d12e8,#080d1282 50%,#080d12c9),linear-gradient(0deg,#080d12df,transparent 46%,#080d127a);opacity:calc(var(--scene-progress,0) * .82);will-change:opacity}
.opening-scene .hero{position:relative;z-index:1;margin-top:-100svh;background:transparent;isolation:auto}
.opening-scene .about{position:relative;z-index:1;min-height:200svh;background:transparent;overflow:visible;isolation:auto}
.opening-scene .about__content{margin-top:0;min-height:200svh;padding-top:24svh;padding-bottom:30svh}
.opening-scene .about .orbit{bottom:5%;pointer-events:none}
.works{z-index:3}
.works::before{transform:translate3d(0,calc(var(--works-progress,0) * 70px),0);will-change:transform}
.works::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 34% 18% at 12% calc(20% + var(--works-progress,0) * 30%),#b2d0e84d,transparent 75%),radial-gradient(ellipse 30% 16% at 88% calc(65% - var(--works-progress,0) * 22%),#e7b9a921,transparent 76%);opacity:.7}
.works>.section-mark,.works>.section-heading,.works>#featured-projects{position:relative;z-index:1}
.works .work:last-child{opacity:calc(1 - var(--works-exit,0) * .18);transform:scale(calc(1 - var(--works-exit,0) * .018));transform-origin:center bottom;transition:opacity .1s}
.interlude{min-height:68svh;margin-top:-1px;padding-top:clamp(145px,22svh,300px);padding-bottom:clamp(95px,15svh,200px);color:#f5f5f0;background:linear-gradient(180deg,#f0efe9 0%,#bfcbd0 18%,#486373 43%,#172936 69%,#0e161e 100%)}
.interlude::before{inset:0;z-index:0;background:linear-gradient(90deg,#3e5c700b 1px,transparent 1px),radial-gradient(ellipse 45% 28% at var(--pointer-x,65%) 42%,#9bc8e52b,transparent);background-size:54px 54px,auto;mask-image:linear-gradient(180deg,#0008,transparent 72%);transform:translate3d(0,calc(var(--interlude-shift,0) * 42px),0);pointer-events:none}
.interlude::after{content:"";position:absolute;left:50%;top:8%;bottom:72%;width:1px;background:linear-gradient(#253f5070,transparent);transform:scaleY(calc(.55 + var(--works-exit,0) * .45));transform-origin:top;pointer-events:none}
.interlude p,.interlude>span{position:relative;z-index:1;text-shadow:0 2px 28px #07111c9c}
.archive{margin-top:-1px;background:radial-gradient(ellipse 58% 43% at var(--pointer-x,70%) 12%,#20415885,transparent),#0e161e}
.archive .section-heading.reveal h2{transition-duration:1.25s}
@media(max-width:600px){.opening-scene__visual img{object-position:52% center}.opening-scene .about{min-height:185svh}.opening-scene .about__content{min-height:185svh;padding-top:17svh;padding-bottom:18svh}.interlude{min-height:60svh;padding-top:140px;padding-bottom:85px}.works::after{opacity:.42}}
@media(prefers-reduced-motion:reduce){.opening-scene__visual,.opening-scene__visual img,.opening-scene__shade::after,.works::before,.works .work:last-child,.interlude::before{transform:none!important;will-change:auto!important}.opening-scene__shade::after{opacity:.75!important}.works .work:last-child{opacity:1!important}}

/* Works and Archive share one scroll-coloured scene rather than switching backgrounds. */
.motion-journey{position:relative;isolation:isolate;z-index:3;margin-top:-7svh;background:transparent;--surface-rgb:240 239 233;--motion-phase:0;--motion-dark:0}
.motion-field{position:sticky;top:0;height:100svh;margin-bottom:-100svh;z-index:0;overflow:hidden;pointer-events:none;border-radius:40px 40px 0 0;background-color:rgb(var(--surface-rgb));transition:background-color .08s linear}
.motion-field__grid{position:absolute;inset:-12%;background-image:linear-gradient(#59758824 1px,transparent 1px),linear-gradient(90deg,#59758824 1px,transparent 1px),radial-gradient(#446b8335 .8px,transparent 1px);background-size:64px 64px,64px 64px,18px 18px;mask-image:radial-gradient(ellipse 85% 75% at 50% 45%,#000,transparent);opacity:calc(.8 - var(--motion-dark) * .45);transform:translate3d(calc(var(--motion-phase) * -42px),calc(var(--motion-phase) * 80px),0);will-change:transform,opacity}
.motion-field__orb{position:absolute;border-radius:50%;filter:blur(42px);mix-blend-mode:multiply;will-change:transform,opacity}
.motion-field__orb--blue{width:min(75vw,920px);height:min(70vw,800px);left:-18%;top:-27%;background:radial-gradient(circle at 45% 45%,#8abbd4c0,#a7cddd75 45%,transparent 72%);opacity:calc(.75 - var(--motion-dark) * .36);transform:translate3d(calc(var(--motion-phase) * 52vw),calc(var(--motion-phase) * 34vh),0) scale(calc(1 + var(--motion-phase) * .24))}
.motion-field__orb--warm{width:min(56vw,700px);height:min(58vw,720px);right:-18%;bottom:-32%;background:radial-gradient(circle,#d6c3bb94,#b6c9d180 52%,transparent 74%);opacity:calc(.75 - var(--motion-dark) * .5);transform:translate3d(calc(var(--motion-phase) * -34vw),calc(var(--motion-phase) * -29vh),0) scale(calc(1 + var(--motion-phase) * .2))}
.motion-field__lines{position:absolute;inset:-15% -12%;width:124%;height:130%;overflow:visible;fill:none;stroke:#426987;stroke-width:1.1;opacity:calc(.34 - var(--motion-dark) * .13);transform:translate3d(calc(var(--motion-phase) * -5vw),calc(var(--motion-phase) * 13vh),0) rotate(calc(var(--motion-phase) * -7deg));will-change:transform,opacity}.motion-field__lines path:nth-child(2){stroke-width:.65;stroke-dasharray:8 12}.motion-field__lines path:nth-child(3){stroke:#e2a997;stroke-width:.75;stroke-dasharray:16 22}.motion-field__lines circle{fill:#6799b1;stroke:none;filter:drop-shadow(0 0 15px #7daec5)}
.motion-field__glint{position:absolute;inset:-25%;background:linear-gradient(111deg,transparent 35%,#ffffff3b 48%,transparent 61%);opacity:calc(.43 - var(--motion-dark) * .24);transform:translate3d(calc(var(--motion-phase) * 48vw - 35vw),0,0) rotate(-8deg);will-change:transform}
.motion-journey .works,.motion-journey .interlude,.motion-journey .archive{position:relative;z-index:1;background:transparent!important;margin-top:0;box-shadow:none}
.motion-journey .works{border-radius:40px 40px 0 0;overflow:hidden}
.motion-journey .work__copy{color:rgb(var(--works-copy-rgb,20 32 42))}.motion-journey .work__meta,.motion-journey .work__copy p{color:rgb(var(--works-muted-rgb,90 104 114))}.motion-journey .text-button{border-color:rgb(var(--works-muted-rgb,90 104 114)/.55)}
.motion-journey .works::before,.motion-journey .works::after,.motion-journey .interlude::before,.motion-journey .interlude::after,.motion-journey .archive::before{display:none}
.motion-journey .interlude{min-height:68svh;padding-top:clamp(145px,22svh,300px);padding-bottom:clamp(95px,15svh,200px)}
.motion-journey .interlude::before{display:block;content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,#0e161e50 55%,transparent);mask-image:none;transform:none;z-index:-1}
.motion-journey .archive{overflow:hidden}
.archive .section-heading{min-width:0}
.archive #archive-title{box-sizing:content-box;padding:.13em .22em .13em .015em;margin:-.13em -.22em -.13em -.015em;overflow:visible;max-width:calc(100% - .22em)}
.archive .section-heading.reveal #archive-title{clip-path:inset(-.18em -.28em 100% -.18em)}
.archive .section-heading.reveal.is-visible #archive-title{clip-path:inset(-.18em -.28em -.18em -.18em)}
@media(max-width:900px){.archive #archive-title{max-width:calc(100% - .22em)}}
@media(max-width:600px){.motion-journey{margin-top:-4svh}.motion-field{border-radius:24px 24px 0 0}.motion-field__orb--blue{width:130vw;height:95vw;left:-55%;top:-10%;filter:blur(30px)}.motion-field__orb--warm{width:115vw;height:100vw;right:-65%;bottom:-6%;filter:blur(30px)}.motion-field__lines{opacity:calc(.27 - var(--motion-dark) * .1)}.motion-field__grid{background-size:48px 48px,48px 48px,16px 16px}.archive #archive-title{padding-right:.27em;margin-right:-.27em;max-width:calc(100% - .27em)}}
@media(prefers-reduced-motion:reduce){.motion-field{display:none}.motion-journey .works{background:#f0efe9!important}.motion-journey .interlude{background:linear-gradient(180deg,#f0efe9,#526b7b 50%,#0e161e)!important}.motion-journey .archive{background:#0e161e!important}.archive .section-heading.reveal #archive-title{clip-path:none!important}}

/* A quieter Discord signature in Hero, and a clear commission contact at the foot. */
.creator__discord{display:inline-flex;align-items:center;gap:.4em;margin:5px 0 3px;padding:3px 10px;border:1px solid #ffffff54;border-radius:99px;background:linear-gradient(135deg,#ffffff25,#ffffff0b 55%,#a3c6e022);box-shadow:inset 0 1px #ffffff48,0 5px 14px #0003;backdrop-filter:blur(10px);color:#e8eff5;font:500 10px/1.5 "DM Sans",sans-serif;letter-spacing:.075em;text-shadow:0 1px 7px #0008;animation:discord-intro .85s 1.15s cubic-bezier(.2,.8,.2,1) both}.creator__discord i,.contact__button-label i{font-style:normal;color:var(--blue)}
@keyframes discord-intro{from{opacity:0;filter:blur(7px);transform:translateY(8px)}to{opacity:1;filter:blur(0);transform:none}}
.ending{z-index:4}.ending>a{margin-bottom:55px}.contact{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr auto;align-items:center;gap:25px;width:min(930px,100%);margin:0 auto 75px;padding:clamp(24px,4vw,44px);text-align:left;border:1px solid #ffffff4b;border-radius:24px;background:linear-gradient(125deg,#ffffff24,#ffffff0b 44%,#91bee626);box-shadow:inset 0 1px #ffffff66,inset 0 -1px #ffffff16,0 24px 65px #0007;backdrop-filter:blur(24px) saturate(130%)}
.contact::before{content:"";position:absolute;inset:1px 1px auto;height:43%;border-radius:23px 23px 55% 55%;background:linear-gradient(180deg,#ffffff1d,transparent);pointer-events:none;z-index:-1}.contact::after{content:"";position:absolute;right:4%;top:-1px;width:42%;height:1px;background:linear-gradient(90deg,transparent,#d9f0ffb3,transparent);pointer-events:none}.contact__index{font-size:9px;letter-spacing:.22em;color:var(--blue);margin-bottom:16px}.contact h3{font:400 clamp(27px,3.7vw,47px)/1.25 "Noto Sans KR","DM Sans",sans-serif;letter-spacing:-.045em}.contact__copy>p:last-child{font-size:12px;color:#b9c8d2;margin-top:12px;line-height:1.8}.contact__button{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:220px;padding:17px 20px;border:1px solid #c7e6fa78;border-radius:15px;background:linear-gradient(130deg,#a5cef329,#ffffff12 55%,#d1e7f029);box-shadow:inset 0 1px #ffffff83,0 11px 30px #0004;color:#fff;text-align:left;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,border-color .45s}.contact__button::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 29%,#ffffff2a 50%,transparent 66%);transform:translateX(-135%);transition:transform .8s;pointer-events:none}.contact__button:hover{transform:translateY(-5px);border-color:#e2f4ff;box-shadow:inset 0 1px #fff,0 18px 38px #0006,0 0 25px #a8d9fa2c}.contact__button:hover::after{transform:translateX(135%)}.contact__button-label{font:500 clamp(16px,1.8vw,22px)/1.3 "DM Sans",sans-serif;letter-spacing:.02em;white-space:nowrap}.contact__button-label b{font-weight:600}.contact__button-hint{display:flex;justify-content:space-between;gap:25px;width:100%;font-size:10px;letter-spacing:.07em;color:#d1e2ed}.contact__button-hint i{font-style:normal;font-size:14px;line-height:1}.copy-toast{position:fixed;z-index:150;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));padding:10px 18px;border:1px solid #c9e5f58c;border-radius:99px;background:linear-gradient(130deg,#ffffff42,#9cbeda37),#182a38db;box-shadow:inset 0 1px #ffffff8a,0 12px 40px #0008;backdrop-filter:blur(20px);color:#fff;font-size:12px;letter-spacing:.06em;opacity:0;transform:translateY(12px) scale(.95);pointer-events:none;transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1)}.copy-toast.is-visible{opacity:1;transform:none}
@media(max-width:600px){.creator__discord{font-size:9px;margin:4px 0 2px;padding:2px 8px}.contact{grid-template-columns:1fr;gap:22px;border-radius:18px;margin-bottom:54px;padding:25px}.contact::before{border-radius:17px 17px 50% 50%}.contact__button{width:100%;min-width:0}.contact h3{font-size:clamp(27px,7vw,34px)}.ending>a{margin-bottom:42px}}
@media(prefers-reduced-motion:reduce){.creator__discord{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}.copy-toast{transition:none!important}}
