@charset "UTF-8";
/* =========================================================
   STANDARD ALL — PAGE TRANSITION
   첫 화면부터 커튼이 덮고 있다가, 페이지 준비가 끝나면 위로 걷힘
   다른 페이지로 이동할 때는 아래에서 덮고 이동
   (page-transition.js 가 html 에 클래스를 붙일 때만 동작)
   ========================================================= */
html.pt-on{
  --pt-bg:color-mix(in srgb, var(--main-color, #1f5c45) 62%, #000);
  --pt-ease:cubic-bezier(.76,0,.24,1);
  --pt-dur:.9s;
}

/* 커튼 */
html.pt-on::before{
  content:"";position:fixed;inset:0;z-index:2147483000;
  background:
    radial-gradient(70% 60% at 50% 45%, color-mix(in srgb, var(--main-color, #1f5c45) 55%, #000) 0%, transparent 70%),
    var(--pt-bg);
  clip-path:inset(0 0 0 0);pointer-events:auto;
  transition:clip-path var(--pt-dur) var(--pt-ease)
}

/* 로고 문구 */
html.pt-on::after{
  content:"STANDARD ALL";position:fixed;left:0;right:0;top:50%;z-index:2147483001;
  margin-top:-.6em;text-align:center;white-space:nowrap;pointer-events:none;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(26px,3.2vw,46px);font-weight:500;line-height:1.2;letter-spacing:.32em;text-indent:.32em;
  color:rgba(255,255,255,.92);
  background:linear-gradient(90deg,rgba(255,255,255,.35) 0%,#fff 50%,rgba(255,255,255,.35) 100%) 0 0/200% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:ptShine 1.6s linear infinite;
  transition:opacity .45s ease,transform .7s var(--pt-ease)
}
@keyframes ptShine{to{background-position:-200% 0}}

/* 걷힘 : 위로 */
html.pt-on.pt-reveal::before{clip-path:inset(0 0 100% 0)}
html.pt-on.pt-reveal::after{opacity:0;transform:translateY(-24px)}

/* 이동 : 아래에서 덮음 */
html.pt-on.pt-leave-start::before{clip-path:inset(100% 0 0 0);transition:none}
html.pt-on.pt-leave-start::after{opacity:0;transform:translateY(24px);transition:none}
html.pt-on.pt-leave::before{clip-path:inset(0 0 0 0);transition:clip-path .7s var(--pt-ease)}
html.pt-on.pt-leave::after{opacity:1;transform:none;transition:opacity .4s ease .3s,transform .6s var(--pt-ease) .2s}

@media (prefers-reduced-motion:reduce){
  html.pt-on::before{transition:opacity .3s ease}
  html.pt-on::after{animation:none;transition:opacity .3s ease}
  html.pt-on.pt-reveal::before{clip-path:inset(0);opacity:0}
  html.pt-on.pt-leave-start::before{clip-path:inset(0);opacity:0}
  html.pt-on.pt-leave::before{clip-path:inset(0);opacity:1;transition:opacity .3s ease}
}
