/* ============================================================
   GPR — 밤하늘 빛의 타워 · 공통 디자인 시스템
   deep navy night + golden window glow + data light streaks
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Cormorant+Garamond:wght@400;500;600;700&family=Nanum+Myeongjo:wght@400;700;800&display=swap');
@font-face{font-family:'Pretendard';src:url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Pretendard';src:url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Pretendard';src:url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}

:root{
  --night:#0A0E1A; --ink:#070912; --navy:#121A30; --navy-2:#0E1426;
  --gold:#D4A84B; --gold-soft:#E8C77A; --amber:#F2B872;
  --teal:#4FB8A8;
  --text:#EDE7D8; --text-soft:#9AA0B0; --line:rgba(212,168,75,.25);
  --glass:rgba(18,26,48,.55);

  --f-display:'Marcellus','Nanum Myeongjo',serif;
  --f-serif:'Cormorant Garamond',serif;
  --f-myeongjo:'Nanum Myeongjo',serif;
  --f-body:'Pretendard','Apple SD Gothic Neo',sans-serif;

  --maxw:1180px;
  --glow-gold:0 0 30px rgba(212,168,75,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--f-body); color:var(--text); background:var(--ink);
  line-height:1.7; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--gold);color:var(--ink)}

/* starfield + data streaks shared background */
.sky{position:fixed;inset:0;z-index:-2;background:
  radial-gradient(1200px 800px at 70% 10%, #16213d 0%, transparent 60%),
  radial-gradient(900px 700px at 20% 80%, rgba(79,184,168,.06), transparent 60%),
  linear-gradient(180deg,#0A0E1A 0%, #070912 70%, #05060c 100%);}
.stars{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.6;
  background-image:radial-gradient(1.4px 1.4px at 12% 22%, #fff, transparent),
    radial-gradient(1px 1px at 38% 11%, #cfe, transparent),
    radial-gradient(1.6px 1.6px at 67% 31%, #fff, transparent),
    radial-gradient(1px 1px at 83% 18%, #ffd, transparent),
    radial-gradient(1.2px 1.2px at 54% 47%, #fff, transparent),
    radial-gradient(1px 1px at 26% 62%, #bdf, transparent),
    radial-gradient(1.4px 1.4px at 91% 73%, #fff, transparent);
  background-repeat:no-repeat; animation:twinkle 6s ease-in-out infinite;}
@keyframes twinkle{0%,100%{opacity:.45}50%{opacity:.8}}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;position:relative;z-index:1}

/* type */
.display{font-family:var(--f-display);font-weight:400;line-height:1.12;letter-spacing:.01em}
.ko-head{font-family:var(--f-myeongjo);font-weight:800;line-height:1.25}
.eyebrow{display:inline-block;font-family:var(--f-serif);font-style:italic;font-size:1.05rem;
  letter-spacing:.12em;color:var(--gold-soft);text-transform:uppercase}
.gold{color:var(--gold-soft)}
.rule{width:54px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);margin:18px 0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-body);font-weight:600;
  font-size:1rem;padding:15px 30px;border-radius:2px;cursor:pointer;border:1px solid transparent;
  transition:.25s;letter-spacing:.02em}
.btn--gold{background:linear-gradient(135deg,var(--gold),#B8893A);color:var(--ink);box-shadow:var(--glow-gold)}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 0 42px rgba(212,168,75,.55)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-soft)}

/* shared floor-page shell (각 층 페이지 공통) */
.floor-page{min-height:100vh;position:relative}
.fp-nav{position:sticky;top:0;z-index:40;backdrop-filter:blur(14px);
  background:rgba(7,9,18,.6);border-bottom:1px solid var(--line)}
.fp-nav__in{max-width:var(--maxw);margin:0 auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between}
.fp-back{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-serif);font-size:1.05rem;color:var(--text-soft);transition:.2s}
.fp-back:hover{color:var(--gold-soft);gap:14px}
.fp-floortag{font-family:var(--f-display);font-size:1.1rem;color:var(--gold-soft);letter-spacing:.05em}

.reveal{opacity:0;transform:translateY(26px);animation:rise .9s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.d1{animation-delay:.06s}.d2{animation-delay:.16s}.d3{animation-delay:.28s}
.d4{animation-delay:.4s}.d5{animation-delay:.52s}.d6{animation-delay:.64s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
