/* Local NHN proposal: airy timing only. Fonts, layout, copy and interactive portrait stay intact. */
html.nhn-ms-ready{--nhn-ms-ease:cubic-bezier(.22,.61,.36,1)}
html.nhn-ms-ready .nhn-ms-item{opacity:1;translate:0 0;transition:opacity 1.2s var(--nhn-ms-ease) var(--nhn-ms-delay,0ms),translate 1.45s var(--nhn-ms-ease) var(--nhn-ms-delay,0ms)}
html.nhn-ms-ready .nhn-ms-item.nhn-ms-pending{opacity:0;translate:0 22px}
html.nhn-ms-ready .nhn-ms-title{position:relative;translate:none;transition:opacity 1.2s var(--nhn-ms-ease)}
html.nhn-ms-ready .nhn-ms-title.nhn-ms-pending{translate:none}
.nhn-ms-lines{position:absolute;inset:0;display:block;pointer-events:none;text-align:inherit;font:inherit;letter-spacing:inherit;white-space:inherit}
.nhn-ms-line{position:absolute;left:-8px;width:calc(100% + 16px);display:block;overflow:hidden;pointer-events:none}
.nhn-ms-line-motion{display:block;position:relative;width:100%;height:100%;transform-origin:50% 100%}
.nhn-ms-line-ink{display:block;position:relative;left:8px;font:inherit;letter-spacing:inherit;text-align:inherit;white-space:inherit}
html.nhn-ms-ready .nhn-ms-title-covered{color:transparent!important}
html.nhn-ms-ready .nhn-ms-title-covered>:not(.nhn-ms-lines){opacity:0!important}

/* The card itself remains measurable; only its visual is masked. */
html.nhn-ms-ready .nhn-ms-project,html.nhn-ms-ready .nhn-ms-project.nhn-ms-pending{opacity:1;translate:none}
html.nhn-ms-ready .nhn-ms-project .project-visual{clip-path:inset(0 0 0 0);transition:clip-path 1.5s var(--nhn-ms-ease) var(--nhn-ms-delay,0ms)}
html.nhn-ms-ready .nhn-ms-project.nhn-ms-pending .project-visual{clip-path:inset(0 0 100% 0)}
html.nhn-ms-ready .nhn-ms-project .project-caption{opacity:1;translate:0 0;transition:opacity 1.2s var(--nhn-ms-ease) calc(var(--nhn-ms-delay,0ms) + 100ms),translate 1.4s var(--nhn-ms-ease) calc(var(--nhn-ms-delay,0ms) + 100ms)}
html.nhn-ms-ready .nhn-ms-project.nhn-ms-pending .project-caption{opacity:0;translate:0 16px}
html.nhn-ms-ready .nhn-ms-photo>img{transform:none!important;scale:1;translate:0 var(--nhn-ms-y,0px);transition:scale 1.5s var(--nhn-ms-ease) var(--nhn-ms-delay,0ms),filter .8s ease}
html.nhn-ms-ready .nhn-ms-project.nhn-ms-pending .nhn-ms-photo>img{scale:1.09}
/* Filtering should feel responsive; keep the longer first entrance only once. */
html.nhn-ms-ready .nhn-ms-project.nhn-ms-filter-entry{--nhn-ms-delay:0ms!important}
html.nhn-ms-ready .nhn-ms-filter-entry .project-visual{transition-duration:.45s}
html.nhn-ms-ready .nhn-ms-filter-entry .nhn-ms-photo>img{transition-duration:.45s,.45s}
html.nhn-ms-ready .nhn-ms-filter-entry .project-caption{transition-duration:.35s,.35s;transition-delay:70ms,70ms}
.nhn-ms-project-badge{display:none;position:absolute;left:12px;top:12px;z-index:5;pointer-events:none;white-space:nowrap;padding:11px 14px;border:1px solid rgba(194,164,111,.8);border-radius:40px;background:#102b24;color:#f3f0e8;font:500 10px/1.4 var(--sans,Manrope,Arial,sans-serif);letter-spacing:.02em;opacity:0;transform:translateY(5px) scale(.96);transition:opacity .18s ease,transform .25s ease;box-shadow:0 4px 15px #102b2420}
@media(hover:hover) and (pointer:fine) and (min-width:761px){
  html.nhn-ms-ready .nhn-ms-photo>img{scale:1.08}
  html.nhn-ms-ready .nhn-ms-project:hover .nhn-ms-photo>img{scale:1.105}
  html.nhn-ms-ready .nhn-ms-project.nhn-ms-pending .nhn-ms-photo>img{scale:1.145}
  html.nhn-ms-ready .nhn-ms-project-badge{display:block}
  html.nhn-ms-ready .nhn-ms-pointer-active .nhn-ms-project-badge{opacity:1;transform:none}
}

html.nhn-ms-ready .nhn-ms-step{position:relative;border-top-color:transparent}
html.nhn-ms-ready .nhn-ms-step::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--line,#d2d5cc);transform:scaleX(1);transform-origin:left;transition:transform 1.45s var(--nhn-ms-ease) var(--nhn-ms-delay,0ms)}
html.nhn-ms-ready .nhn-ms-step.nhn-ms-pending::before{transform:scaleX(0)}
.nhn-ms-link>span:last-child{transition:transform .4s cubic-bezier(.18,.8,.22,1)}
.nhn-ms-link:hover>span:last-child,.nhn-ms-link:focus-visible>span:last-child{transform:translate(3px,-3px)}
html.nhn-ms-ready :is(.text-link,.nhn-universe-other,.contact-email,.contact-phone).nhn-ms-link{position:relative}
html.nhn-ms-ready :is(.text-link,.nhn-universe-other,.contact-email,.contact-phone).nhn-ms-link::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--nhn-ms-ease)}
html.nhn-ms-ready :is(.text-link,.nhn-universe-other,.contact-email,.contact-phone).nhn-ms-link:is(:hover,:focus-visible)::after{transform:scaleX(1);transform-origin:left}

html.nhn-ms-ready .nhn-ms-instant,html.nhn-ms-ready .nhn-ms-item:focus-within{opacity:1!important;translate:none!important;transition:none!important}
html.nhn-ms-ready .nhn-ms-instant .project-visual,html.nhn-ms-ready .nhn-ms-item:focus-within .project-visual{clip-path:none!important;transition:none!important}
html.nhn-ms-ready .nhn-ms-instant .project-caption,html.nhn-ms-ready .nhn-ms-item:focus-within .project-caption{opacity:1!important;translate:none!important;transition:none!important}
html.nhn-ms-suspended .nhn-ms-item,html.motion-paused .nhn-ms-item{opacity:1!important;translate:none!important;transition:none!important}
html.nhn-ms-suspended .nhn-ms-project .project-visual,html.motion-paused .nhn-ms-project .project-visual{clip-path:none!important;transition:none!important}
html.nhn-ms-suspended .nhn-ms-project .project-caption,html.motion-paused .nhn-ms-project .project-caption{opacity:1!important;translate:none!important;transition:none!important}
html.nhn-ms-suspended .nhn-ms-photo>img,html.motion-paused .nhn-ms-photo>img{scale:1!important;translate:none!important;transition:none!important}
html.nhn-ms-suspended .nhn-ms-step::before,html.motion-paused .nhn-ms-step::before{transform:none!important;transition:none!important}
html.nhn-ms-suspended .nhn-ms-project-badge,html.motion-paused .nhn-ms-project-badge{display:none!important}
html.nhn-ms-suspended .nhn-ms-link>span:last-child,html.motion-paused .nhn-ms-link>span:last-child{transform:none!important;transition:none!important}
html.nhn-ms-suspended .nhn-ms-link::after,html.motion-paused .nhn-ms-link::after{transition:none!important}
@media(max-width:760px){html.nhn-ms-ready .nhn-ms-item{--nhn-ms-delay:0ms!important}html.nhn-ms-ready .nhn-ms-item.nhn-ms-pending{translate:0 14px}html.nhn-ms-ready .nhn-ms-title.nhn-ms-pending,html.nhn-ms-ready .nhn-ms-project.nhn-ms-pending{translate:none}}
@media(prefers-reduced-motion:reduce){
  html.nhn-ms-ready .nhn-ms-item,html.nhn-ms-ready .nhn-ms-project .project-caption{opacity:1!important;translate:none!important;transition:none!important}
  html.nhn-ms-ready .nhn-ms-project .project-visual{clip-path:none!important;transition:none!important}
  html.nhn-ms-ready .nhn-ms-photo>img{scale:1!important;translate:none!important;transition:none!important}
  html.nhn-ms-ready .nhn-ms-step::before{transform:none!important;transition:none!important}
  .nhn-ms-project-badge{display:none!important}
  .nhn-ms-link>span:last-child{transform:none!important;transition:none!important}
  .nhn-ms-link::after{transition:none!important}
}
@media print{html.nhn-ms-ready .nhn-ms-item,html.nhn-ms-ready .nhn-ms-project .project-caption{opacity:1!important;translate:none!important;transition:none!important}html.nhn-ms-ready .nhn-ms-project .project-visual{clip-path:none!important}html.nhn-ms-ready .nhn-ms-photo>img{scale:1!important;translate:none!important}.nhn-ms-project-badge{display:none!important}}
