/* 프리로더 — 버전1(../index.html)의 css/boot.css 를 8990 지면 위로 옮긴 것.
   가운데 작은 창 안에서 사진 여덟 장이 아래에서 위로 차오른다. 그 위로 영상이 올라와
   화면 밖까지 커지며 창을 열고, 같은 순간 제목이 가운데에서 위아래로 펴진다.

   ── 원본과 딱 하나 다른 점: rem 을 안 쓴다 ────────────────────────────────
   두 프로젝트의 rem 규칙이 다르다.
     버전1(bizlog)  html { font-size: 1.11111vw }              → 1440에서 16px
     8990(이 지면)  --font-size-root: clamp(15px, 12.96px + 0.319vw, 22px)
                                                               → 1440에서 17.55px
   여기에 그대로 rem 을 쓰면 8990 규칙이 이겨서 사진 창(16.5rem×11rem)과 캡션 여백이
   9.7% 커진다 — 채린이 맞춰 둔 비례가 통째로 어긋난다. 그래서 프리로더가 쓰던 rem 을
   `.boot` 안에서만 사는 **--brem** 으로 바꿔 두 지면이 서로를 안 건드리게 했다.
   값·중단점(768px)은 버전1의 base.css 와 같다.
   ⚠ js/preloader/boot.js 가 clip-path 를 계산할 때도 이 변수를 쓴다. 이름을 바꾸면 같이 고칠 것.

   같은 이유로 색·이징 토큰과 .ttf/.ul/[data-rv] 규칙도 전부 `.boot` 안으로 넣었다.
   8990 의 tokens.css/base.css 와 이름이 겹치지 않고, 겹치더라도 서로 안 샌다. */

/* 제목 — AT Arges Black Condensed(정품). 파일은 Black(900)이지만 **weight 400 으로 등록**한다.
   900 을 주면 브라우저가 합성 볼드를 덧씌워 획이 뭉갠다.
   ⚠ 캡션에 쓰는 Die Grotesk 는 아직 원본 사이트(Le Mans Classic) 것이다. */
@font-face {
  font-family: 'Arges Cond';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

/* ★ 히어로 제목용 — Blaze Type 의 Arges Normal Black **트라이얼** (2026-08-27 채린 요청) ★
   압축(Condensed)이 아니라 **보통 폭**이라 같은 --len 이면 글자가 화면을 넘친다.
   그래서 마크업의 --len 을 함께 키웠다(아래 index.html 의 .ttf 참고).
   ⚠ 트라이얼이라 수록 글자가 72자뿐이다 — 영문 대소문자·숫자·기본 문장부호만 있고
     **콜론(:)이 없다.** 스월의 "DJ Bank:" 에 이 서체를 쓰려면 콜론이 빠진다.
   ⚠ 트라이얼은 보통 시안 검토용이다. 실제 배포 전에는 정식 라이선스로 바꿀 것. */
@font-face {
  font-family: 'Arges Trial';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: 400;   /* 파일이 이미 Black(900) — 900 을 주면 합성 볼드가 겹친다 */
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Grotesk C';
  src: url('../assets/fonts/grotesk/die-grotesk-c-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ★ 캡션용 — TeX Gyre Heros (헬베티카 계열 무료 서체) ★ (2026-09-01 채린 요청)
   URW Nimbus Sans L 을 GUST 가 확장한 판이다. Nimbus Sans 가 따르는 건 **원본 Helvetica** 의
   자폭이고, 맥의 'Helvetica Neue' 는 그보다 **좁다** — 둘은 다른 서체다. 실측(100px, 자간 없이
   "THE FIRST ERP BANKING"): Helvetica Neue 1188.7 · **Heros 1223.0** · Arial 1227.9 · Inter 1203.9.
   즉 Heros 는 아리알과 0.4% 차이고 헬베티카 노이에보다 2.9% 넓다. 실제 캡션 한 줄은
   237.3 → 242.6px(+2.2%)로 늘었다 — 캡션은 왼/오른끝 정렬이라 자리는 그대로다.
   ⚠ 캡션의 좌우 기준과 벌어짐은 js/preloader/boot.js 가 **제목**을 실측해 정한다(캡션 폭이 아니다).
     그래서 이 2.2% 는 배치에 영향을 주지 않는다. 문구를 길게 바꿀 때만 넘침을 확인할 것.
   ★ 왜 넣었나 ★ 'Helvetica Neue' 는 **맥에만 있는 서체**라 윈도우·안드로이드에서는 Inter 로
   떨어졌다. 파일을 함께 배포하면 **모든 기기에서 같은 글자**가 된다.
   ⚠ 맥의 헬베티카 파일을 꺼내 쓰면 안 된다(시스템 서체 재배포 금지). 이건 그 대체다.
   ⚠ 라이선스는 GUST Font License(= LPPL 1.3c 이상)라 배포·수정·상업 사용이 된다.
     원문과 출처·서브셋 조건은 assets/fonts/heros/{GUST-FONT-LICENSE.txt, README.txt} 에 있다.
   ⚠ 이름 `'Heros'` 는 우리 별칭이다(원본 패밀리명은 TeXGyreHeros) — 서브셋한 판이라
     GUST 가 "고친 판은 이름을 바꿔 달라"고 **요청**한 것에 맞춘 것이다.
   ⚠ 굵기는 레귤러 하나뿐이다. 볼드가 필요해지면 bold 파일을 따로 받아 선언할 것 —
     지금처럼 400 하나만 두면 브라우저가 합성 볼드를 그려 획이 뭉갠다. */
@font-face {
  font-family: 'Heros';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* 볼드 — 푸터 큰 글자('DJ Bank', 굵기 600)가 이걸 쓴다 (2026-09-01).
   ⚠ 400 하나만 있을 때 600 을 주면 브라우저가 **합성 볼드**를 그린다(획이 뭉갠다).
     400 과 700 이 둘 다 있으면 600 은 **700 로 맞춰진다** — 합성이 안 생긴다. */
@font-face {
  font-family: 'Heros';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ★ 프리로더는 화면에 **고정**된 채 스크롤 진행도로 다음 화면에 자리를 내준다 ★
   (2026-08-26 채린 요청 — 예전 버전3의 그 연결)
     스크롤 0%      프리로더 최종 화면 (영상 가득 + DJBank + 캡션)
          0~50%    DJBank 가 작아지며 사라진다 (영상은 그대로)
         15~85%    그 자리에 '기업의 오늘을 보는 / 대한민국 최초의 금융' 두 줄이 올라온다
         60~100%   프리로더가 투명해지고, 밑에서 같은 영상을 띄운 8990 히어로가 드러난다
   · 진행도 기반이라 **위로 올리면 그대로 되감긴다** — DJBank 가 다시 커지며 돌아온다.
   · 스크롤 길이는 바로 뒤의 `.sc` 가 만든다. 그 높이를 바꾸면 연출 속도가 바뀐다.
   · 무대(#stage)는 `.sc` 뒤에서 시작하므로, 이 구간 동안에는 t<0 이라 가만히 있다. */
/* ★ 히어로 제목 서체 ★ — Part II 간지의 "PART II." 도 **같은 값을 본다**
   (2026-08-29 채린 요청). 그래서 .boot 안이 아니라 :root 에 둔다 —
   .boot 안에 두면 프리로더 밖(css/partcover.css)에서는 이 변수가 안 풀린다.
   되돌리려면 'Arges Trial' 을 'Arges Cond' 로 바꾸고 마크업의 --len 을 14 로 되돌린다. */
:root {
  /* ★ 캡션용 영문 서체 ★ — 카드 머리줄(.article__meta)도 **같은 값을 본다**(2026-08-30).
     그래서 .boot 안이 아니라 :root 에 둔다 — .boot 안에 두면 프리로더 밖에서는 안 풀린다
     (실제로 그래서 머리줄이 Pretendard 로 떨어졌다).
     ★ Inter ★ (2026-09-01 채린 지정) — 확대 전 캡션과 히어로 화면 캡션 **두 벌 다** 이 값을 본다
     (같은 .boot__line 이 .boot__swap 으로 문구만 갈아탄다).
     **사이트의 영문 서체는 이 한 줄이 정한다** — 캡션·간지 머리글·푸터 전체·카드 머리줄이 전부 이걸 본다
     (2026-09-01. 전에는 푸터 쪽 --footer-font 와 둘로 갈려 있었는데, 그건 지웠다).
     ⚠ 이걸로 **Die Grotesk(원본 Le Mans Classic 서체)를 더는 안 쓴다.** @font-face 선언과
       파일은 되돌릴 수 있게 남겨 뒀지만, 아무도 안 부르므로 내려받지도 않는다.
     ⚠ Inter 는 구글 폰트에서 온다. 프리로더는 `await document.fonts.ready` 뒤에 세워지므로
       (js/preloader/main.js) 캡션이 대체 서체로 떴다가 바뀌는 일은 없다.
     ★ 2026-09-01 (2차) 채린 "헬베티카로" — 프리로더 캡션만 헬베티카 계열로 간다.
       맥의 'Helvetica Neue' 를 앞세웠더니 **맥에서만** 그렇게 보여서(윈도우·안드로이드는 Inter),
       같은 계열의 무료 서체 **TeX Gyre Heros** 를 함께 배포해 맨 앞에 둔다 — 이제 모든 기기가 같다.
       'Helvetica Neue' 는 뒤에 남겨 뒀다(파일을 못 받았을 때의 대비).
       ⚠ Inter 로 되돌리려면 이 줄의 맨 앞 'Heros' 만 빼면 된다(Inter 가 스택에 남아 있다).
     내력: Grotesk C → Inter → Helvetica Neue → **Heros(TeX Gyre Heros)**. */
  /* ⚠ 끝의 Pretendard 는 **한글 몫**이다 (2026-09-01 캡션이 한글로 바뀌면서 넣었다).
     앞의 셋에는 한글 글리프가 없어서, 없으면 시스템 기본 고딕으로 떨어져 사이트와 결이 갈린다.
     영문은 여전히 Heros 가 이긴다 — 순서를 바꾸면 영문까지 프리텐다드가 된다. */
  --boot-body: 'Heros', 'Helvetica Neue', Helvetica, 'Inter', 'Pretendard Variable', Pretendard, Arial, sans-serif;
  --boot-title: 'Arges Trial', 'Arges Cond', 'Arial Narrow', 'Pretendard Variable', sans-serif;
}

.boot {
  position: fixed;
  inset: 0;
  z-index: 100;   /* 8990 의 무대·헤더(최대 z:60)보다 위 */
  background: #101010;
  --progress: 0;
  --logo-height: 0px;

  /* ★ 제목을 화면 가운데보다 얼마나 위로 올릴지 ★ (2026-08-26 채린 요청)
     제목과 캡션이 한 덩어리로 함께 올라간다. 숫자만 바꾸면 된다(0 이면 원래 자리).
     ⚠ 아래 --title-shift 와는 다른 값이다 — 그쪽은 '글자 상자'와 '글자 획'의 중심이
       다른 걸 보정하는 값이라 서체가 바뀌면 다시 재야 한다. 취향으로 올리고 내리는 건 이 값. */
  --title-nudge: 7vh;   /* 2026-08-31 채린 지정 (6 → 7) */

  /* ══════════════════════════════════════════════════════════════════════
     ★★ 히어로 영상 위 'DJ Bank' 와 캡션 크기 ★★ (2026-08-31 채린 요청)
     ══════════════════════════════════════════════════════════════════════
     **여기 두 숫자만 바꾸면 된다.** 1 이 지금 크기이고, 1.2 면 20% 크다.
     데스크톱·태블릿·모바일이 **한 번에** 따라온다 — 크기를 정하는 자리가 화면 폭마다
     따로 있는데(아래 @media 세 곳) 전부 이 배율을 곱하게 해 뒀다.

       --dj-title-scale   'DJ Bank' 글자 크기          (1 = 지금)
       --dj-cap-scale     그 위아래 캡션 네 줄 크기     (1 = 지금)

     검사창에서 바로 보려면 <div class="boot"> 를 고르고 이 값을 바꾸면 된다.

     ⚠ 제목은 원래 **화면 폭에 맞춰** 잡힌 크기라(좌우 40px 여백까지 계산에 들어 있다)
       1 을 넘기면 그 여백부터 먹고 들어간다. 1440 에서 실측한 여유는 이렇다:
         1     제목 폭 1153 (좌우 여백 143px)
         1.15  제목 폭 1326 (좌우 여백  57px)   ← 여기까지가 시원하다
         1.25  제목 폭 1442 (화면 1440 — **넘친다**)
       즉 **1.24 가 안 잘리는 상한**이다. 390(모바일)은 두 줄로 접혀서 1.34 까지 여유가 있다.
       더 키우고 싶으면 마크업의 `--len`(index.html 의 .ttf 두 곳, 지금 15.6)을 **줄이는**
       방법도 있다 — 그쪽은 '글자수' 기준이라 화면 안에 맞춘 채로 커진다.
     ⚠ 캡션이 제목에 붙는 거리는 --cap-gap(캡션 크기 기준 em)이라 **저절로 따라온다.**
       따로 맞출 필요 없다. 확대 순간 바뀌는 문구도 줄 크기의 배수(1.1875em)라 함께 커진다.
     ⚠ 제목 크기를 재서 쓰는 값들(--logo-height / --ink-height / --title-shift)은
       js/preloader/boot.js 가 **화면에 그려진 것을 실측**한다 — 배율을 바꿔도 알아서 맞는다. */
  --dj-title-scale: 1.07;   /* 2026-09-01 채린 지정 (1.12 → 1.07) */
  --dj-cap-scale: 1.3;      /* 2026-09-01 채린 지정 (1.5 → 1.3) */

  /* ★ 제목과 캡션 사이 틈 ★ (2026-08-31 채린 "좀만 붙여줘")
     **작을수록 붙는다. 음수도 된다**(제목 획 안쪽으로 파고든다).
     단위(em)는 **캡션 글자 크기 기준**이라, --dj-cap-scale 을 키우면 틈도 같이 커진다 —
     캡션을 1.5 배로 키운 지금은 옛 0.7em 이 예전 1.05em 만큼 벌어져 보였다. 그래서 줄였다.
     1440·캡션 1.5배에서 잰 값(제목 상자 아래끝 → 캡션 상자 위끝):
       0.7em  18px · 0.3em  8px · **0em  1px (지금)** · -0.4em  −9px(획에 걸침)
     ⚠ 모바일은 아래 @media 안에 따로 있다 — 거기는 진행도를 안 곱해서 같은 값이라도 더 파고든다.
       음수를 주면 캡션이 제목 글자를 가로지른다(2026-08-26 에 겪었다). */
  --cap-gap: 0em;   /* 2026-08-31 채린 지정 (0.7 → 0.3 → 0) */

  /* ★★ 더 커지지 않는 화면 폭 ★★ (2026-08-31 채린 "1920 이 마지노선")
     제목과 캡션은 둘 다 화면 폭에 비례해 커진다. 넓은 모니터에서 글자만 계속 부풀어
     지면이 답답해져서, **폭이 이 값일 때의 크기**를 상한으로 둔다.
     여기보다 넓은 화면에서는 제목·캡션이 **같이** 멈춘다(한쪽만 멈추면 균형이 깨진다).
     ⚠ 쓰는 곳이 두 군데다 — `.boot .ttf`(제목)와 `.boot__line`(캡션). 둘 다 이 변수를 본다.
     ⚠ 캡션 쪽 식의 0.0111111111 은 --brem(1.11111111vw)의 vw 계수다. 같은 값이라
       1920 에서 두 식이 정확히 만나 **단차가 없다**. --brem 을 바꾸면 여기도 같이 볼 것. */
  --dj-max-w: 1920px;

  /* 영상 위 검은 막의 진하기 (0~1, 0 이면 끔). 스크롤 뒤 히어로의
     --hero-video-scrim(css/tokens.css)과 **같은 값이어야** 이어져 보인다.
     2026-08-28 채린 지정: 0.4 → 0.5 → 0.6. */
  --boot-video-scrim: 0.6;

  /* 프리로더 전용 rem. 버전1의 html { font-size } 를 이 안으로 옮겨 온 것이다. */
  --brem: 1.11111111vw;

  /* 버전1 base.css 의 토큰 중 프리로더가 실제로 쓰는 것만. */
  --boot-white: #fff;
  --boot-accent: #00cfff;   /* START 버튼 */
  --boot-ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);

  color: var(--boot-white);
  font-family: var(--boot-body);
  font-size: 16px;
  line-height: 1.5;
}
/* ⚠⚠ **경계는 767 이다, 768 이 아니다** (2026-09-02에 고침).
   이 사이트의 모바일 경계는 어디나 `max-width: 767px` 이고 js/boot.js 의 `is-mobile-static` 도 767 이다.
   여기만 768 이었던 탓에 **정확히 768px(아이패드 세로)에서** `--brem` 만 모바일 값을 받아
   좌우 캡션이 그대로인 채 글자가 11.6px → **40.96px** 로 튀고 오른쪽 캡션이 화면 밖 322px 까지 나갔다.
   ⚠ 경계를 새로 적을 일이 생기면 **767** 로 적을 것. 한 곳만 어긋나도 그 1px 폭에서만 깨진다. */
@media (max-width: 767px) {
  .boot { --brem: 4.1025641vw; }
}

/* ★ 스크롤이 시작되면 프리로더는 **영상 층만** 넘긴다 ★
   프리로더 전체를 투명하게 만들면 그 안에 있는 DJBank 글자까지 같이 사라진다.
   그런데 DJBank 는 스크롤을 따라 '작아지며' 사라져야 하고, 그동안 밑의 히어로 타이틀
   두 줄이 올라오는 게 보여야 한다 — 즉 **영상은 밑엣것으로 넘기고 글자 층만 남겨야 한다.**
   (두 영상은 같은 파일·같은 크기·같은 재생 위치라 바뀌는 게 안 보인다)
   ⚠ 배경색도 함께 걷어야 한다. #101010 이 남으면 밑의 히어로가 안 보인다. */
.boot.is-video-passed {
  background: transparent;
}
.boot.is-video-passed .boot__frames,
.boot.is-video-passed .boot__scrim,
.boot.is-video-passed .boot__vignette {
  opacity: 0;
  visibility: hidden;
}

/* ★ 프리로더 구간 동안 무대의 핀을 화면에 붙들어 둔다 ★
   무대 트랙은 `.sc`(스크롤 길이) 뒤에서 시작하므로, 이 구간에서 히어로는 아직 화면 **밖**이다.
   그런데 프리로더 위에서 DJBank 가 사라지는 동안 그 자리에 히어로의 타이틀 두 줄이
   올라오는 게 보여야 한다 — 그래서 잠시 fixed 로 붙들어 화면에 세워 둔다.
   진행도가 끝나면 스크롤이 정확히 트랙 시작점에 닿으므로, sticky 로 되돌려도 위치가 같다.
   ⚠ 되돌리는 시점이 어긋나면 화면이 한 번 튄다. js/preloader/main.js 의 `is-prestage` 참고. */
html.is-prestage .stage__pin {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

/* 진행도가 끝까지 가면(=밑의 히어로가 완전히 드러나면) 클릭을 통과시킨다.
   opacity 는 JS 가 매 프레임 인라인으로 넣는다 — 여기서 transition 을 주면 안 된다
   (스크롤을 따라가야 하는데 뒤늦게 쫓아온다). */
.boot.is-through { pointer-events: none; }

/* ══════════════════════════════════════════════════════════════════════════
   ★ 모바일 히어로는 **배율을 안 받는다** ★ (2026-08-31 채린 "이전으로 돌려놔")
   ══════════════════════════════════════════════════════════════════════════
   --dj-title-scale / --dj-cap-scale 은 채린이 **PC 화면을 보면서** 정한 값이다(2026-09-01 기준 1.07 / 1.3).
   그런데 그 배율이 모바일 제목·캡션에도 그대로 곱해져서, 채린이 앞서 맞춰 둔 폰 크기가
   함께 커져 버렸다(390 에서 제목 213 → 238.6px). 폰은 원래 크기를 지킨다.
   ⚠ 폰만 따로 키우고 싶어지면 여기 두 값을 1 대신 원하는 배수로 주면 된다 —
     데스크톱과 **따로 논다**. */
@media (max-width: 767px) {
  .boot {
    --dj-title-scale: 1;
    --dj-cap-scale: 1;
  }
}

/* 스크롤 길이만 만드는 빈 구간. 프리로더가 fixed 라 문서 높이에 기여하지 않으므로 이게 필요하다.
   ★ 연출 속도 ★ 이 높이 하나로 정해진다. 크게 하면 천천히, 작게 하면 빨리 넘어간다. */
/* ⚠ 모바일에서는 뷰포트 단위를 쓰면 안 된다 — 카카오 인앱 브라우저가 툴바를 따라
   vh 를 바꿔서 이 길이가 숨쉬고, 그 아래 내용이 통째로 밀린다(js/boot.js 의 --vh100 참고). */
.sc { height: 90vh; }
@media (max-width: 767px) {
  /* ★ 폰에서 프리로더 → 히어로 전환 길이 ★ (2026-08-31 채린 "스크롤 2번 하고 넘어가는 느낌")
     0.9 화면(760px)이었는데 **연출은 400px 에서 이미 끝나** 있었다 — 남은 360px 은
     아무 변화 없이 스크롤만 먹는 구간이었다. 그 여유를 걷었다.
     ★ 조절하는 곳 ★ 아래 배수 하나(작을수록 빨리 넘어간다). */
  /* ⚠ 2026-09-02 에 0.45 → 0.85 로 늘려 **멈춤 구간**을 만들었다가 **되돌렸다**
     (채린 "라이브 페이지 타이밍처럼"). 늘린 트랙은 js/preloader/main.js 의 raw→p 재매핑과
     **한 쌍**이었다 — 다시 하려면 둘을 함께 되살릴 것(그쪽 주석에 방법을 적어 뒀다).
     ⚠ 무대(스월) 쪽 길이·속도와는 무관하다. */
  .sc { height: calc(var(--vh100, 90vh) * 0.45); }
}

/* 사진 창. 처음엔 가운데 16.5×11(--brem) 만 뚫려 있다.
   ★ 기준은 **50%**(이 요소의 상자)다. `50vh` 가 아니다 ★ (2026-09-01 채린 신고로 고침)
   ⚠ 슬랙·카카오 같은 **인앱 브라우저에서는 `100vh` 와 이 요소의 높이가 다르다.**
     `.boot` 는 `position: fixed; inset: 0` 이라 **보이는 영역**만큼 서는데, iOS 의 `vh` 는
     툴바가 접힌 **큰 화면** 기준이다. 그 차이만큼 위아래가 더 깎여서
     창이 납작한 띠로 보였다(채린 실측 사진: 폭은 맞고 높이만 뭉갬).
     헤드리스 재현 — 요소 높이 700 · 100vh 844 일 때 창 높이 **176 → 32px**.
   ⚠ 안쪽 칸(.boot__frame)은 `inset: 0` + flex 가운데라 **요소 상자**를 따른다.
     그러니 창도 같은 기준(%)이어야 둘의 가운데가 맞는다.
   ⚠ 짝: js/preloader/boot.js 의 openClip 도 **같은 식**을 쓴다. 한쪽만 고치면 창이 튄다. */
.boot__frames {
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  clip-path: inset(calc(50% - 5.5 * var(--brem)) calc(50% - 8.25 * var(--brem)));
  will-change: clip-path;
}
.boot__frame {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}
.boot__frame-in {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(16.5 * var(--brem));
  height: calc(11 * var(--brem));
  transform: translate(-50%, -50%);
  clip-path: inset(0 0 100% 0);
  /* transform 도 함께 적는다 — 확대를 scale 로 굴리므로(js/preloader/boot.js) 미리 제 층에 올린다. */
  will-change: clip-path, transform;
}
.boot__frame-in img,
.boot__frame-in video { display: block; width: 100%; height: 100%; object-fit: cover; }

/* 가장자리를 눌러 가운데로 시선을 모은다. 사진 위·글자 아래에 놓여야
   사진만 어두워지고 제목은 원색을 지킨다. */
.boot__vignette {
  position: absolute;
  inset: 0;
  z-index: 11;
  pointer-events: none;
  background: radial-gradient(68.78% 68.78% at 50% 50%, #0a0a0a33 0, #0a0a0ab3);
  transition: opacity 0.5s var(--boot-ease-out-cubic);
}

/* ★ 확대가 시작되면(2.6초) 비네트를 걷는다 ★ (2026-08-28 채린 요청)
   스크롤 뒤 히어로에는 비네트가 없고 평평한 40% 막만 있다. 두 화면은 같은 영상이
   이어지는 것처럼 보여야 하므로, **확대된 영상 위에 얹히는 것도 40% 막 하나뿐이어야 한다.**
   비네트를 남기면 프리로더 쪽만 가장자리가 더 눌려 인계 순간 밝기가 바뀐다.
   작은 창으로 사진이 차오르는 구간(0~2.6초)에는 그대로 남는다 — 원래 연출이다. */
.boot.is-zooming .boot__vignette { opacity: 0; }

/* 영상 위에 평평하게 까는 검은 막. 비네트가 가장자리만 누르는 것과 달리 고르게 덮는다.
   ★ 진하기 ★ 아래 --boot-video-scrim (0~1). 2026-08-28 채린 지정 0.6.
   비네트와 같은 z:11 에 두되 DOM 순서가 뒤라 그 위에 얹힌다. 글자(z:20)는 안 눌린다.
   ⚠ 스크롤 뒤 히어로에도 같은 값이 있다(css/tokens.css 의 --hero-video-scrim).
     같은 영상이 이어지는 것처럼 보여야 하므로 **두 값을 함께 고칠 것.** */
.boot__scrim {
  position: absolute;
  inset: 0;
  z-index: 11;
  pointer-events: none;
  background: rgb(0 0 0 / var(--boot-video-scrim, 0.6));

  /* ★ 맨 처음(사진이 작은 창에 차오르는 구간)에는 깔지 않는다 ★ (2026-08-28 채린 요청)
     확대가 시작되는 순간(2.6초, `.boot.is-zooming`)부터 켜서 **커지는 영상부터** 눌린다.
     켜지는 시간(0.5초)은 확대 시간(0.64초) 안쪽이라 커지는 동안 자연스럽게 얹힌다. */
  opacity: 0;
  transition: opacity 0.5s var(--boot-ease-out-cubic);
}
.boot.is-zooming .boot__scrim { opacity: 1; }

/* DJ Bank 로고(크레스트). 버전1에서 빼 둔 상태 그대로 가져왔다 —
   아래 display:none 한 줄만 지우면 다시 나온다(JS 는 그대로라 숨겨진 채 opacity 만 바뀐다).
   ★ 2026-08-26 채린 요청: 이 지면에서는 DJ Bank 로고를 일단 전부 뺀다.
     8990 쪽 헤더 로고도 같은 이유로 마크업에서 주석 처리했다. */
.boot__crest {
  display: none;
  position: absolute;
  top: 3.33333vh;
  left: 50%;
  z-index: 20;
  height: 3.8vh;
  aspect-ratio: 200 / 57;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
}
.boot__crest img { width: 100%; height: 100%; object-fit: contain; }

/* 투명도를 줄 일이 생기면 여기(바깥)에 준다. 안쪽 .boot__logo-in 은 JS 가 등장 연출로
   0 → 1 을 쓰고 있어서 거기에 박으면 연출이 덮어써 버린다. */
/* ⚠ 스크롤 축소는 **이 바깥 층**에 준다. 안쪽 .boot__logo-in 은 프리로더 연출이
   scaleY 를 쓰고 있어서, 거기에 겹치면 서로 덮어쓴다. */
.boot__logo {
  position: absolute;
  transform-origin: center center;
  inset: 0;
  z-index: 20;
  color: var(--boot-white);
  pointer-events: none;
  transition: color 0.6s var(--boot-ease-out-cubic);
}

/* 제목은 **흰색 그대로 간다.** 2026-08-28 에 '다 펴지고 2초 뒤 #0046ff 로 물들이기'를 넣었다가
   같은 날 채린이 되돌리라고 해서 뺐다(버전1에서도 한 번 넣었다 뺀 연출이다).
   되살리려면 이 두 줄 + js/preloader/boot.js 의 TL.tint 를 되돌린다:
     --boot-brand: #0046ff;  (위 .boot 블록)
     .boot.is-tinted .boot__logo { color: var(--boot-brand); }
   ⚠ 색은 `.boot__logo`(제목 층)에만 준다 — `.boot` 전체에 주면 캡션 네 줄까지 물든다.
   (위 `.boot__logo` 의 `transition: color` 는 그때 쓰던 것이 남아 있는 것이다.) */

/* --title-shift 는 제목 글자를 세로 가운데로 앉히는 보정값이다(JS 가 px 로 넣는다).
   글자 상자의 가운데와 **글자 획의 가운데**는 다르다 — 상자는 어센더~디센더로 잡히는데
   대문자만 있는 문구는 획이 baseline 위에만 있어서, 상자를 가운데 두면 글자가 위로 뜬다.
   제목과 캡션은 한 덩어리로 움직여야 하므로 둘 다 같은 값만큼 내린다. */
.boot__logo-box {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  /* ⚠ --title-nudge 에 --progress 를 곱한다 (2026-08-28 채린 지적).
     첫 구간(사진이 작은 창에 차오르는 동안)에는 제목이 아직 없고 **사진 창이 화면 정가운데**다.
     그때도 올려 버리면 캡션만 위로 떠서 창과 어긋난다 — 진행도 0 이면 올림도 0 이 되어
     원래 자리(가운데)에 앉고, 제목이 펴지는 동안(2.6~3.08초) 함께 올라간다.
     --title-shift(획 중심 보정)는 곱하지 않는다 — 그건 늘 필요한 값이다. */
  transform: translate(-50%, calc(-50% + var(--title-shift, 0px)
             - var(--title-nudge, 0px) * var(--progress)));
}
.boot__logo-in {
  opacity: 0;
  transform: scaleY(0);
  transform-origin: center center;
}
/* 크기를 재기 위한 복제본. 변형이 걸린 쪽은 재도 변형된 값이 나온다. */
.boot__logo-sizer {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* 화면 하나를 통째로 채우는 큰 활자 ─ 글자수(--len)에 맞춰 가로/세로 중
   먼저 걸리는 쪽에 맞춘다. 버전1 type.css 의 .ttf 를 .boot 안으로 옮겨 온 것이다. */
.boot .ttf {
  --len: 10;
  --ttf-gap: 40px;
  display: inline-block;
  width: max-content;
  font-family: var(--boot-title);
  /* ★ 크기 배율은 .boot 의 --dj-title-scale ★ (2026-08-31) 여기 식은 건드리지 않는다 */
  /* ★ 1920 부터는 더 안 커진다 ★ (2026-08-31 채린 "1920 이 마지노선")
     제목은 원래 화면 폭에 비례해 끝없이 커졌다(2560 에서 1103px). 넓은 모니터에서 글자만
     계속 부풀어 지면이 답답해진다 — 그래서 **폭이 1920 일 때의 크기**를 상한으로 둔다.
     아래 세 번째 줄이 그 상한이다: 같은 식에서 100vw 자리에 1920px 을 넣은 것뿐이라
     --len(마크업)이나 --ttf-gap 을 바꿔도 저절로 따라온다. 1920 에서 두 값이 정확히 같아
     이어지는 지점에 **단차가 없다**(825.6px).
     ★ 마지노선을 옮기려면 ★ .boot 의 --dj-max-w 한 곳만 고친다(캡션도 함께 따라온다). */
  font-size: calc(
    min(
      100svh - var(--ttf-gap-y, var(--ttf-gap)) * 2,
      (100vw - var(--ttf-gap-x, var(--ttf-gap)) * 2) / var(--len) * 7,
      (var(--dj-max-w) - var(--ttf-gap-x, var(--ttf-gap)) * 2) / var(--len) * 7
    ) * var(--dj-title-scale, 1)
  );
  line-height: 0.8;
  padding-top: 0.05lh;
  vertical-align: top;
}

/* 캡션은 확대가 시작돼도 그대로 남는다(.is-zooming 은 JS 가 계속 붙이지만 여기서 안 쓴다).
   다시 감추려면 `.boot.is-zooming .boot__texts { opacity: 0 }` 을 넣으면 된다. */
.boot__texts {
  position: absolute;
  inset: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: calc(11.875 * var(--brem));
  /* 캡션은 제목과 한 덩어리로 움직인다 — 같은 만큼, **같은 박자로** 올라간다.
     (첫 구간에는 --progress 가 0 이라 화면 정가운데 = 사진 창과 같은 높이) */
  transform: translateY(calc(-1 * var(--title-nudge, 0px) * var(--progress)));
  transition: opacity 0.4s var(--boot-ease-out-cubic);
}
.boot__line {
  /* ★ 캡션 기본 크기 ★ --brem(화면 폭 비례)의 배수. **원본 그대로 1 이다**
     (1440 16px · 1920 21.3px · 2560 28.4px).
     ⚠ 2026-08-28 채린 요청으로 **첫 시작 캡션은 이 원래 크기를 지킨다.**
       커진 것은 확대 순간 바뀌는 문구(.boot__swap-in--next)뿐이다 — 아래 그 규칙 참고. */
  /* ★ 1920(--dj-max-w)부터는 더 안 커진다 ★ (2026-08-31 채린 "캡션도 너무 커진다")
     제목과 **같은 마지노선**을 본다. 1920 에서 21.33px 로 멈춘다(배율 1.5 면 32px).
     ⚠ min() 은 배율 **밖**에 있어야 한다 — 안에 넣으면 배율까지 상한에 걸려 캡션을
       키우는 --dj-cap-scale 이 넓은 화면에서 안 먹는다.
     ⚠ 모바일(≤768)은 아래 @media 가 이 줄을 통째로 덮는다 — 거기는 상한이 없다
       (채린 "모바일은 안 고쳐도 됨"). 모바일 --brem 은 4.1vw 라 상한을 걸면 오히려 작아진다. */
  font-size: calc(
    min(1 * var(--brem), var(--dj-max-w) * 0.0111111111) * var(--dj-cap-scale, 1)
  );
  line-height: 1;
  /* 캡션은 **전부 대문자**로 그린다(원본 LMC 때부터의 규칙).
     ⚠ 2026-09-01 잠깐 `none` 으로 두어 적은 대로 보이게 했다가 채린 요청으로 되돌렸다. */
  text-transform: uppercase;
  margin: 0;
  /* 진행도에 따라 제목 획의 절반만큼 위아래로 벌어져, 제목 위아래 끝 바깥에 맞물린다.
     기준은 글자 상자(--logo-height)가 아니라 **획**(--ink-height)이다.
     상자로 맞추면 대문자만 있는 제목에서 캡션이 획 안쪽으로 들어온다. */
  /* 캡션과 제목 획 사이의 틈은 **.boot 의 --cap-gap 한 곳**에서 정한다 (2026-08-31).
     전에는 이 줄에 0.7em 이 박혀 있었는데, 크기 배율과 함께 조절하는 값이라 위로 올렸다.
     내력: 0.4em(원본) → -0.8em(너무 붙음) → -0.1em → 0.7em(2026-08-27 서체 교체) → **0.3em**. */

  /* 왼쪽 캡션을 제목 'D' 의 오른쪽 끝에 맞추는 값. JS(boot.js measure)가 D 폭을 재서 넣는다. */
  --cap-shift-l: 0px;
  /* 오른쪽 캡션을 제목 'k' 의 **획 끝**에 맞추는 값 (2026-09-01 채린 요청).
     JS(boot.js measure)가 제목과 캡션의 잉크 끝을 캔버스로 재서 넣는다 — 자세한 건 그쪽 주석.
     1440 에서 +10.5px 쯤 된다. 0 이면 예전 자리(제목 폭의 99% 상자 오른끝). */
  --cap-shift-r: 0px;
}
/* ── 확대되는 순간의 문구 교체 (2026-08-26 채린 요청) ────────────────────
   `.boot.is-zooming` 은 js/preloader/boot.js 가 확대 시작(2.6초)에 붙인다.
     · 위 두 줄  → 사라진다
     · 아래 두 줄 → 겹쳐 둔 새 문구로 바뀐다
   첫 번째 .boot__swap-in 이 흐름에 남아 **상자 폭·높이를 정한다.**
   두 번째(--next)는 그 위에 절대 배치로 겹쳐 두고 투명도만 교차시킨다.
   왼쪽 덩어리는 왼쪽 끝에, 오른쪽 덩어리는 오른쪽 끝에 맞춘다. */
.boot__line { transition: opacity 0.4s var(--boot-ease-out-cubic); }
.boot.is-zooming .boot__line--top { opacity: 0; }

/* ⚠ 두 문구를 **같은 칸에 겹쳐** 둔다(inline-grid). 예전에는 두 번째를 absolute 로 띄웠는데,
   바뀐 문구가 첫 문구보다 커지자 상자 밖으로 삐져나갔고 — 캡션 줄은 등장 연출(rise)을 위해
   `overflow: hidden` 이라 — **글자가 잘렸다**("THE FIRST…" 의 T 가 사라짐, 2026-08-28).
   같은 칸에 겹쳐 두면 상자가 **넓은 쪽에 맞춰지고** 두 문구 다 안 잘린다.
   좌우 정렬은 `.boot__side--l/r .boot__line` 의 text-align 이 그대로 맡는다. */
/* ★ 처음 네 줄만 작게 ★ (2026-09-01 채린 "그 부분만 캡션 폰트 사이즈 줄여줘")
   대문자로 되돌리니 문장이 길어 커 보였다. **0.85배**(1440 20.8 → 17.7px).
   ⚠ 확대 뒤 문구(.boot__swap-in--next, 1.1875em)는 건드리지 않는다 — 그건 표제라 큰 게 맞다.
     그래서 `:not(--next)` 로 첫 문구만 고른다. 줄(.boot__line)에 주면 둘 다 작아진다.
   ⚠ **줄(.boot__line--top)이 아니라 그 안의 `> span` 에 준다.** 줄에 주면 `.boot__line` 의
     calc() 크기를 덮어써서 em 이 **부모(.boot__side)** 기준이 된다 — 16 × 0.85 = 13.6px 가 돼
     아래 줄(17.68px)과 크기가 갈렸다(실제로 한 번 그랬다).
   ★ 조절하는 곳 ★ 아래 0.85. */
.boot__line--top > span,
.boot__swap-in:not(.boot__swap-in--next) { font-size: 0.85em; }

.boot__swap { position: relative; display: inline-grid; }
.boot__swap-in {
  grid-area: 1 / 1;
  display: block;
  white-space: nowrap;
  transition: opacity 0.35s var(--boot-ease-out-cubic);
}
.boot__swap-in--next {
  opacity: 0;

  /* ★ 바뀐 뒤 캡션 크기 ★ (2026-08-28 채린) 줄의 기본 크기 대비 배수다.
     1 → 1.125("2560 기준 32") → 1.25("좀만 더") → **1.1875**("좀만 줄여") =
     2560 33.8px · 1920 25.3px · 1440 19px · 390 16.6px.
     ⚠ **줄(.boot__line)이 아니라 이 span 에만** 준다 — 줄에 주면 첫 시작 캡션까지 커진다.
       캡션이 벌어지는 거리와 --cap-gap 은 줄의 크기(원본)를 기준으로 잡히므로,
       이 문구는 제자리에 앉은 채 글자만 커진다.
     ⚠ 모바일은 처음부터 이 문구만 보인다(위 @media 의 opacity 교대) — 값이 그대로 적용된다. */
  font-size: 1.1875em;
}
/* 쉼표 뒤 띄어쓰기. 이 서체는 기본 공백이 좁아 'NOW, DJBANK' 가 붙어 보인다.
   ★ 간격 조절 ★ 아래 width 하나 (기본 공백은 약 0.25em, 여기서는 0.45em). */
.boot__gap { display: inline-block; width: 0.45em; }

.boot.is-zooming .boot__swap-in { opacity: 0; }
.boot.is-zooming .boot__swap-in--next { opacity: 1; }

/* ★ 왼쪽 캡션(DYNAMIC JOURNEY)을 오른쪽으로 밀어 두는 값 ★ (2026-08-26 채린 요청)
   캡션 좌우 위치는 JS(measure)가 제목 글자 폭에 맞춰 잡는다 — 그 기준은 그대로 두고
   왼쪽 덩어리만 이만큼 오른쪽으로 옮긴다. 0 이면 원래 자리(제목 왼쪽 끝).
   translate 라 자리 계산에는 영향을 주지 않는다. */
/* ⚠ 기본값은 `.boot`(위쪽 블록)에 둔다. `.boot__texts` 에 직접 선언하면 **자기 선언이
   상속값을 이겨서** JS 가 넣어 준 값이 안 먹는다(실제로 그래서 정렬이 안 됐다). */
.boot__side--l { transform: translateX(var(--cap-shift-l)); }
/* 오른쪽 덩어리도 같은 방식으로 민다 — 값의 뜻은 위 --cap-shift-r 주석 참고.
   ⚠ 세로 이동(줄 벌어짐)은 `.boot__line--top/--bottom` 이 맡는다. 층이 달라서 안 부딪힌다. */
.boot__side--r { transform: translateX(var(--cap-shift-r)); }

/* ★ 시작 구간 캡션은 살짝 투명하다 ★ (2026-09-02 채린) 확대 전(=.is-zooming 붙기 전)만 0.9.
   ⚠ `.boot__texts` 에 주면 안 된다 — js/preloader/main.js 가 그 요소의 opacity 를 인라인으로
     쥐고 있어서(스크롤 진행도) 규칙이 진다. 한 층 안쪽인 `.boot__side` 는 아무도 안 건드린다.
   ⚠ 확대가 시작되면 1 로 돌아온다 — 그때 남는 두 줄은 표제(DYNAMIC JOURNEY 등)라 또렷한 게 맞다. */
.boot:not(.is-zooming) .boot__side { opacity: 0.9; }

.boot__side--l .boot__line { text-align: left; }
.boot__side--r .boot__line { text-align: right; }
.boot__line--top {
  transform: translate3d(0, calc((var(--ink-height, 0px) * -0.5 - var(--cap-gap) - 50%) * var(--progress)), 0);
}
.boot__line--bottom {
  transform: translate3d(0, calc((var(--ink-height, 0px) * 0.5 + var(--cap-gap) + 50%) * var(--progress)), 0);
}

/* 캡션 등장 — 버전1 reveal.css 의 rise 하나만. 상자 안에서 안쪽을 밀어올린다. */
.boot [data-rv='rise'] {
  --rv-delay: 0s;
  --rv-y: 110%;
  display: block;
  overflow: hidden;
  margin-block: -0.2lh;
}
.boot [data-rv='rise'] > * {
  display: block;
  padding-block: 0.2lh;
  transform: translate3d(0, var(--rv-y), 0);
  transition: transform 0.5s var(--boot-ease-out-cubic) var(--rv-delay);
}
.boot [data-rv='rise'].is-in > * {
  transform: translate3d(0, 0, 0);
  transition-duration: 1.2s;
}

/* ⚠ 선택자를 `.boot .boot__start` 로 쓴다(그냥 `.boot__start` 가 아니라).
   아래 `.boot .ul`(밑줄)이 `position: relative` 를 주는데, 한 파일로 합치면서
   그쪽 우선순위가 더 높아져 **버튼이 absolute 를 잃고 화면 밖(y −47px)에 그려졌다.**
   버전1에서는 .ul 이 type.css, .boot__start 가 boot.css 에 따로 있어서 우선순위가
   같았고 파일 순서로 버튼이 이겼다 — 합치면서 깨진 것이다.
   ⚠ 이 버그는 **JS 로 클릭하는 검증에는 안 잡힌다** — 화면 밖 버튼도 click() 은 먹는다.
     실제 좌표를 찍어 보거나 사람이 눌러 봐야 드러난다. */
.boot .boot__start {
  /* 자리는 안쪽 .hero__cta 가 잡는다(bottom: 2.4rem — 두 번째 화면과 같은 값).
     이 층은 화면 전체를 덮고 보이기/숨기기만 맡는다. */
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;   /* 누르는 게 아니라 '스크롤하라'는 안내다 */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.36s ease, visibility 0.36s ease;
}
.boot .boot__start.is-shown { opacity: 1; visibility: visible; }

/* ★ '↓ Scroll for more' 색 ★ (2026-08-28 채린 지정: #0046FF → **#00AAFF**)
   어두운 영상(검은 막 60%) 위라 진한 파랑은 잘 안 읽혔다 — 밝은 하늘색으로 올렸다.
   글자와 화살표가 함께 물든다 — 화살표 SVG 가 `fill: currentColor` 라서다.
   ⚠ **프리로더 것에만** 준다(`.boot` 로 감쌌다). 두 번째 화면의 안내는 지금 `hidden` 이지만
     되살리면 영상 위에 뜨는 것이라 크림색이 맞다 — 규격은 css/stage/hero.css 의
     `.scene--hero .hero__cta-inner`(0-2-0) 이고, 이 규칙(0-3-0)이 그 위에 얹힌다. */
.boot .boot__start .hero__cta-inner { color: #00aaff; }



/* 밑줄은 오른쪽에서 접혔다가 왼쪽에서 다시 그어진다(버전1 type.css 의 .ul).
   ⚠ 원본 `.ul` 에 있던 `position: relative` 는 **일부러 뺐다.**
   이 지면에서 .ul 을 쓰는 건 START 버튼 하나뿐인데 그 버튼은 이미 absolute 라
   ::after 의 기준이 된다. relative 를 그대로 두면 같은 우선순위(0-2-0)에서 이 규칙이
   뒤에 온다는 이유만으로 버튼의 absolute 를 덮어써 **버튼이 화면 밖으로 나간다.**
   (실제로 그 일이 있었다 — 2026-08-26)
   .boot 안에서 .ul 을 다른 요소에 쓸 일이 생기면, 그 요소에 position 을 직접 줄 것. */
.boot .ul { text-decoration: none; }
.boot .ul::after {
  content: '';
  position: absolute;
  bottom: -0.1em;
  left: 0;
  right: 0;
  height: 1px;
  background: currentColor;
  transform-origin: right center;
  transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.boot .ul:hover::after { animation: boot-ul-redraw 1s cubic-bezier(0.19, 1, 0.22, 1); }
@keyframes boot-ul-redraw {
  0% { transform: scaleX(1); transform-origin: right center; }
  49% { transform: scaleX(0); transform-origin: right center; }
  50% { transform: scaleX(0); transform-origin: left center; }
  100% { transform: scaleX(1); transform-origin: left center; }
}

/* 프리로더가 도는 동안에는 스크롤을 막는다. START 를 누르면 JS 가 걷는다.
   Lenis 는 mod-hero-video.js 가 자기 인트로 동안 따로 멈춘다 — 여기서는
   프리로더 구간(그 모듈이 아직 안 붙은 시간)만 책임진다. */
html.is-boot-locked, html.is-boot-locked body {
  overflow: hidden;
  height: 100%;
}

/* ⚠ 경계 **767**(위 --brem 주석 참고. 여기도 768 이었다) */
@media (max-width: 767px) {
  /* ★ 2026-09-02 부터 모바일도 **데스크톱과 같은 교대**를 한다 ★
     처음 네 줄(ACCOUNTS… / ALL INSIDE THE ERP. / TO RESHAPE… / A DYNAMIC JOURNEY BEGINS.)이
     보이다가, 확대되는 순간 아래 두 줄이 DYNAMIC JOURNEY · THE FIRST ERP BANKING 으로 바뀐다.
     ⚠ 그전에는 위 두 줄을 `display:none` 으로 없애고 바뀐 문구만 처음부터 띄웠다
       (2026-08-26 ~ 09-02). 되돌리려면 아래 두 줄을 `display:none` / `opacity:0` 으로 되돌린다. */
  .boot .boot__line--top { display: block; }
  .boot .boot__swap-in { opacity: 1; }
  .boot .boot__swap-in--next {
    opacity: 0;
    /* ★ 확대 뒤(= 'DJ Bank' 가 커진 화면) 두 줄의 크기 ★ **4.8vw** (2026-09-02 채린, 390 에서 18.7px).
       이 두 줄은 창 위·아래 모서리에 걸치는 표제라 시작 캡션(16px)보다 조금 크다.
       ⚠ 옛 값은 1em 이었다. 그전 좌우 배치 시절에는 키우면 좌우 캡션이 부딪혔는데
         (390 에서 2px 겹침, 2026-08-28), 지금은 위·아래로 나뉘어 있어 그 걱정이 없다.
       ⚠ 데스크톱은 위쪽 블록의 1.1875em 그대로다. */
    font-size: 4.8vw;
  }

  .boot__texts {
    padding-inline: calc(1.25 * var(--brem));
  }
  .boot__line {
    /* ★ 글자 크기 ★ (2026-09-02 채린) 0.875 → 1.15("너무 작아") → 1.0("이번엔 너무 커졌어", 390 에서 16px)
       → 0.9375(2026-09-04 채린 "15 정도로, 390 기준") → **0.907**(같은 날 "430 기준 16") —
       430 에서 16px · 390 에서 14.5px · 375 에서 14px.
       계산: 계수 = 원하는px ÷ (기준폭 × 0.041025641). 430 기준이면 ÷ 17.64, 390 기준이면 ÷ 16.
       ⚠ 아래 `> span` 규칙도 함께 봐야 한다 — 데스크톱은 처음 네 줄만 0.85배로 줄이는데,
         폰에서는 그 축소를 **끈다**(안 끄면 16 × 0.85 = 13.6px 로 다시 작아진다). */
    font-size: calc(0.907 * var(--brem) * var(--dj-cap-scale, 1));   /* 배율은 .boot 의 --dj-cap-scale */
    /* 두 줄 사이 간격. 전역 규칙은 1(딱 붙는다) — 폰은 문장이라 조금 벌린다.
       2026-09-02 채린: 1.45 → 1.2 → 1.05 → **1.06** (390 에서 16.96px). */
    line-height: 1.06;
    /* ⚠ 모바일은 음수를 주면 안 된다. 데스크톱과 달리 **진행도를 곱하지 않고 처음부터
       벌어져 있는** 공식이라(아래 --top/--bottom 참고) 같은 값이라도 훨씬 위로 파고든다.
       -0.8em 을 줬다가 캡션이 제목 글자 한가운데를 가로질렀다(2026-08-26). */
    --cap-gap: 0.75em;   /* ⚠ 모바일은 그대로 둔다 (2026-08-31 채린 "모바일은 안 고쳐도 됨") */
  }
  /* 데스크톱에서 처음 네 줄만 0.85 배로 줄이는 규칙을 **폰에서는 끈다** (2026-09-02). */
  .boot .boot__line--top > span,
  .boot .boot__swap-in:not(.boot__swap-in--next) { font-size: 1em; }

  /* ★ 'DJ Bank' 가 커지는 구간에서는 캡션을 숨긴다 ★ (2026-09-02 채린 "그냥 숨겨줘")
     확대가 시작되면(.is-zooming) 네 줄이 함께 사라지고 큰 글자와 창만 남는다.
     ⚠ **`!important` 가 꼭 필요하다.** js/preloader/main.js 가 스크롤 진행도로
       `texts.style.opacity` 를 **인라인으로** 넣는데(스크롤 전에는 그 값이 1),
       인라인은 보통 규칙을 이긴다 — 처음엔 0 으로 내려갔다가 곧 1 로 되돌아왔다(실측).
     ⚠ 한때 확대 뒤에도 남겨 봤다: 창 **밖** 30px(커진 글자와 겹쳐 둘 다 안 읽힘) →
       창 **안쪽** → 창 **경계선에 반반 걸침**(시안대로). 지금은 그 셋을 다 걷고 숨긴다.
       되살리려면 이 자리에 --portal-cy / --portal-now-h 를 쓰던 규칙을 다시 넣으면 된다
       (js/preloader/boot.js 는 그 두 값을 계속 넘겨 주고 있다). */
  .boot.is-zooming .boot__texts {
    opacity: 0 !important;
    /* 기본은 0.4s 인데, 그동안 **두 벌이 겹쳐 뭉개진다** — 처음 문구가 아직 안 사라졌는데
       바뀐 문구(--next)가 켜져서다(채린이 보낸 화면 기록 6.2초에 그대로 잡혔다).
       폰에서는 확대되면 어차피 캡션이 사라지므로 **빨리 걷는다**. */
    transition: opacity 0.16s ease !important;
  }
  /* ★ 폰에서는 문구 교대를 아예 안 한다 ★ (2026-09-02)
     확대 뒤 캡션이 안 보이므로 DYNAMIC JOURNEY / THE FIRST ERP BANKING 로 갈아탈 이유가 없다.
     교대를 켜 두면 사라지는 0.16초 동안 두 문구가 겹쳐 지저분하다. */
  .boot.is-zooming .boot__swap-in { opacity: 1; }
  .boot.is-zooming .boot__swap-in--next { opacity: 0; }
}

/* ── 히어로 로고: 흰(크림) 배경 구간에서만 ────────────────────────────────
   (2026-08-26 채린 요청) 8990 원본은 로고가 처음부터 화면 맨 위에 떠 있는데,
   버전3에서는 프리로더·영상 위에 로고를 안 두기로 했다. 대신 **영상이 줄어들며
   배경이 밝아지는 구간**에서만 뜬다.
   `.is-on-light` 는 문서 맨 아래 인라인 스크립트가 붙인다(LIGHT_FROM 부터,
   스월 씬이 살아 있는 동안). 그 클래스가 흰 로고↔컬러 로고 교차도 함께 맡는다.
   ★ 뜨는 시점을 바꾸려면 ★ 그 스크립트의 LIGHT_FROM (무대 윗변 기준 화면 배수) */
/* ⚠ 선택자에 `html.js` 를 붙여야 한다. css/motion.css 에 `html.js .hero__logo { opacity: 0 }`
   가 있어서(원래는 인트로가 켜 주던 값) 그냥 `.hero__logo.is-on-light` 로는 못 이긴다.
   버전3은 그 인트로를 안 쓰므로 여기서 직접 켠다. */
.hero__logo {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1),
              visibility 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
/* `.is-lit`  = 두 줄 타이틀이 올라오는 구간(영상 위) — **흰 로고**
   `.is-on-light` = 배경이 크림으로 밝아진 뒤 — **컬러 로고**(교체는 stack.css 가 한다) */
html.js .hero__logo.is-lit,
html.js .hero__logo.is-on-light {
  opacity: 1;
  visibility: visible;
}

/* ══════════════════════════════════════════════════════════════════════════
   모바일 첫 화면 — DJ / BANK 두 줄 (2026-08-30 채린 시안 `Frame 632471.png`)
   ══════════════════════════════════════════════════════════════════════════
   ┌ 시안(390) 실측 — 전부 '획' 기준 ────────────────────────────────────
   │  DJ    획 y 117.3~322.3 · 폭 160.7
   │  BANK  획 y 350.7~554.0 · 폭 351.7   (좌우 여백 22px)
   │  획 높이 204.5 (두 줄 같음) → 글자 크기 204.5 / 0.76(캡높이) = **269px**
   │  획 간 거리 233.4 → 줄 높이 233.4 / 269 = **0.868**
   │  캡션 줄 y 567.3 — BANK 획 아래끝(554)에서 13.3 아래
   └────────────────────────────────────────────────────────────────────
   ⚠ 줄바꿈은 마크업의 `<br class="br-mobile">` 가 한다 — 데스크톱에서는 display:none 이라
     한 줄('DJ Bank')로 남는다. 대문자도 모바일에서만 준다.
   ⚠ 캡션이 벌어지는 거리는 js/preloader/boot.js 가 **상자를 실측해** --ink-height 로 넘긴다.
     두 줄이 되면 그 값이 저절로 커지므로 여기서 따로 손댈 게 없다.
   ★ 크기 ★ 390 에서 269px → 269 / 3.9 = 68.974vw */
@media (max-width: 767px) {
  .boot .ttf {
    font-size: calc(68.974vw * var(--dj-title-scale, 1));   /* 배율은 .boot 의 --dj-title-scale */
    line-height: 0.868;
    /* ⚠ 대문자로 바꾸지 않는다 — **'DJ Bank' 그대로** 적는다 (2026-08-31 채린 지정).
       한때 text-transform: uppercase 로 'DJ BANK' 가 되게 했다가 되돌렸다. */
    /* 두 줄이라 정렬이 필요하다 — 짧은 'DJ' 가 왼쪽에 붙지 않고 **가운데**에 선다
       (2026-08-30 채린 지적). 'BANK' 는 폭을 거의 다 써서 정렬해도 자리가 그대로다. */
    text-align: center;
  }

  /* ★ 2026-09-02 채린 시안 ★ 모바일 캡션은 **사진 창 위·아래에 두 줄씩, 가운데 정렬**이다.
     데스크톱은 창 좌우에 붙지만 폰은 폭이 좁아 그 배치가 안 된다 — 그래서 세로로 쌓는다.
       창 위  : ACCOUNTS, TRANSFERS, LOANS. / ALL INSIDE THE ERP.   (= .boot__side--l)
       창 아래: TO RESHAPE CORPORATE BANKING, / A DYNAMIC JOURNEY BEGINS. (= .boot__side--r)
     ⚠ 2026-08-30 ~ 09-02 사이에는 이 상자를 통째로 `display:none` 으로 감춰 뒀었다.
     ★ 창 크기와 묶여 있다 ★ 창 반높이는 `.boot__frames` 의 clip-path 와 **같은 식**(5.5 × --brem)을
       쓴다. 창 크기를 바꾸면 여기 5.5 도 함께 고쳐야 캡션이 창에 붙어 따라간다.
     ★ 창과의 거리 ★ 아래 --cap-away (지금 3 × --brem = 390 에서 48px). */
  /* ★ 확대가 끝난 화면을 세로 가운데로 ★ (2026-09-02 채린 "중간에 딱 위치하게", 시안 ㄷㄷㄷㄷ.png)
     `--title-nudge` 는 확대되는 동안 글자와 창을 **함께** 위로 올리는 값이다(--progress 를 곱한다).
     7vh(59px)면 다 커진 뒤 덩어리 중심이 화면 중심보다 32px 위에 선다(실측 390×844).
     폰은 3.2vh 로 낮춰 중심을 맞췄다가, 2026-09-02 채린 "조금만 위로" 로 **4.5vh** 가 됐다
     (27 → 38px, 11px 위로). 제목·창·캡션이 **한 덩어리로** 올라간다 — 캡션은 창의 실제 중심
     (--portal-cy)을 보고 있어서 저절로 따라온다.
     ⚠ 확대 **전**에는 --progress 가 0 이라 이 값이 안 쓰인다 — 시작 캡션 자리는 그대로다.
     ⚠ 데스크톱은 7vh 그대로(채린 지정값). ⚠ 화살표는 화면 아래에 따로 붙어 있어 안 따라온다. */
  .boot { --title-nudge: 4.5vh; }

  .boot__texts {
    display: block;              /* 좌우 flex 배치를 버리고 절대배치 두 덩어리로 간다 */
    padding-inline: calc(1.25 * var(--brem));
    /* 창 가장자리에서 캡션까지. 2026-09-02 채린: 3 → 1.5("너무 멀어") → **1.875**(390 에서 30px).
       ⚠ --brem 비례라 큰 폰에서는 비율대로 함께 넓어진다(430 에서 33px). */
    --cap-away: calc(1.875 * var(--brem));
    --cap-win: calc(5.5 * var(--brem));     /* 창 반높이 (.boot__frames clip-path 와 같은 식) */
  }
  .boot__side {
    position: absolute;
    left: 0;
    right: 0;
    /* ⚠ 데스크톱의 좌우 밀기(--cap-shift-l/r)를 **꺼야 한다** — 그건 제목 글자 끝에 맞추는
       값이라 폰에서는 가운데 정렬을 깨뜨린다. JS(measure)가 계속 값을 넣지만 안 쓴다. */
    transform: none;
  }
  .boot__side--l { bottom: calc(50% + var(--cap-win) + var(--cap-away)); }
  .boot__side--r { top: calc(50% + var(--cap-win) + var(--cap-away)); }
  /* 네 줄 모두 가운데 정렬 (데스크톱은 왼쪽/오른쪽 정렬) */
  .boot__side--l .boot__line,
  .boot__side--r .boot__line { text-align: center; }
  /* ⚠ 데스크톱은 두 줄을 위아래로 **벌려** 놓는다(--cap-gap). 여기서는 그냥 두 줄이 붙어야
     하므로 그 이동을 끈다 — 안 끄면 위 줄이 창 쪽으로 파고든다. */
  .boot__line--top,
  .boot__line--bottom { transform: none; }

  /* ★ 영상 위 검은 막 — 모바일만 옅게 ★ (2026-08-30 채린 "영상 좀만 더 밝게". 0.6 → 0.5)
     ⚠ 짝이 되는 --hero-video-scrim(css/tokens.css 의 모바일 블록)과 **같은 값이어야** 한다.
       한쪽만 고치면 프리로더 → 히어로로 넘어가는 순간 밝기가 툭 바뀐다.
     ⚠ 이 선언은 반드시 **boot.css 안**에 있어야 한다. tokens.css 에 `.boot { … }` 로 적었더니
       안 먹었다 — 우선순위가 같으면 뒤에 실린 파일이 이기는데 boot.css 가 뒤다. */
  .boot { --boot-video-scrim: 0.5; }
}

/* ══════════════════════════════════════════════════════════════════════════
   모바일 히어로 — 포털 구성 (2026-08-31 채린 시안 `Frame 632479.png`)
   ══════════════════════════════════════════════════════════════════════════
   과거 사진이 차오른 뒤 **화면을 가득 채우지 않고**, 가운데서 창이 포털처럼 열린다.
   그 위아래로 DJ / Bank 가 서고, 뒤에는 파란 빛줄기 배경이 깔린다.
   (참고: eladiodieste.com/en 모바일 — 이름을 위/아래로 갈라 화면 끝까지 붙이는 구성)
   화면을 가득 채우는 일은 **스크롤**이 맡는다 → js/preloader/main.js

   ┌ 시안(390) 실측 ─────────────────────────────────────────────────────
   │  DJ    획 y  42.0 ~ 210.0  (높이 168)   가운데
   │  창         x 24 ~ 366 · y 229 ~ 457 → **342 × 228 (3:2)**
   │  Bank  획 y 487.7 ~ 660.0 (높이 172)   가운데
   │  → 글자 크기 168 / 0.79(Arges 캡비) = **213px** = 54.62vw
   │  → 줄 간 거리 445.7 / 213 = **2.092**
   └──────────────────────────────────────────────────────────────────────
   ⚠ 창 크기는 CSS 가 아니라 **js/preloader/boot.js 의 portalW/portalH** 가 정한다
     (확대가 그 크기에서 멈춘다). 좌우 여백 24px·비율 3:2 를 바꾸려면 그쪽을 고칠 것.
   ⚠ 데스크톱은 예전 그대로다 — 이 블록은 767px 이하에서만 산다. */
@media (max-width: 767px) {
  /* ── 제목 ── 두 줄이 창을 위아래로 감싸도록 줄 간격을 벌린다
     ⚠⚠ **폭만 보고 크기를 정하면 안 된다.** 시안은 390×700 인데, 실제 폰(특히 카카오
       인앱 브라우저)은 위아래 툴바에 가려 **보이는 높이가 660px 안팎**이다. 폭 기준(54.62vw)
       으로만 잡으면 두 줄의 획 span 이 618px 이라 그 안에 안 들어가 **DJ 윗머리가 잘린다**
       (2026-08-31 채린 실측 스크린샷). 그래서 **높이도 함께 본다**.
       획 span = 줄간격(2.092em) + 획높이(0.79em) = 2.882em. 시안은 그게 화면의 88% 였다
       → 글자 크기 ≤ 화면높이 × 0.88 / 2.882 = **화면높이 × 0.305**.
     ⚠ 여기서 쓰는 `svh` 는 **툴바가 보일 때의 화면 높이**다 — 우리가 맞춰야 할 '보이는 영역'이
       바로 그것이다. (`--vh100` 은 반대로 '본 것 중 가장 큰 높이'라 여기엔 못 쓴다.) */
  /* ★★ 검사창에서 바로 조절하는 값 ★★
     크롬 검사 → Elements 에서 `<div id="boot">` 를 고르고 Styles 패널의 이 규칙에 적으면
     즉시 반영된다. ⚠ 새로고침하면 사라진다 — 마음에 드는 숫자를 알려주면 파일에 박아 둔다.
       --t-size-w  폭 기준 글자 크기   (기본 54.62vw)
       --t-size-h  높이 기준 글자 크기 (기본 30.5svh)  ← **둘 중 작은 쪽이 이긴다**
       --t-gap     두 줄 사이 거리      (기본 2.092 = 글자 크기의 배수. 키우면 창 자리가 넓어진다)
       --title-nudge  구성 전체를 위로 올리는 양 (기본 6vh) */
  .boot {
    /* ★ 2026-08-31 채린이 검사창에서 직접 잡은 값 ★ (시안 기본값 → 조정 결과)
       --t-size-h 30.5 → 31.5svh · --t-gap 2.092 → 1.92
       --title-y 0 → -20px · --hint-y 0 → -33px · --portal-y 0 → -30px (음수 = 아래로) */
    --t-size-w: 54.62vw;
    --t-size-h: 31.5svh;
    --t-gap: 1.98;
    /* ★ 영문 자간 ★ (2026-08-31 채린 "영문 폰트 자간 넓혀줘")
       Arges 는 초압축 서체라 기본(normal)으로는 글자가 서로 붙어 보인다.
       ⚠ 자간을 키우면 **글자 폭이 늘어난다** — 'Bank' 는 이미 폭을 거의 다 쓰므로
         너무 키우면 좌우로 넘친다. 넘치면 --t-size-w 를 함께 낮출 것. */
    --t-track: 0.04em;
    /* ★ 창 자리 ★ 기본 0. **양수 = 위로**, 음수 = 아래로 (예: 20px, -12px)
       ★ 창 좌우 ★ --portal-x (양수 = 오른쪽)
       ★ 창 크기 ★ --portal-w-em / --portal-h-em (글자 크기의 배수)
          ⚠ 크기는 CSS 만 고쳐서는 안 바뀐다 — JS 가 계산해 px 로 박아 넣기 때문이다.
            고친 뒤 **스크롤을 아주 조금 움직였다 되돌리면** 그때 새 값으로 다시 그려진다. */
    /* ★ 글자 자리 ★ --title-y / --title-x — **글자만** 움직인다(창은 그대로).
       ⚠ `--title-nudge` 와 다르다: 그건 **글자와 창을 함께** 올린다(둘 사이 간격 유지).
         · 구성 전체를 올리고 싶다  → --title-nudge
         · 글자만 올리고 싶다        → --title-y
         · 창만 올리고 싶다          → --portal-y
         · DJ↔Bank 만 벌리고 싶다   → --t-gap
       양수 = 위로 / 오른쪽. */
    --title-y: -20px;
    --title-x: 0px;

    /* ★ 'Scroll for more' 자리 ★ 양수 = 위로 / 오른쪽
       ★ 화살표 크기 ★ --hint-size (기본 1.3rem = 28px @390) */
    --hint-y: -33px;
    --hint-x: 0px;
    --hint-size: 1.7rem;

    --portal-y: -30px;
    --portal-x: 0px;
    --portal-w-em: 1.606;
    --portal-h-em: 1.070;
  }
  .boot .ttf {
    font-size: calc(min(var(--t-size-w), var(--t-size-h)) * var(--dj-title-scale, 1));   /* 배율은 .boot 의 --dj-title-scale */
    line-height: var(--t-gap);
    letter-spacing: var(--t-track, 0);
    /* ⚠ 자간을 주면 **마지막 글자 뒤에도** 그만큼 붙어 가운데 정렬이 왼쪽으로 밀린다.
       그만큼 오른쪽으로 되밀어 준다. */
    text-indent: var(--t-track, 0);
  }

  /* ── 제목을 **보이는 영역** 가운데에 놓는다 ──
     `.boot` 는 `inset: 0` 이라 레이아웃 화면(툴바에 가린 부분까지 포함) 기준이다.
     그 한가운데에 맞추면 위쪽이 툴바 뒤로 밀려 잘린다(채린 실측: DJ 윗머리가 잘렸다).
     ⚠ **`.boot__frames` 에는 주면 안 된다** — 그 안의 칸이 나중에 화면 전체를 덮는 영상이
       되는데, 100svh 기준으로 가운데를 잡으면 툴바가 접혔을 때 아래가 안 덮인다. */
  .boot__logo {
    inset: 0 0 auto 0;
    height: 100svh;
    /* ⚠ `transform` 이 아니라 **`translate` 속성**으로 옮긴다 — 이 층의 transform 은
       js/preloader/main.js 가 스크롤 축소(scale)에 쓰고 있어서, transform 을 여기서 주면
       그 값을 덮어써 버린다. translate 는 transform 과 따로 합성된다. */
    translate: var(--title-x, 0px) calc(-1 * var(--title-y, 0px));
  }

  /* ── 창을 제목의 획 가운데에 맞춰 위로 올린다 ──
     칸은 `.boot__frames`(레이아웃 화면) 한가운데에 서는데, 제목은 보이는 영역 기준이라
     둘의 가운데가 어긋난다. 그대로 두면 **창이 'Bank' 글자를 파고든다**(실측 −19px).
     시안에서는 창 아래끝 ~ Bank 획 위끝이 30.7px 떨어져 있다.
     ★ 보정량 ★ 글자 크기의 0.244배 (390·844 에서 52px)
     ⚠ 창이 커져 화면을 채울 때는 이 보정이 **0 으로 풀려야** 한다 —
       js/preloader/main.js 의 ⑥ 이 `--portal-shift` 를 직접 0 까지 몰고 간다. */
  .boot__frame-in--hero {
    /* ★ 보정량 ★ 두 조각의 합이다.
       ① `--title-nudge`  — 제목을 위로 올리는 양(6vh). 화면 높이에 매여 있어 **화면마다 달라진다**.
          창은 그만큼 같이 따라 올라가야 제목과의 간격이 유지된다.
          (이걸 빼먹고 고정 em 으로만 줬더니 844 에서는 맞고 661 에서는 창이 DJ 에 붙었다.)
       ② 글자 크기 × 0.0056 — 시안에서 창 가운데가 획 가운데보다 8px 위에 있던 몫.
       ⚠ `--title-nudge` 를 바꾸면 여기가 저절로 따라온다 — 값을 베껴 적지 말 것. */
    --portal-shift: calc(
      var(--title-nudge, 6vh) + min(var(--t-size-w), var(--t-size-h)) * 0.0056
      + var(--portal-y, 0px)
    );
    /* --portal-shift-k 는 **0~1 배율**이다(기본 1). 창이 커지는 동안 JS 가 1 → 0 으로 몰고 간다.
       ⚠ 길이(px)를 직접 덮어쓰게 하면 안 된다 — %로 주면 translate 의 %는 **요소 크기 기준**이라
         전혀 다른 값이 된다. 그래서 길이는 CSS 가 갖고, JS 는 배율만 넘긴다. */
    transform: translate(
      calc(-50% + var(--portal-x, 0px)),
      calc(-50% - var(--portal-shift) * var(--portal-shift-k, 1))
    );
  }

  /* ── 뒤에 깔리는 파란 빛줄기 ──
     ⚠ 처음부터 보이면 안 된다. 사진이 차오르는 앞 구간은 **검은 화면**이고,
       확대(포털 열림)가 시작될 때 함께 떠오른다 — 그래서 `.is-zooming` 에 건다.
     ⚠ `.boot` 자신의 background 를 갈아 끼우지 않고 **층을 하나 더** 깐다.
       배경을 직접 바꾸면 앞 구간의 검은 바탕까지 같이 사라진다. */
  .boot::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;                 /* 사진 칸(z:10)·제목(z:20)보다 뒤 */
    background: #000 url("../assets/img/hero-bg-m.jpg?v=260923-1154") center / cover no-repeat;
    opacity: 0;
    transition: opacity 0.9s ease;
    pointer-events: none;
  }
  .boot.is-zooming::before { opacity: 1; }

  /* ── 뒷배경 영상 ── (2026-08-31 채린) js/preloader/boot.js 가 **폰에서만** 만들어 넣는다.
     위 `.boot::before`(정지 이미지)와 **같은 시점에** 뜨고 걷힌다 — 그 이미지는 이 영상의
     poster 이자 대비책이라 지우지 않는다.
     ⚠ z-index 0 — 사진 칸(10)·제목(20)보다 뒤. */
  .boot__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.9s ease;
    pointer-events: none;
  }
  .boot.is-zooming .boot__bg { opacity: 1; }
  .boot.is-video-passed .boot__bg { opacity: 0; }
  /* 영상 층을 히어로에게 넘길 때 배경도 함께 걷는다 —
     안 그러면 밑의 히어로 위로 빛줄기가 남아 두 겹이 된다. */
  .boot.is-video-passed::before { opacity: 0; }

  /* ── 폰에서는 **화살표만** 남긴다 ── (2026-08-31 채린 요청)
     ⚠ 마크업에서 지우지 말고 숨기기만 한다 — 데스크톱이 같은 마크업을 쓴다.
     ⚠ 글자를 빼면 안내 상자가 화살표 폭만큼만 남아 **가운데 정렬이 어긋난다** →
       상자를 그대로 화면 폭으로 두고 안쪽만 가운데로 모은다. */
  .boot .boot__start .hero__cta-label { display: none; }
  /* ★ 화살표를 조금 더 아래로 ★ (2026-09-02 채린 "Bank 랑 너무 붙은 느낌")
     ⚠ **`bottom` 으로는 안 움직인다.** `.hero__cta` 에 transform 이 걸려 있어서
       bottom 을 50 → 28.5px 로 낮춰도 화살표는 1px 밖에 안 내려갔다(실측).
       그래서 **안쪽 상자를 직접 내린다**. ★ 조절하는 곳 ★ 아래 10px.
     ⚠ 지금도 화살표 아래에 14px 밖에 안 남는다 — 더 떼려면 화살표를 내리는 대신
       제목을 올려야 한다(--title-nudge). */
  .boot .boot__start .hero__cta-inner { transform: translateY(10px); }
  /* ★ 화살표를 조금 크게 ★ (2026-08-31 채린) 1.3rem → --hint-size(1.7rem).
     ⚠ 원 규칙(css/stage/hero.css 의 `.scene--hero .hero__cta-icon`)은 데스크톱이 함께 쓰므로
       건드리지 않고 여기서만 덮는다. */
  .boot .boot__start .hero__cta-icon {
    width: var(--hint-size, 1.3rem);
    height: var(--hint-size, 1.3rem);
  }

  .boot .boot__start .hero__cta-inner {
    justify-content: center;
    /* ★ 화살표 색 ★ 흰색 (2026-08-31 채린). 화살표 SVG 가 `fill: currentColor` 라 이 색을 따른다.
       ⚠ **데스크톱은 #00AAFF 그대로다** — 2026-08-28 에 흰색 → #0046FF → #00AAFF 로 정한 값이라
         모바일에서만 덮는다(위쪽 `.boot .boot__start .hero__cta-inner` 규칙은 그대로 둔다). */
    color: #ffffff;
  }

  /* ── 'Scroll for more' 자리 ──
     ⚠ 실제 자리는 안쪽 `.hero__cta`(bottom: 2.4rem)가 잡는다. 그 층을 옮긴다.
     ⚠ `.boot .boot__start` 는 화면 전체를 덮는 층이라 여기에 주면 안 옮겨진다.
     ⚠ `transform` 말고 `translate` 를 쓴다 — 화살표·글자에 걸린 다른 연출과 안 부딪히게. */
  .boot .boot__start .hero__cta {
    translate: var(--hint-x, 0px) calc(-1 * var(--hint-y, 0px));
  }

  /* ── 창 모서리 ── 시안의 둥근 사각형
     ⚠ `overflow: hidden` 이 함께 있어야 한다 — 안쪽 <video> 가 상자를 넘쳐서
       모서리만 깎아서는 네모로 보인다(실제로 그랬다). */
  .boot__frame-in {
    border-radius: 16px;
    overflow: hidden;
  }

  /* ── 창 안 영상은 시안처럼 밝게 ── 검은 막을 0.5 → 0.22
     작은 창 안에서는 글을 얹지 않으므로 굳이 어둡게 할 이유가 없다. */
  .boot { --boot-video-scrim: 0.22; }

  /* ⚠ **프리로더는 끝까지 0.22 다** (2026-08-31 채린 "처음 시작하는 DJ Bank 영상은 오퍼시티 빼줘").
     한때 확대 뒤(.is-zooming)부터 0.5 로 올렸다가 되돌렸다 — 그러면 DJ Bank 큰 글자가 있는
     첫 화면까지 어두워진다. 어둡게 해야 하는 건 **스크롤한 뒤 한글 두 줄이 얹히는 화면**뿐이고,
     그건 프리로더가 아니라 히어로 영상이다(css/tokens.css 의 --hero-video-scrim 0.5).
     ⚠ 그래서 이 지면에서만 두 값이 다르다(0.22 ↔ 0.5). 넘어가는 순간 밝아지는 게 아니라
       **어두워지는** 방향이라, 글이 올라오는 흐름과 같이 읽힌다. */
}
