@charset "utf-8";
/* GOLFTOP 인트로 — 골프탑CI(PlanG) 피그마 'app intro' 기준 (375×812 단위, 원본 @3x 좌표 ÷3) */
@font-face { font-family: 'Paperlogy'; font-weight: 800; font-display: swap;
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2') format('woff2'); }
@font-face { font-family: 'Paperlogy'; font-weight: 500; font-display: swap;
  src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-5Medium.woff2') format('woff2'); }

:root { --lime: #C6FF00; --brand: #6200EA; }
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body.is-intro { background: var(--lime); overflow: hidden; }
.blind { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.ib { position: relative; width: 100%; height: 100vh; height: 100svh; overflow: hidden; background: var(--lime); transition: opacity .45s ease; }
.ib.is-leaving { opacity: 0; }

/* 상단 레이어(로고·골프공·타이포): 상단 중앙 기준 */
.ib__top {
  --s: 1;
  position: absolute; left: 50%; top: env(safe-area-inset-top, 0px); z-index: 3;
  width: 375px; height: 436px;
  transform: translateX(-50%) scale(var(--s)); transform-origin: 50% 0;
}
/* 하단 레이어(인물): 하단 중앙 기준 */
.ib__bottom {
  --s: 1;
  position: absolute; left: 50%; bottom: 0; z-index: 2;
  width: 375px; height: 376px;
  transform: translateX(-50%) scale(var(--s)); transform-origin: 50% 100%;
}

/* 로고 (Group 31: x93 y89 w532 h165 → ÷3) */
.ib__logo { position: absolute; left: 31px; top: 29.67px; width: 177.33px; height: 55.03px; z-index: 4; animation: fade .6s both; }
.ib__logo svg { display: block; width: 100%; height: 100%; }

/* BOOK NOW (Paperlogy 8 ExtraBold 320/320, rotation 15° → x-100 y628) */
.ib__head {
  position: absolute; left: -33.33px; top: 209.38px;
  font-family: Paperlogy, sans-serif; font-weight: 800;
  font-size: 106.67px; line-height: 106.67px; letter-spacing: 0;
  color: var(--brand); white-space: nowrap;
  transform-origin: 0 0; transform: rotate(-15deg);
  animation: headIn .7s .05s cubic-bezier(.2,.8,.2,1) both;
}

/* 카피 (Paperlogy 5 Medium 40/60 → 13.33/20, rotation 15°, x93 y1255) */
.ib__copy {
  position: absolute; left: 31px; top: 418.42px;
  font-family: Paperlogy, sans-serif; font-weight: 500;
  font-size: 13.33px; line-height: 20px; color: #000; white-space: nowrap;
  transform-origin: 0 0; transform: rotate(-15deg);
  animation: fade .6s .3s both;
}

/* 인물 (Rectangle 18: y1308 h1128, CROP 0.586 · offset 0.2757) — 스테이지 밖으로도 자연스럽게 이어지도록 overflow 허용 */
.ib__man { position: absolute; left: 0; top: 0; width: 375px; height: 376px; animation: up .8s .15s cubic-bezier(.2,.8,.2,1) both; }
.ib__man img { position: absolute; left: -176.6px; top: 0; width: 640.1px; height: 376px; max-width: none; }

/* 골프공 (Rectangle 19: x774 y278 262² → ÷3) */
.ib__ball { position: absolute; left: 258px; top: 92.67px; width: 87.33px; height: 87.33px; z-index: 3;
  filter: drop-shadow(30px 40px 18px rgba(53, 0, 126, .10));   /* 우하단 대각선 그림자 */
  animation: ball .9s .2s cubic-bezier(.2,.8,.2,1) both; }

@keyframes fade { from { opacity: 0; } }
@keyframes headIn { from { opacity: 0; transform: translateX(-24px) rotate(-15deg); } }
@keyframes up { from { opacity: 0; transform: translateY(30px); } }
@keyframes ball { from { opacity: 0; transform: translate(30px,-30px) rotate(-90deg); } }
@media (prefers-reduced-motion: reduce) { .ib * { animation: none !important; } }
