/* ±âº» ¸®¼Â & ¹è°æ */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  background: #000;
}

/* =========================
   Ç®½ºÅ©¸° ³ôÀÌ ¾ÈÁ¤È­ (¸ð¹ÙÀÏ ´ëÀÀ)
   - 100svh: º¸ÀÌ´Â È­¸é ³ôÀÌ (¸ð¹ÙÀÏ ÁÖ¼ÒÃ¢ °í·Á)
   - 100dvh: µ¿Àû ³ôÀÌ (iOS 16+ µî)
   - fallback: 100vh / -webkit-fill-available
========================= */
.intro {
  position: relative;
  width: 100%;
  height: 100svh;               /* 1¼øÀ§: ¸ð¹ÙÀÏ ½ÇÁ¦ º¸ÀÌ´Â ³ôÀÌ */
  height: 100dvh;               /* Áö¿ø ½Ã µ¿Àû ºäÆ÷Æ® ³ôÀÌ */
  height: -webkit-fill-available;  /* ±¸ iOS ´ë¾È */
  overflow: hidden;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;

  /* iOS ³ëÄ¡/¾ÈÀü¿µ¿ª */
  padding-top: env(safe-area-inset-top, 0);
  padding-bottom: env(safe-area-inset-bottom, 0);
  padding-left: env(safe-area-inset-left, 0);
  padding-right: env(safe-area-inset-right, 0);
}

/* Ç®½ºÅ©¸° ¿µ»ó: ¡°¹«Á¶°Ç Å©°Ô¡± Ã¤¿ì±â */
.intro__video {
  position: absolute;
  inset: 0;
  width: 100vw;    /* °¡·Î´Â ºäÆ÷Æ® ±âÁØÀ¸·Î */
  height: 100%;    /* ¼¼·Î´Â ÄÁÅ×ÀÌ³Ê ³ôÀÌ ²Ë Ã¤¿ò */
  object-fit: cover;        /* ¿©¹é/·¹ÅÍ¹Ú½º ¾øÀÌ Ã¤¿ì±â */
  object-position: center;  /* Áß¾Ó Å©·Ó */
  background: #000;
}

/* Å¬¸¯/ÅÇ ÀüÃ¼¿µ¿ª (ÈùÆ® ÇÏ´Ü °íÁ¤) */
.intro__overlay {
  position: absolute;
  inset: 0;
  cursor: pointer;
  display: grid;
  place-items: end center;
  padding: clamp(12px, 3vw, 28px);
  background: transparent;
  text-decoration: none;
}

/* ÁøÀÔ ÈùÆ® ¹öÆ° ´À³¦ */
.intro__hint {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans KR", sans-serif;
  font-size: clamp(14px, 1.6vw, 18px);
  color: rgba(255,255,255,0.92);
  background: rgba(0,0,0,0.35);
  backdrop-filter: blur(2px);
  border: 1px solid rgba(255,255,255,0.32);
  border-radius: 999px;
  padding: 12px 18px;
  user-select: none;
  transition: transform .2s ease, opacity .2s ease;
  animation: pulse 1.8s ease-in-out infinite;
}
.intro__overlay:hover .intro__hint,
.intro__overlay:focus .intro__hint,
.intro__overlay:active .intro__hint {
  transform: translateY(-1px) scale(1.02);
  opacity: 1;
}

/* ¸Æ¹Ú È¿°ú */
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,255,255,0.25); }
  70%  { box-shadow: 0 0 0 18px rgba(255,255,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}

/* ½ºÅ©¸° ¸®´õ Àü¿ë */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* ºñµð¿À ·Îµù ½ÇÆÐ/Áö¿¬ ´ëºñ */
.intro__fallback {
  position: absolute;
  inset: 0;
  display: none;
  place-items: center;
  color: #fff;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans KR", sans-serif;
  text-align: center;
  padding: 24px;
}
.intro--fallback .intro__fallback {
  display: grid;
}
.fallback__link {
  color: #fff;
  text-decoration: underline;
}

/* =========================
   ±Ø´Ü ºñÀ² µð¹ÙÀÌ½º ´ëÀÀ
   - ¼¼·Î°¡ °úµµÇÏ°Ô ±ä È­¸é¿¡¼­
     ´õ ²Ë Â÷°Ô º¸ÀÌµµ·Ï ÃÖ¼Ò ³Êºñ/³ôÀÌ º¸Á¤
========================= */
@media (max-aspect-ratio: 9/16) {
  .intro__video {
    min-width: 100%;
    min-height: 100%;
    object-position: 50% 50%;
  }
}

/* iOS Safari ¿¾ ¹öÀü Ãß°¡ ¾ÈÀüÀåÄ¡ */
@supports (-webkit-touch-callout: none) {
  .intro {
    height: 100svh;
  }
}
