@charset "UTF-8";
/* ============================================================
 * 2026 가족그림편지쓰기대회 심사 결과 발표  [MO 720 원소스 / PC 풀블리드 1920]
 * source : assets/_dev/2026/scss/familyletteraward/familyletteraward.scss (git 제외 dev 소스)
 * out    : notes/2026/07월/13일/html/css/familyletteraward.css (전달 묶음 — repo 커밋 아님)
 * 페이지 : hope.gni.kr/2026/familyletteraward.gn (별도 사이트, HTML/CSS 파일 전달)
 * 기준   : _psd/260707_가족그림편지쓰기대회 심사결과 조회.psd (1920x9773)
 *          콘텐츠 컬럼 = 캔버스 중앙 720 슬라이스 (x 600~1320)
 *          타이포 = FontSize x 레이어 transform scale 실효값 (psd-meta-mo.md + dump_type_scale)
 * 단위   : 720 fluid rem (1rem = 10px @720). PC(>=720)는 10px 고정 + 풀블리드 bg/deco
 * ============================================================ */
/* SBAggro = hope.css 와 동일 소스(fontbee). Pretendard 는 EB(800) 필요해서 Variable 유지 (hope 정적셋은 600까지) */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.css");
@font-face {
  font-family: "SBAggro";
  src: url("https://cdn.jsdelivr.net/gh/fontbee/font@main/SANDBOX/SBAggroL.woff") format("woff");
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "SBAggro";
  src: url("https://cdn.jsdelivr.net/gh/fontbee/font@main/SANDBOX/SBAggroM.woff") format("woff");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "SBAggro";
  src: url("https://cdn.jsdelivr.net/gh/fontbee/font@main/SANDBOX/SBAggroB.woff") format("woff");
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "TmoneyRoundWind";
  src: url("https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2105_2@1.0/TmoneyRoundWindExtraBold.woff") format("woff");
  font-weight: 800;
  font-display: swap;
}
/* ── 팔레트 (PSD 추출값) ── */
/* ── 720 fluid rem ── */
html {
  font-size: 1.3888888889vw;
}
@media (min-width: 720px) {
  html {
    font-size: 10px;
  }
}

/* ── 베이스 ── */
.fla-wrap {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  color: #201e1d;
  letter-spacing: -0.025em;
}
.fla-wrap, .fla-wrap * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.fla-wrap * {
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
  letter-spacing: inherit;
}
.fla-wrap {
  overflow: clip;
  background: #fff;
  position: relative;
}
.fla-wrap a {
  text-decoration: none;
}
.fla-wrap button {
  border: 0;
  background: none;
  cursor: pointer;
}
.fla-wrap em, .fla-wrap i {
  font-style: normal;
}
.fla-wrap img {
  vertical-align: top;
}
.fla-wrap [class^=img-box] {
  position: absolute;
}
.fla-wrap [class^=img-box] > img {
  width: 100%;
  display: block;
}
.fla-wrap .blind {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* 섹션 공통: 풀블리드 + 중앙 720 컬럼 */
.fla-section {
  position: relative;
}

.fla-clip { /* 1920 스테이지 — bleed 폭 기준으로 모든 오브젝트 가로 클리핑 (세로 오버행 데코는 보존) */
  position: relative;
  height: 100%;
  max-width: 192rem;
  margin: 0 auto;
  clip-path: inset(-800px 0);
}

.fla-inner {
  position: relative;
  width: 72rem;
  margin: 0 auto;
}

.fla-bleed { /* 1920 풀블리드 bg 이미지 레이어 */
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 192rem;
  pointer-events: none;
}
.fla-bleed > img {
  width: 100%;
  display: block;
}

/* ── 모션 프리셋 (초기 상태 = CSS 선셋) ── */
.fla-wrap .motion-fade-up {
  opacity: 0;
  transform: translateY(4rem);
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.fla-wrap .motion-scale-up {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.fla-wrap .motion-fade-up.motion-play {
  opacity: 1;
  transform: translateY(0);
}
.fla-wrap .motion-scale-up.motion-play {
  opacity: 1;
  transform: scale(1);
}
.fla-wrap {
  /* 마스크 리빌 — 타이틀/로고류: rise-mask(overflow hidden) 안에서 아래->위 상승, 마스크(줄) 연속이면 순차 stagger
   * 글씨 상단 깨짐 해소 (7/20 피드백 5·10): 마스크 상단 headroom 14 — 아그로체 글리프가 em 박스 위로 넘쳐 잘리던 것 보정
   * (negative margin 으로 레이아웃 불변, translateY 는 headroom 감안 130% 로 완전 은닉) */
}
.fla-wrap .motion-rise .rise-mask {
  display: block;
  overflow: hidden;
  padding-top: 1.4rem;
  margin-top: -1.4rem;
}
.fla-wrap .motion-rise .rise-in {
  display: block;
  transform: translateY(130%);
  transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.fla-wrap .motion-rise .rise-mask + .rise-mask .rise-in {
  transition-delay: 0.13s;
}
.fla-wrap .motion-rise .rise-mask + .rise-mask + .rise-mask .rise-in {
  transition-delay: 0.26s;
}
.fla-wrap .motion-rise.motion-play .rise-in {
  transform: translateY(0);
}

/* ── 데코 공통 모션 (분할 조각용 — 필요 요소에 클래스만 부여) ──
 * ⚠️ 섹션 블록보다 먼저 정의할 것 — 섹션별 animation-duration/delay 롱핸드가 이겨야 구름별 디싱크가 산다
 * .deco-pop : 뷰포트 도착 시 바운스 등장 (JS decoIO 가 .deco-on 부여)
 * .fla-bob : 도착(.deco-on) 후 img 에서 루프 재생 (box transform 은 등장 전용)
 * .fla-pass : 구름/배너 전용 — 등장 게이트 없이 처음부터 상시 (투명 -> 중앙 불투명 -> 투명) */
.fla-wrap .deco-pop {
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 100%;
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-wrap .deco-pop.deco-on {
  opacity: 1;
  transform: scale(1);
}
.fla-wrap .deco-on.fla-bob img {
  animation: fla-bob 2.6s ease-in-out infinite;
}
.fla-wrap .fla-pass {
  opacity: 0;
  animation: fla-pass 26s linear infinite;
}

/* ============================================================
 * SEC1 — 메인 인트로 (PSD y 0~2298, h 2298)
 * ============================================================ */
.fla-main {
  height: 229.8rem;
}
.fla-main .fla-clip {
  background: #c3effd;
}
.fla-main .fla-inner {
  height: 100%;
}
.fla-main {
  /* 풀블리드 하늘/땅/데코 (PC) — 좌표 = PSD x-600 */
}
.fla-main .img-box01 {
  left: 50%;
  margin-left: -96.1rem;
  top: 107.3rem;
  width: 192.2rem;
}
.fla-main {
  /* 구름 5분할 (PSD cloud 그룹) — fla-pass 상시 유영, 구름별 주기/위상 디싱크 */
}
.fla-main .img-box02 {
  left: -19.1rem;
  top: 67.7rem;
  width: 16.8rem;
  animation-duration: 15s;
  animation-delay: -4s;
}
.fla-main .img-box03 {
  right: -40.8rem;
  top: 53.9rem;
  width: 22.1rem;
  animation-duration: 20s;
  animation-delay: -9s;
}
.fla-main .img-box04 {
  left: -8.2rem;
  top: 39.2rem;
  width: 19.9rem;
  animation-duration: 17s;
  animation-delay: -13s;
}
.fla-main .img-box05 {
  left: -61.1rem;
  top: 51.6rem;
  width: 29.3rem;
  animation-duration: 18s;
  animation-delay: -2s;
}
.fla-main .img-box06 {
  right: -53.6rem;
  top: -4.5rem;
  width: 49.5rem;
  animation-duration: 22s;
  animation-delay: -15s;
}
.fla-main .img-box07 {
  left: 50%;
  margin-left: -101rem;
  top: -2.4rem;
  width: 202rem;
}
.fla-main .img-box08 {
  left: -35.1rem;
  top: 13.3rem;
  width: 9.4rem;
  height: 9.6rem;
}
.fla-main {
  /* 사이드 데코 등장 효과 정적화 — 처음부터 노출, 루프 모션(img 대상)만 유지 (7/20 피드백 1: 중앙 콘텐츠 강조)
   * 대상: 해/나무/기린/집/잔디/코뿔소/병아리/토끼나무/draws (하트 시퀀스 = 중앙 콘텐츠라 유지)
   * !important 가 keyframes 값보다 우선 -> 등장 팝/hop 은 무력화되고 img 루프(sway/boing/spin)는 그대로 */
}
.fla-main .img-box08, .fla-main .img-box08 > span, .fla-main .img-box10, .fla-main .img-box10 > span, .fla-main .img-box11, .fla-main .img-box11 > span, .fla-main .img-box12, .fla-main .img-box12 > span, .fla-main .img-box13, .fla-main .img-box13 > span, .fla-main .img-box14, .fla-main .img-box14 > span,
.fla-main .img-box15,
.fla-main .img-box15 > span, .fla-main .img-box16, .fla-main .img-box16 > span, .fla-main .img-box17, .fla-main .img-box17 > span, .fla-main .img-box18, .fla-main .img-box18 > span {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.fla-main {
  /* 해 — 본체 중앙 팝 + 해무리 2바퀴 이징 회전하며 1.2 스케일 */
}
.fla-main .fla-sun span {
  position: absolute;
}
.fla-main .fla-sun span img {
  width: 100%;
  display: block;
}
.fla-main .fla-sun .sn-halo {
  left: -0.9rem;
  top: -0.2rem;
  width: 10.8rem;
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 50%;
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main .fla-sun .sn-halo img {
  transform-origin: 50% 50%;
}
.fla-main .fla-sun .sn-body {
  left: 1.4rem;
  top: 2.2rem;
  width: 6.3rem;
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 50%;
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main .fla-sun.deco-on .sn-body {
  opacity: 1;
  transform: scale(1);
}
.fla-main .fla-sun.deco-on .sn-halo {
  opacity: 1;
  transform: scale(1);
}
.fla-main .fla-sun.deco-on .sn-halo img {
  animation: fla-spin 12s linear infinite;
}
.fla-main .fla-sun.deco-on { /* 천천히 상시 회전 */ }
.fla-main .img-box09 {
  right: -31.7rem;
  top: 35.3rem;
  width: 14.6rem;
  animation: none;
  opacity: 1;
  /* animation-name: fla-pass-up; animation-duration: 9s; animation-delay: -3s;
  animation-timing-function: ease-in-out; */
}
.fla-main .img-box10 {
  left: -60rem;
  top: 90.8rem;
  width: 31rem;
  height: 25.4rem;
}
.fla-main .img-box11 {
  right: -53.6rem;
  top: 86.7rem;
  width: 40.2rem;
  height: 32.9rem;
}
.fla-main .img-box12 {
  left: -22.9rem;
  top: 89.3rem;
  width: 12rem;
  height: 21.7rem;
}
.fla-main {
  /* 좌측 나무들 — 그림자 뒤(z), 도착 시 나무1->나무2 스타거 팝 + sway, 그림자 페이드 */
}
.fla-main .fla-ltree span {
  position: absolute;
}
.fla-main .fla-ltree span img {
  width: 100%;
  display: block;
}
.fla-main .fla-ltree .lt-sh1 {
  left: 4.4rem;
  top: 23.6rem;
  width: 8.8rem;
}
.fla-main .fla-ltree .lt-sh2 {
  left: 18.6rem;
  top: 21.9rem;
  width: 8.7rem;
}
.fla-main .fla-ltree .lt-tree1 {
  left: 0;
  top: 0;
  width: 17.7rem;
}
.fla-main .fla-ltree .lt-tree2 {
  left: 14.8rem;
  top: 3.9rem;
  width: 16.2rem;
}
.fla-main .fla-ltree .lt-tree1, .fla-main .fla-ltree .lt-tree2 {
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 100%;
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main .fla-ltree .lt-tree1 img, .fla-main .fla-ltree .lt-tree2 img {
  transform-origin: 50% 100%;
}
.fla-main .fla-ltree .lt-sh1, .fla-main .fla-ltree .lt-sh2 {
  opacity: 0;
  transition: opacity 0.5s;
}
.fla-main .fla-ltree.deco-on .lt-tree1, .fla-main .fla-ltree.deco-on .lt-tree2 {
  opacity: 1;
  transform: scale(1);
}
.fla-main .fla-ltree.deco-on .lt-tree2 {
  transition-delay: 0.15s;
}
.fla-main .fla-ltree.deco-on .lt-sh1, .fla-main .fla-ltree.deco-on .lt-sh2 {
  opacity: 1;
  transition-delay: 0.3s;
}
.fla-main .fla-ltree.deco-on {
  /* 나무 스웨이 루프 삭제 (7/20 피드백 1 — 사이드 효과 최소화)
  .lt-tree1 img { animation: fla-sway 3.4s ease-in-out infinite; }
  .lt-tree2 img { animation: fla-sway 3.4s ease-in-out 1.2s infinite; } */
}
.fla-main {
  /* 우측 나무 — 그림자 뒤, 도착 시 나무->부시->부시L 스타거, 그림자 페이드 */
}
.fla-main .fla-rtree span {
  position: absolute;
}
.fla-main .fla-rtree span img {
  width: 100%;
  display: block;
}
.fla-main .fla-rtree .rt-sh1 {
  left: 27.2rem;
  top: 27.7rem;
  width: 8.8rem;
}
.fla-main .fla-rtree .rt-sh2 {
  left: 0;
  top: 26.5rem;
  width: 22rem;
}
.fla-main .fla-rtree .rt-sh3 {
  left: 13.5rem;
  top: 30rem;
  width: 20rem;
}
.fla-main .fla-rtree .rt-bushl {
  left: 15.2rem;
  top: 24.1rem;
  width: 16.6rem;
}
.fla-main .fla-rtree .rt-bush {
  left: 0.9rem;
  top: 17.7rem;
  width: 20.1rem;
}
.fla-main .fla-rtree .rt-tree {
  left: 21.8rem;
  top: 0;
  width: 18.4rem;
}
.fla-main .fla-rtree .rt-tree, .fla-main .fla-rtree .rt-bush, .fla-main .fla-rtree .rt-bushl {
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 100%;
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main .fla-rtree .rt-sh1, .fla-main .fla-rtree .rt-sh2, .fla-main .fla-rtree .rt-sh3 {
  opacity: 0;
  transition: opacity 0.5s;
}
.fla-main .fla-rtree .rt-tree img {
  transform-origin: 50% 100%;
}
.fla-main .fla-rtree.deco-on {
  /* .rt-tree img { animation: fla-sway 3.8s ease-in-out .6s infinite; }   나무 스웨이 삭제 (7/20 피드백 1) */
}
.fla-main .fla-rtree.deco-on .rt-tree, .fla-main .fla-rtree.deco-on .rt-bush, .fla-main .fla-rtree.deco-on .rt-bushl {
  opacity: 1;
  transform: scale(1);
}
.fla-main .fla-rtree.deco-on .rt-bush {
  transition-delay: 0.12s;
}
.fla-main .fla-rtree.deco-on .rt-bushl {
  transition-delay: 0.24s;
}
.fla-main .fla-rtree.deco-on .rt-sh1, .fla-main .fla-rtree.deco-on .rt-sh2, .fla-main .fla-rtree.deco-on .rt-sh3 {
  opacity: 1;
  transition-delay: 0.35s;
}
.fla-main {
  /* 기린 — 그림자 뒤, 몸통 팝 + 그림자 페이드 */
}
.fla-main .fla-giraffe span {
  position: absolute;
}
.fla-main .fla-giraffe span img {
  width: 100%;
  display: block;
}
.fla-main .fla-giraffe .gf-sh {
  left: 0.8rem;
  top: 20.1rem;
  width: 10.3rem;
}
.fla-main .fla-giraffe .gf-body {
  left: 0;
  top: 0;
  width: 12rem;
}
.fla-main .fla-giraffe .gf-body {
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 100%;
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main .fla-giraffe .gf-sh {
  opacity: 0;
  transition: opacity 0.5s;
}
.fla-main .fla-giraffe.deco-on .gf-body {
  opacity: 1;
  transform: scale(1);
}
.fla-main .fla-giraffe.deco-on .gf-sh {
  opacity: 1;
  transition-delay: 0.15s;
}
.fla-main .img-box13 {
  left: -55.5rem;
  bottom: 84rem;
  width: 20.5rem;
}
.fla-main .img-box14 {
  left: -37.7rem;
  bottom: 50rem;
  width: 16.4rem;
  height: 62.2rem;
}
.fla-main {
  /* 잔디 상/하 — 그림자 뒤, 스타거 팝 (그룹 rel 좌표 = PSD-223,-1176) */
}
.fla-main .fla-grass span {
  position: absolute;
}
.fla-main .fla-grass span img {
  width: 100%;
  display: block;
}
.fla-main .fla-grass .gr-sh1 {
  left: 7.7rem;
  top: 4.5rem;
  width: 8.5rem;
}
.fla-main .fla-grass .gr-sh2 {
  left: 0;
  top: 60.5rem;
  width: 8.5rem;
}
.fla-main .fla-grass .gr-1 {
  left: 7.8rem;
  top: 0;
  width: 8.5rem;
}
.fla-main .fla-grass .gr-2 {
  left: 0.1rem;
  top: 56rem;
  width: 8.5rem;
}
.fla-main .fla-grass .gr-1, .fla-main .fla-grass .gr-2 {
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 100%;
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main .fla-grass .gr-sh1, .fla-main .fla-grass .gr-sh2 {
  opacity: 0;
  transition: opacity 0.5s;
}
.fla-main .fla-grass.deco-on .gr-1, .fla-main .fla-grass.deco-on .gr-2 {
  opacity: 1;
  transform: scale(1);
}
.fla-main .fla-grass.deco-on .gr-2 {
  transition-delay: 0.15s;
}
.fla-main .fla-grass.deco-on .gr-sh1, .fla-main .fla-grass.deco-on .gr-sh2 {
  opacity: 1;
  transition-delay: 0.3s;
}
.fla-main .img-box15 {
  right: -50rem;
  bottom: 34.3rem;
  width: 29.5rem;
  height: 61.3rem;
}
.fla-main {
  /* 코뿔소 무리 — 그림자 뒤, 나무 -> 코뿔소 -> 잔디 스타거 + 나무 sway */
}
.fla-main .fla-rhino span {
  position: absolute;
}
.fla-main .fla-rhino span img {
  width: 100%;
  display: block;
}
.fla-main .fla-rhino .rh-sh1 {
  left: 17rem;
  top: 18rem;
  width: 8.8rem;
}
.fla-main .fla-rhino .rh-sh2 {
  left: 6.3rem;
  top: 25.3rem;
  width: 16.8rem;
}
.fla-main .fla-rhino .rh-sh3 {
  left: 0;
  top: 59.5rem;
  width: 8.8rem;
}
.fla-main .fla-rhino .rh-tree {
  left: 13.3rem;
  top: 0;
  width: 16.2rem;
}
.fla-main .fla-rhino .rh-body {
  left: 3.4rem;
  top: 14.4rem;
  width: 18.6rem;
}
.fla-main .fla-rhino .rh-grass {
  left: 0.1rem;
  top: 55.2rem;
  width: 8.5rem;
}
.fla-main .fla-rhino .rh-tree, .fla-main .fla-rhino .rh-body, .fla-main .fla-rhino .rh-grass {
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 100%;
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main .fla-rhino .rh-sh1, .fla-main .fla-rhino .rh-sh2, .fla-main .fla-rhino .rh-sh3 {
  opacity: 0;
  transition: opacity 0.5s;
}
.fla-main .fla-rhino .rh-tree img {
  transform-origin: 50% 100%;
}
.fla-main .fla-rhino.deco-on .rh-tree, .fla-main .fla-rhino.deco-on .rh-body, .fla-main .fla-rhino.deco-on .rh-grass {
  opacity: 1;
  transform: scale(1);
}
.fla-main .fla-rhino.deco-on .rh-body {
  transition-delay: 0.12s;
}
.fla-main .fla-rhino.deco-on .rh-grass {
  transition-delay: 0.24s;
}
.fla-main .fla-rhino.deco-on .rh-sh1, .fla-main .fla-rhino.deco-on .rh-sh2, .fla-main .fla-rhino.deco-on .rh-sh3 {
  opacity: 1;
  transition-delay: 0.35s;
}
.fla-main .fla-rhino.deco-on {
  /* .rh-tree img { animation: fla-sway 3.7s ease-in-out .5s infinite; }   나무 스웨이 삭제 (7/20 피드백 1) */
}
.fla-main .img-box16 {
  left: -43.6rem;
  bottom: 75.8rem;
  width: 17.9rem;
  height: 10.4rem;
}
.fla-main {
  /* 병아리 삼형제 — 등장 팝 스타거 후 띄용띄용 반복 */
}
.fla-main .fla-chick span {
  position: absolute;
}
.fla-main .fla-chick span img {
  width: 100%;
  display: block;
}
.fla-main .fla-chick .ck-sh1 {
  left: 0.1rem;
  top: 9.3rem;
  width: 2.5rem;
}
.fla-main .fla-chick .ck-sh2 {
  left: 6rem;
  top: 8.9rem;
  width: 2.5rem;
}
.fla-main .fla-chick .ck-sh3 {
  left: 9.6rem;
  top: 8.7rem;
  width: 2.5rem;
}
.fla-main .fla-chick .ck-sh4 {
  left: 12rem;
  top: 8rem;
  width: 4.9rem;
}
.fla-main .fla-chick .ck-hen {
  left: 10.9rem;
  top: 0;
  width: 6.9rem;
}
.fla-main .fla-chick .ck-1 {
  left: 0;
  top: 7.4rem;
  width: 2.6rem;
}
.fla-main .fla-chick .ck-2 {
  left: 5.7rem;
  top: 7.3rem;
  width: 2.5rem;
}
.fla-main .fla-chick .ck-3 {
  left: 9.5rem;
  top: 7rem;
  width: 2.4rem;
}
.fla-main .fla-chick .ck-hen, .fla-main .fla-chick .ck-1, .fla-main .fla-chick .ck-2, .fla-main .fla-chick .ck-3 {
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 100%;
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main .fla-chick .ck-sh1, .fla-main .fla-chick .ck-sh2, .fla-main .fla-chick .ck-sh3, .fla-main .fla-chick .ck-sh4 {
  opacity: 0;
  transition: opacity 0.5s;
}
.fla-main .fla-chick.deco-on .ck-hen, .fla-main .fla-chick.deco-on .ck-1, .fla-main .fla-chick.deco-on .ck-2, .fla-main .fla-chick.deco-on .ck-3 {
  opacity: 1;
  transform: scale(1);
}
.fla-main .fla-chick.deco-on .ck-1 {
  transition-delay: 0.12s;
}
.fla-main .fla-chick.deco-on .ck-2 {
  transition-delay: 0.24s;
}
.fla-main .fla-chick.deco-on .ck-3 {
  transition-delay: 0.36s;
}
.fla-main .fla-chick.deco-on .ck-sh1, .fla-main .fla-chick.deco-on .ck-sh2, .fla-main .fla-chick.deco-on .ck-sh3, .fla-main .fla-chick.deco-on .ck-sh4 {
  opacity: 1;
  transition-delay: 0.4s;
}
.fla-main .fla-chick.deco-on {
  /* 병아리 점프 루프 삭제 (7/20 피드백 1 — 사이드 효과 최소화)
  .ck-1 img { animation: fla-boing 1.4s ease-in-out .6s infinite; }
  .ck-2 img { animation: fla-boing 1.4s ease-in-out .85s infinite; }
  .ck-3 img { animation: fla-boing 1.4s ease-in-out 1.1s infinite; }
  .ck-sh1 img { animation: fla-shpulse 1.4s ease-in-out .6s infinite; transform-origin: 50% 50%; }
  .ck-sh2 img { animation: fla-shpulse 1.4s ease-in-out .85s infinite; transform-origin: 50% 50%; }
  .ck-sh3 img { animation: fla-shpulse 1.4s ease-in-out 1.1s infinite; transform-origin: 50% 50%; } */
}
.fla-main .img-box17 {
  left: -60.8rem;
  bottom: -15.2rem;
  width: 50.1rem;
  height: 31.3rem;
}
.fla-main .img-box18 {
  right: -64.3rem;
  bottom: -20rem;
  width: 75.5rem;
  height: 37.3rem;
}
.fla-main {
  /* 토끼나무 시퀀스 — deco-group 도착 시: 나무 -> 진한 풀숲 -> 잔디1 -> 잔디2 -> 그림자 -> 토끼 껑충(-x,y -> 0) */
}
.fla-main .fla-lion span {
  position: absolute;
}
.fla-main .fla-lion span img {
  width: 100%;
  display: block;
}
.fla-main .fla-lion .li-bush {
  left: 0;
  top: 15.4rem;
  width: 19.9rem;
}
.fla-main .fla-lion .li-tree {
  left: 4.4rem;
  top: 3.7rem;
  width: 15.4rem;
}
.fla-main .fla-lion .li-leaf1 {
  left: 21.5rem;
  top: 6.6rem;
  width: 15rem;
}
.fla-main .fla-lion .li-leaf2 {
  left: 35.1rem;
  top: 5.8rem;
  width: 15rem;
}
.fla-main .fla-lion .li-rab {
  left: 26.2rem;
  top: 0;
  width: 13.1rem;
  height: 12.8rem;
  opacity: 0;
}
.fla-main .fla-lion .li-rab .rb-sh {
  position: absolute;
  left: 0;
  top: 9.8rem;
  width: 13.1rem;
}
.fla-main .fla-lion .li-rab .rb-bd {
  position: absolute;
  left: 1.3rem;
  top: 0;
  width: 11.7rem;
}
.fla-main .fla-lion .li-tree, .fla-main .fla-lion .li-bush, .fla-main .fla-lion .li-leaf1, .fla-main .fla-lion .li-leaf2 {
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 100%;
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main .fla-lion .li-tree, .fla-main .fla-lion .li-leaf1, .fla-main .fla-lion .li-leaf2 {
  z-index: 1;
}
.fla-main .fla-lion .li-tree img {
  transform-origin: 50% 100%;
}
.fla-main .fla-lion.deco-on .li-tree, .fla-main .fla-lion.deco-on .li-bush, .fla-main .fla-lion.deco-on .li-leaf1, .fla-main .fla-lion.deco-on .li-leaf2 {
  opacity: 1;
  transform: scale(1);
}
.fla-main .fla-lion.deco-on .li-tree {
  transition-delay: 0s;
}
.fla-main .fla-lion.deco-on .li-bush {
  transition-delay: 0.12s;
}
.fla-main .fla-lion.deco-on .li-leaf1 {
  transition-delay: 0.24s;
}
.fla-main .fla-lion.deco-on .li-leaf2 {
  transition-delay: 0.36s;
}
.fla-main .fla-lion.deco-on .li-rab {
  animation: fla-hop 1.1s 0.55s ease-out forwards;
}
.fla-main {
  /* Anna Who Draws 시퀀스 — 땅 상승 -> 나무 -> 풀숲 -> 아이+그림 바운스 */
}
.fla-main .fla-draws span {
  position: absolute;
}
.fla-main .fla-draws span img {
  width: 100%;
  display: block;
}
.fla-main .fla-draws .dr-bush {
  left: 54.4rem;
  top: 12.3rem;
  width: 19.2rem;
}
.fla-main .fla-draws .dr-tree {
  left: 55.9rem;
  top: 0;
  width: 19.6rem;
}
.fla-main .fla-draws .dr-earth {
  left: 0;
  top: 16.1rem;
  width: 72.5rem;
}
.fla-main .fla-draws .dr-anna {
  left: 32.7rem;
  top: 9.5rem;
  width: 17.9rem;
}
.fla-main .fla-draws .dr-earth {
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.fla-main .fla-draws .dr-tree, .fla-main .fla-draws .dr-bush, .fla-main .fla-draws .dr-anna {
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 100%;
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main .fla-draws .dr-tree img {
  transform-origin: 50% 100%;
}
.fla-main .fla-draws.deco-on .dr-earth {
  opacity: 1;
  transform: translateY(0);
}
.fla-main .fla-draws.deco-on .dr-tree {
  opacity: 1;
  transform: scale(1);
  transition-delay: 0.5s;
}
.fla-main .fla-draws.deco-on .dr-bush {
  opacity: 1;
  transform: scale(1);
  transition-delay: 0.65s;
}
.fla-main .fla-draws.deco-on .dr-anna {
  opacity: 1;
  transform: scale(1);
  transition-delay: 0.8s;
}
.fla-main {
  /* 헤더 로고 */
}
.fla-main__logo {
  position: absolute;
  left: 1rem;
  top: 2.1rem;
  display: flex;
  align-items: center;
  z-index: 2;
}
.fla-main__logo .img-box19 {
  position: static;
  width: 4rem;
}
.fla-main__logo span {
  font-family: "TmoneyRoundWind", sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  color: #3a322f;
  letter-spacing: -0.05em;
  line-height: 1;
  margin-left: 0.6rem;
}
.fla-main__ci {
  position: absolute;
  right: 2rem;
  top: 2.5rem;
  z-index: 2;
}
.fla-main__ci .img-box20 {
  position: static;
  width: 15.2rem;
}
.fla-main {
  /* 타이틀 타원 */
}
.fla-main__title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 3.9rem;
  width: 66.9rem;
  height: 32.3rem;
  text-align: center;
}
.fla-main__title .img-box21 {
  left: 0.1rem;
  top: 0.1rem;
  width: 66.7rem;
  opacity: 0;
  transform: scale(0.92);
  transform-origin: 50% 60%;
  transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.fla-main__title .tt-icon {
  position: absolute;
  left: 30.1rem;
  top: 3.9rem;
  width: 7.5rem;
  opacity: 0;
  transform: scale(0.3);
  transform-origin: 50% 100%;
  transition: opacity 0.35s 0.3s, transform 0.5s 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main__title .tt-icon img {
  width: 100%;
  display: block;
}
.fla-main__title.motion-play .img-box21 {
  opacity: 1;
  transform: scale(1);
}
.fla-main__title.motion-play .tt-icon {
  opacity: 1;
  transform: scale(1);
}
.fla-main__title h1 {
  position: relative;
  padding-top: 13.3rem;
  font-family: "SBAggro", sans-serif;
  font-size: 3.5rem;
  font-weight: 300;
  color: #201e1d;
  letter-spacing: -0.025em;
  line-height: 6rem;
}
.fla-main__title h1 .tt-b {
  display: block;
  font-size: 4.3rem;
  font-weight: 700;
}
.fla-main__title h1 .tt-b .c-green {
  color: #25b237;
}
.fla-main__title h1 .tt-b .c-blue {
  color: #05aeff;
}
.fla-wrap .fla-main__title.motion-rise .rise-mask .rise-in {
  transition-delay: 0.5s;
}
.fla-wrap .fla-main__title.motion-rise .rise-mask + .rise-mask .rise-in {
  transition-delay: 0.63s;
}

.fla-main {
  /* 안나 + 말풍선 — 로드 인트로 시퀀스 (JS 타임라인이 .on 부여, 초기 상태 CSS 선셋)
   * 안나 상승 -> 말풍선 -> 문구 1,2 -> 팔레트 상승 -> 새 -> 꿈 글자 팝 -> 단어/아이 로테이션 */
}
.fla-main__anna .img-box22 {
  left: 12.3rem;
  top: 27.9rem;
  width: 45.9rem;
  overflow: hidden;
}
.fla-main__anna .img-box22 img {
  transform: translateY(100%);
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.fla-main__anna .img-box22.on img {
  transform: translateY(0);
  animation: fla-anna-bob 2.8s ease-in-out 1.2s infinite;
}
.fla-main__anna .img-box23 {
  right: 8.5rem;
  top: 72.9rem;
  width: 27.1rem;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main__anna .img-box23.on {
  opacity: 1;
  transform: translateY(0);
}
.fla-main__anna .img-box24 {
  left: 2.8rem;
  top: 59.3rem;
  width: 15.5rem;
  opacity: 0;
  transform: translate(-8rem, -6rem);
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.fla-main__anna .img-box24 img {
  transform-origin: 1.2rem 1.2rem;
}
.fla-main__anna .img-box24.on {
  opacity: 1;
  transform: translate(0, 0);
}
.fla-main__anna .img-box24.on img {
  animation: fla-bird-sway 2.4s ease-in-out 0.8s infinite;
}
.fla-main__talk {
  position: absolute;
  right: 2.8rem;
  top: 44.8rem;
  width: 24rem;
  height: 16rem;
  opacity: 0;
  transform: translate(-6rem, 6rem);
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main__talk.on {
  opacity: 1;
  transform: translate(0, 0);
}
.fla-main__talk .img-box25 {
  left: 0;
  top: 0;
  width: 100%;
}
.fla-main__talk .fla-talk-line {
  position: absolute;
  left: 4.5rem;
  top: 3.4rem;
  width: 14.9rem;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.5s;
}
.fla-main__talk .fla-talk-line.on {
  opacity: 1;
}
.fla-main__talk .fla-talk-line img {
  width: 14.9rem;
  display: block;
}
.fla-main__talk .fla-talk-line.line2 img {
  margin-top: -5.2rem;
}
.fla-main__talk .fla-talk-line.line1 {
  height: 5.2rem;
}
.fla-main__talk .fla-talk-line.line2 {
  height: 3.7rem;
  top: 8.6rem;
}
.fla-main {
  /* 스케치북 — 내 꿈은 OO야! (글자/아이콘 개별 분할, APNG 모션 CSS 재연) */
}
.fla-main__sketch {
  position: absolute;
  left: 50%;
  margin-left: -34.8rem;
  top: 80.9rem;
  width: 69.6rem;
  height: 51.9rem;
}
.fla-main__sketch .img-box26 {
  left: 0;
  top: 0;
  width: 100%;
}
.fla-main__sketch .img-box27 {
  left: 10.8rem;
  top: 12.5rem;
  width: 12.3rem;
}
.fla-main__sketch .img-box28 {
  left: 25.2rem;
  top: 11.1rem;
  width: 10.3rem;
}
.fla-main__sketch .img-box29 {
  left: 36.9rem;
  top: 11.2rem;
  width: 8.1rem;
}
.fla-main__sketch .img-box30 {
  left: 44.1rem;
  top: 30.6rem;
  width: 8.5rem;
}
.fla-main__sketch .img-box31 {
  left: 53.6rem;
  top: 29.9rem;
  width: 2.3rem;
}
.fla-main__sketch .img-box32 {
  left: 56.8rem;
  top: 26rem;
  width: 3.5rem;
}
.fla-main__sketch .img-box33 {
  left: 6.5rem;
  top: 13.1rem;
  width: 5rem;
  opacity: 0;
}
.fla-main__sketch .img-box34 {
  left: 7.9rem;
  top: 36.5rem;
  width: 2.9rem;
}
.fla-main__sketch .img-box36 {
  left: 45.2rem;
  top: 10.2rem;
  width: 16.6rem;
}
.fla-main__sketch .img-box37 {
  left: 59.1rem;
  top: 11.7rem;
  width: 3rem;
}
.fla-main__sketch {
  /* 글자 등장 팝 (초기 상태 CSS 선셋, .play 시 스태거 재생) */
}
.fla-main__sketch .mt-pop {
  opacity: 0;
  transform: scale(0.3);
  transition: opacity 0.5s, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main__sketch.play .mt-pop {
  opacity: 1;
  transform: scale(1);
}
.fla-main__sketch.play .img-box27 {
  transition-delay: 0.1s;
}
.fla-main__sketch.play .img-box28 {
  transition-delay: 0.25s;
}
.fla-main__sketch.play .img-box29 {
  transition-delay: 0.4s;
}
.fla-main__sketch.play .img-box30 {
  transition-delay: 0.55s;
}
.fla-main__sketch.play .img-box31 {
  transition-delay: 0.65s;
}
.fla-main__sketch.play .img-box32 {
  transition-delay: 0.75s;
}
.fla-main__sketch.play .img-box33 {
  animation: fla-blink 1.6s ease-in-out 0.1s infinite;
}
.fla-main__sketch.play { /* 스파크: '내' 팝 시점부터 깜빡 (스케일 없음) */ }
.fla-main__sketch {
  /* 내/꿈/은/야! 지그재그 상하 무빙 (등장 팝은 box, 무빙은 img — transform 충돌 방지) */
}
.fla-main__sketch .mt-pop img {
  animation: fla-zigzag 2.2s ease-in-out infinite;
}
.fla-main__sketch .img-box28 img, .fla-main__sketch .img-box30 img, .fla-main__sketch .img-box32 img {
  animation-delay: -1.1s;
}
.fla-main__sketch { /* 꿈/야/!2 엇박 지그재그 */ }
.fla-main__sketch .img-box33 img {
  animation: fla-zigzag 2.2s ease-in-out infinite;
}
.fla-main__sketch { /* 스파크: '내'와 동기 상하 */
  /* 라이트 트윙클 */
}
.fla-main__sketch .tw {
  animation: fla-twinkle 1.8s ease-in-out infinite;
}
.fla-main__sketch .img-box34 {
  animation-delay: 0.6s;
}
.fla-main__sketch .img-box37 {
  animation-delay: 1.1s;
}
.fla-main__sketch .fla-dream-word { /* 파란 박스 고정, 안의 단어만 크로스페이드 */
  position: absolute;
  left: 12.1rem;
  top: 27.3rem;
  width: 30.6rem;
  height: 12.3rem;
  opacity: 0;
  transition: opacity 0.35s;
}
.fla-main__sketch .fla-dream-word.show {
  opacity: 1;
}
.fla-main__sketch .fla-dream-word .img-box35 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.fla-main__sketch .fla-dream-word .dw {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.35s;
}
.fla-main__sketch .fla-dream-word .dw.on {
  opacity: 1;
}
.fla-main__sketch .fla-dream-word .w-chef img {
  width: 18.6rem;
}
.fla-main__sketch .fla-dream-word .w-athlete img {
  width: 24.4rem;
}
.fla-main__sketch .fla-dream-word .w-angel img {
  width: 24.6rem;
}
.fla-main__sketch .fla-dream-word .w-hero img {
  width: 28.7rem;
}
.fla-main__sketch .fla-dream-ch { /* circle 이미지 알파 마스크 — 아래로 퇴장 / 아래에서 위로 등장 */
  position: absolute;
  left: 45.2rem;
  top: 10.2rem;
  width: 16.6rem;
  height: 15.6rem;
  overflow: hidden;
  transform: translateZ(0);
  /* 상단 r(70) 오픈(캐릭터 머리가 블롭 앞으로) + 나머지는 솔리드 blob 알파 — union
   * 마스크는 스프레이 없는 main_circle_mask (스프레이 도트가 알파 구멍이라 캐릭터에 구멍 남) */
  -webkit-mask-image: linear-gradient(#000 0 0), url("../images/main_circle_mask.webp");
  -webkit-mask-size: 100% 7rem, 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-image: linear-gradient(#000 0 0), url("../images/main_circle_mask.webp");
  mask-size: 100% 7rem, 100% 100%;
  mask-repeat: no-repeat;
}
.fla-main__sketch .fla-dream-ch span {
  position: absolute;
  transform: translateY(19rem);
  transition: transform 0.45s ease;
}
.fla-main__sketch .fla-dream-ch span.on {
  transform: translateY(0);
}
.fla-main__sketch .fla-dream-ch .c-chef {
  left: 2.3rem;
  top: 1.3rem;
  width: 11.7rem;
}
.fla-main__sketch .fla-dream-ch .c-athlete {
  left: 1.9rem;
  top: 0;
  width: 11rem;
}
.fla-main__sketch .fla-dream-ch .c-angel {
  left: 2.8rem;
  top: 3.4rem;
  width: 10.5rem;
}
.fla-main__sketch .fla-dream-ch .c-hero {
  left: 1.8rem;
  top: 3.4rem;
  width: 10.8rem;
}
.fla-main__sketch .fla-dream-ch span img {
  width: 100%;
}
.fla-main {
  /* 카피 블록 */
}
.fla-main__copy1 {
  position: absolute;
  left: 0;
  top: 134.2rem;
  width: 100%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.4rem;
  font-weight: 500;
  color: #201e1d;
  letter-spacing: -0.025em;
  line-height: 5rem;
}
.fla-main__stats {
  position: absolute;
  left: 0;
  top: 145.7rem;
  width: 100%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 4.4rem;
  font-weight: 800;
  color: #3a322f;
  letter-spacing: -0.025em;
  line-height: 8rem;
  /* pill 안에 문구 전체 (숫자만 흰색), 1행 초록 / 2행 파랑, 조사 '이'만 밖 — 디자인 캡쳐 기준 */
}
.fla-main__stats .pill {
  display: inline-block;
  border-radius: 1.8rem;
  padding: 0 2.2rem;
  line-height: 7.2rem;
}
.fla-main__stats .pill b {
  color: #fff;
  font-weight: 800;
}
.fla-main__stats .pill-g {
  background: #25bc38;
}
.fla-main__stats .pill-b {
  background: #01a7ff;
}
.fla-main__stats .josa {
  font-size: 3.6rem;
  font-weight: 500;
}
.fla-main__copy2 {
  position: absolute;
  left: 0;
  top: 163.8rem;
  width: 100%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.4rem;
  font-weight: 500;
  color: #201e1d;
  letter-spacing: -0.025em;
  line-height: 5rem;
}
.fla-main__copy3 {
  position: absolute;
  left: 0;
  top: 216.3rem;
  width: 100%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.4rem;
  font-weight: 500;
  color: #201e1d;
  letter-spacing: -0.025em;
  line-height: 5rem;
}
.fla-main__copy3 .img-box42 {
  position: static;
  display: inline-block;
  width: 4rem;
  vertical-align: -0.6rem;
}
.fla-main {
  /* 하트 + 아이들 일러스트 — deco-group 시퀀스: 하트 팝 -> 아이들 마스크 안 상승 -> 편지지 -> 새 */
}
.fla-main__heart {
  position: absolute;
  left: 9.4rem;
  top: 175.9rem;
  width: 53rem;
  height: 37.2rem;
}
.fla-main__heart .img-box38 {
  left: 2rem;
  top: 2rem;
  width: 47.7rem;
}
.fla-main__heart .img-box39 {
  left: 37.9rem;
  top: 0.1rem;
  width: 16rem;
}
.fla-main__heart .img-box40 {
  left: 5.9rem;
  top: 3.5rem;
  width: 39.9rem;
  -webkit-mask-image: linear-gradient(#000 0 0), url("../images/main_heart.webp");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 12.5rem, 47.7rem auto;
  -webkit-mask-position: 0 0, -3.9rem -1.5rem;
  mask-image: linear-gradient(#000 0 0), url("../images/main_heart.webp");
  mask-repeat: no-repeat;
  mask-size: 100% 12.5rem, 47.7rem auto;
  mask-position: 0 0, -3.9rem -1.5rem;
}
.fla-main__heart .img-box41 {
  left: 2.2rem;
  top: 24.9rem;
  width: 9.7rem;
}
.fla-main__heart {
  /* 시퀀스: 하트 팝 -> 아이들 마스크 안 아래->위 -> 편지지 -> 새 */
}
.fla-main__heart .img-box38, .fla-main__heart .img-box39, .fla-main__heart .img-box41 {
  opacity: 0;
  transform: scale(0.3);
  transition: opacity 0.5s, transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-main__heart .img-box41 {
  transform-origin: 50% 100%;
}
.fla-main__heart .img-box40 img {
  transform: translateY(108%) rotate(-2.5deg);
  transform-origin: 65% 100%; /* 상승 시작부터 sway 시작각(-2.5deg)으로 기울여 핸드오프 점프 제거 */
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.fla-main__heart.deco-on .img-box38 {
  opacity: 1;
  transform: scale(1);
}
.fla-main__heart.deco-on .img-box40 img {
  transform: translateY(0) rotate(-2.5deg);
  transition-delay: 0.3s;
  animation: fla-sway 3.5s ease-in-out 1.2s infinite;
  position: relative;
  top: 0.8rem;
}
.fla-main__heart.deco-on {
  /* 상승 후 살짝 흔들 (사용자 튜닝값) */
}
.fla-main__heart.deco-on .img-box41 {
  opacity: 1;
  transform: scale(1);
  transition-delay: 0.7s;
}
.fla-main__heart.deco-on .img-box39 {
  opacity: 1;
  transform: scale(1);
  transition-delay: 0.9s;
}

@keyframes fla-twinkle {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.8);
  }
}
@keyframes fla-anna-bob { /* 안나 위아래 슬로우 밥 (클리핑 박스라 위로만) */
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-0.6rem);
  }
}
@keyframes fla-bird-sway { /* 새 피벗 스윙 (origin 좌상단 안쪽) */
  0%, 100% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(2.5deg);
  }
  75% {
    transform: rotate(-3.5deg);
  }
}
@keyframes fla-sway {
  0%, 100% {
    transform: rotate(-2.5deg);
  }
  50% {
    transform: rotate(2.5deg);
  }
}
@keyframes fla-pass {
  0% {
    transform: translateX(-45%);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    transform: translateX(45%);
    opacity: 0;
  }
}
@keyframes fla-boing { /* 병아리 띄용: 폴짝 뛰고 쉬기 */
  0%, 40%, 100% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(-1.4rem);
  }
}
@keyframes fla-shpulse { /* 점프 리듬 동기 그림자 펄스 */
  0%, 40%, 100% {
    transform: scale(1);
  }
  20% {
    transform: scale(1.08);
  }
}
@keyframes fla-spin { /* 해무리: 천천히 상시 회전 */
  to {
    transform: rotate(360deg);
  }
}
@keyframes fla-hop { /* 토끼 껑충껑충: 좌하에서 아크 2.5회 호핑 */
  0% {
    transform: translate(-15rem, 11rem);
    opacity: 0;
  }
  8% {
    opacity: 1;
  }
  26% {
    transform: translate(-10rem, -2rem);
  }
  46% {
    transform: translate(-5.8rem, 7rem);
  }
  64% {
    transform: translate(-2.8rem, -1.2rem);
  }
  82% {
    transform: translate(-0.4rem, 2.8rem);
  }
  92% {
    transform: translate(-0.1rem, -0.6rem);
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
@keyframes fla-pass-up { /* 배너: 좌하(-x,y) -> 우상(x,-y) 대각 상승 */
  0% {
    transform: translate(-45%, 45%);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  80% {
    opacity: 1;
  }
  100% {
    transform: translate(45%, -45%);
    opacity: 0;
  }
}
@keyframes fla-bob {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-1.2rem);
  }
}
@keyframes fla-zigzag {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-1rem);
  }
}
@keyframes fla-blink { /* 전등 플리커 — 스무스 페이드 아닌 스타카토 점멸 */
  0%, 38% {
    opacity: 1;
  }
  39%, 46% {
    opacity: 0.08;
  }
  47%, 66% {
    opacity: 1;
  }
  67%, 70% {
    opacity: 0.2;
  }
  71%, 100% {
    opacity: 1;
  }
}
/* ── 정렬 검수용 정지 모드 (URL #still) — 모든 모션 정지 + 최종 상태 강제 ── */
.fla-wrap.fla-still *, .fla-wrap.fla-still *::before, .fla-wrap.fla-still *::after {
  animation: none !important;
  transition: none !important;
}
.fla-wrap.fla-still .deco-pop, .fla-wrap.fla-still .mt-pop, .fla-wrap.fla-still .fla-pass, .fla-wrap.fla-still .fla-dream-word, .fla-wrap.fla-still .fla-talk-line,
.fla-wrap.fla-still .fla-main__anna [class^=img-box], .fla-wrap.fla-still .fla-main__anna img, .fla-wrap.fla-still .fla-main__talk,
.fla-wrap.fla-still .motion-fade-up, .fla-wrap.fla-still .motion-scale-up,
.fla-wrap.fla-still .motion-rise .rise-in,
.fla-wrap.fla-still .fla-main__title .img-box21, .fla-wrap.fla-still .fla-main__title .tt-icon,
.fla-wrap.fla-still .fla-judge__steps .step-tag, .fla-wrap.fla-still .fla-judge__steps .img-box10, .fla-wrap.fla-still .fla-judge__steps .img-box11,
.fla-wrap.fla-still .fla-judge__steps .step-txt, .fla-wrap.fla-still .fla-judge__steps .dash,
.fla-wrap.fla-still .fla-award .aw-grade strong, .fla-wrap.fla-still .fla-award .aw-grade .img-box17, .fla-wrap.fla-still .fla-award .aw-grade .img-box18,
.fla-wrap.fla-still .fla-award .aw-congrats, .fla-wrap.fla-still .fla-award .aw-giver, .fla-wrap.fla-still .fla-award .img-box19, .fla-wrap.fla-still .fla-award .aw-name,
.fla-wrap.fla-still .fla-result__sub img, .fla-wrap.fla-still .fla-result__sub .sb-leaf img,
.fla-wrap.fla-still .fla-judge__board .chk-mark, .fla-wrap.fla-still .fla-main__sketch .img-box33,
.fla-wrap.fla-still .fla-lion span, .fla-wrap.fla-still .fla-draws span, .fla-wrap.fla-still .fla-grass span,
.fla-wrap.fla-still .fla-ltree span, .fla-wrap.fla-still .fla-rtree span, .fla-wrap.fla-still .fla-giraffe span,
.fla-wrap.fla-still .fla-chick span, .fla-wrap.fla-still .fla-sun span, .fla-wrap.fla-still .fla-rhino span, .fla-wrap.fla-still .fla-main__heart [class^=img-box], .fla-wrap.fla-still .fla-main__heart img {
  opacity: 1 !important;
  transform: none !important;
}
.fla-wrap.fla-still .fla-result__sub .sb-txt {
  max-width: none !important;
}
.fla-wrap.fla-still .fla-result__sub .sb-trophy {
  width: 10.7rem !important;
}
.fla-wrap.fla-still .fla-result__sub .sb-trophy .tw-spark {
  visibility: visible !important;
}

/* ============================================================
 * SEC2 — 심사 기준 (PSD y 2298~3624, h 1326)
 * ============================================================ */
.fla-judge {
  height: 132.6rem;
  /* 배경 스크럽: 블리드 시트(JS 스크럽)가 위로 말려 올라감 — 언더레이 = ::before 80vh 컬러 시트 (섹션 바닥 앵커) */
}
.fla-judge .fla-clip::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 80vh;
  background: #fdf9c4;
}
.fla-judge .fla-bleed {
  top: 0;
}
.fla-judge .fla-inner {
  height: 100%;
}
.fla-judge .img-box01 {
  right: -47.5rem;
  bottom: 0.1rem;
  width: 31.1rem;
}
.fla-judge .img-box02 {
  left: -42.4rem;
  top: 46.8rem;
  width: 22rem;
}
.fla-judge .img-box03 {
  right: -29.3rem;
  top: 65.7rem;
  width: 13.8rem;
}
.fla-judge .img-box04 {
  right: -37.8rem;
  top: 45.9rem;
  width: 8.7rem;
}
.fla-judge .img-box05 {
  left: -36.8rem;
  bottom: 44.8rem;
  width: 8.8rem;
}
.fla-judge__title {
  position: absolute;
  left: 0;
  top: 20.9rem;
  width: 100%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 4.4rem;
  font-weight: 500;
  color: #3a322f;
  letter-spacing: -0.025em;
  line-height: 6.5rem;
}
.fla-judge__title .f-aggro {
  font-family: "SBAggro", sans-serif;
  font-weight: 700;
}
.fla-judge__title .c-green {
  color: #25bc38;
  font-size: 5.1rem;
}
.fla-judge__title .t-key {
  font-size: 4.6rem;
}
.fla-judge__title b {
  font-weight: 800;
  vertical-align: -0.1em;
}
.fla-judge__title .ul {
  background: linear-gradient(#000 0 0) no-repeat 0 100%/0 0.2rem;
  transition: background-size 0.45s cubic-bezier(0.4, 0, 0.2, 1) 1.05s;
}
.fla-judge__title .ul ~ .ul {
  transition-delay: 1.45s;
}
.fla-judge__title.motion-play .ul {
  background-size: 100% 0.2rem;
}
.fla-judge {
  /* 심사기준 보드 */
}
.fla-judge__board {
  position: absolute;
  left: 50%;
  margin-left: -32.2rem;
  top: 45rem;
  width: 64.4rem;
  height: 38.8rem;
}
.fla-judge__board .img-box06 {
  left: 0;
  top: 0;
  width: 64.4rem;
}
.fla-judge__board h3 {
  position: absolute;
  left: 0;
  top: 1.5rem;
  width: 100%;
  text-align: center;
  font-family: "SBAggro", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.025em;
  line-height: 5.9rem;
}
.fla-judge__board ul {
  position: absolute;
  left: 3.6rem;
  top: 14.1rem;
  width: 36.4rem;
  list-style: none;
}
.fla-judge__board li {
  position: relative;
  padding-left: 6rem;
  white-space: nowrap;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.6rem;
  font-weight: 500;
  color: #3a322f;
  letter-spacing: -0.025em;
  line-height: 9rem;
}
.fla-judge__board ul + ul {
  left: 40rem;
  width: 24.4rem;
}
.fla-judge__board ul + ul li {
  padding-left: 6.3rem;
}
.fla-judge__board {
  /* 체크 = 클릭 토글 (박스 고정 + 체크마크만 팝) — 캡쳐 질감 재구성: 박스(2,9,45x45) / 마크(10,2,43x41) */
}
.fla-judge__board .chk-btn {
  position: absolute;
  left: 0;
  top: 1.3rem;
  width: 5.5rem;
  height: 5.6rem;
  z-index: 1;
}
.fla-judge__board .chk-btn .chk-box {
  position: absolute;
  left: 0.2rem;
  top: 0.9rem;
  width: 4.5rem;
}
.fla-judge__board .chk-btn .chk-mark {
  position: absolute;
  left: 1rem;
  top: 0.2rem;
  width: 4.3rem;
  opacity: 0;
  transform: scale(0.4);
  transition: opacity 0.4s, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-judge__board .chk-btn .chk-box img, .fla-judge__board .chk-btn .chk-mark img {
  width: 100%;
  display: block;
}
.fla-judge__board.motion-play .chk-mark {
  opacity: 1;
  transform: scale(1);
}
.fla-judge__board.motion-play ul:nth-of-type(1) li:nth-child(1) .chk-mark {
  transition-delay: 0.5s;
}
.fla-judge__board.motion-play ul:nth-of-type(2) li:nth-child(1) .chk-mark {
  transition-delay: 0.8s;
}
.fla-judge__board.motion-play ul:nth-of-type(1) li:nth-child(2) .chk-mark {
  transition-delay: 1.1s;
}
.fla-judge__board.motion-play ul:nth-of-type(2) li:nth-child(2) .chk-mark {
  transition-delay: 1.4s;
}
.fla-judge {
  /* 1차 -> 2차 — 모션 전체 삭제, 처음부터 상시 노출 (7/20 피드백 1) */
}
.fla-judge__steps {
  position: absolute;
  left: 50%;
  margin-left: -32.8rem;
  top: 87rem;
  width: 64.6rem;
  height: 30.5rem;
}
.fla-judge__steps .step-tag {
  position: absolute;
  left: 0;
  width: 14rem;
  height: 9.8rem;
  /* 깃발 팝 삭제
  opacity: 0; transform: scale(.2); transform-origin: 0 100%;
  transition: opacity .3s, transform .55s cubic-bezier(.34,1.56,.64,1); */
}
.fla-judge__steps .step-tag .img-box09 {
  left: 0;
  top: 0;
  width: 100%;
}
.fla-judge__steps .step-tag i {
  position: absolute;
  left: 0;
  top: 1.8rem;
  width: 13.4rem;
  text-align: center;
  font-family: "SBAggro", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-judge__steps .tag1 {
  top: 1.8rem;
}
.fla-judge__steps .tag2 {
  top: 19.7rem; /* transition-delay: 1.9s; */
}
.fla-judge__steps {
  /* 돋보기 팝/킥 삭제
  .img-box10, .img-box11 { opacity: 0; transform: scale(0); transform-origin: 50% 50%;
    transition: opacity .3s .35s, transform .45s .35s cubic-bezier(.34,1.56,.64,1);
    img { transform-origin: 100% 100%; } } */
}
.fla-judge__steps .img-box10 {
  left: 15.1rem;
  top: 1.6rem;
  width: 7.8rem;
}
.fla-judge__steps .img-box11 {
  left: 15.1rem;
  top: 19.7rem;
  width: 7.8rem; /* transition-delay: 2.25s; */
}
.fla-judge__steps .dash {
  position: absolute;
  left: 7.2rem;
  top: 11.5rem;
  width: 0.2rem;
  height: 5.9rem;
  background: repeating-linear-gradient(to bottom, #000 0, #000 0.8rem, transparent 0.8rem, transparent 1.2rem);
  /* height: 0; transition: height .4s ease 1.5s; */
}
.fla-judge__steps .step-txt {
  position: absolute;
  left: 24.4rem;
  white-space: nowrap;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.2rem;
  font-weight: 600;
  color: #3a322f;
  letter-spacing: -0.025em;
  line-height: 5.85rem;
  /* 문구 나타나는 효과 삭제 — 처음부터 노출 (7/20 피드백 1)
  opacity: 0; transform: translateX(r(-24));
  transition: opacity .6s .85s, transform .6s .85s cubic-bezier(.22,.61,.36,1); */
}
.fla-judge__steps .step-txt b {
  font-family: "SBAggro", sans-serif;
  font-weight: 700;
  font-size: 4.6rem;
}
.fla-judge__steps .txt1 {
  top: 2.2rem;
}
.fla-judge__steps .txt2 {
  top: 20.3rem; /* transition-delay: 2.75s; */
}
.fla-judge__steps {
  /* 타임라인 삭제 — 전체 상시 노출 (7/20 피드백 1)
  &.motion-play {
    .step-tag, .img-box10, .img-box11 { opacity: 1; transform: scale(1); }
    .dash { height: r(59); }
    .img-box10 img { animation: fla-glass-kick .5s ease .8s; }
    .img-box11 img { animation: fla-glass-kick .5s ease 2.7s; }
  } */
}

@keyframes fla-glass-kick { /* 돋보기 시계방향 킥 — 살짝 튕기고 복귀 */
  0% {
    transform: rotate(0);
  }
  40% {
    transform: rotate(14deg);
  }
  70% {
    transform: rotate(-4deg);
  }
  100% {
    transform: rotate(0);
  }
}
/* ============================================================
 * SEC3 — 수상자 확인 (PSD y 3624~6330) : 컬럼 flow + 데코 abs
 * ============================================================ */
.fla-result .fla-bleed {
  top: 0;
}
.fla-result {
  padding-bottom: 15rem;
}
.fla-result .img-box01 {
  left: -36.5rem;
  top: 12.8rem;
  width: 19rem;
}
.fla-result {
  /* 트로피 반짝이 — 원본 대시 분리 컷 + 플리커 (dream_spark 모션과 동일) */
}
.fla-result .tw-spark {
  position: absolute;
  animation: fla-blink 1.6s ease-in-out infinite;
}
.fla-result .tw-spark img {
  width: 100%;
  display: block;
}
.fla-result .img-box01 .tw-spark {
  left: 3.4rem;
  top: 0;
  width: 6.7rem;
}
.fla-result .img-box02 {
  right: -34.4rem;
  top: 20.7rem;
  width: 16.6rem;
}
.fla-result .img-box03 {
  right: -45.2rem;
  top: 49.8rem;
  width: 5.3rem;
}
.fla-result .img-box04 {
  left: -48.2rem;
  top: 62.6rem;
  width: 5.3rem;
}
.fla-result .img-box05 {
  left: -31.6rem;
  top: 55.1rem;
  width: 14.9rem;
}
.fla-result .img-box06 {
  right: -33.1rem;
  top: 55.7rem;
  width: 23.9rem;
}
.fla-result .img-box05 img, .fla-result .img-box06 img {
  transform-origin: 50% 100%;
}
.fla-result .img-box05.deco-on img {
  animation: fla-sway 3.4s ease-in-out 0.2s infinite;
}
.fla-result .img-box06.deco-on img {
  animation: fla-sway 3.9s ease-in-out -1.6s infinite;
}
.fla-result .img-box07 {
  left: -35.9rem;
  top: 91.8rem;
  width: 12rem;
}
.fla-result .img-box08 {
  right: -41.8rem;
  top: 100.3rem;
  width: 22.6rem;
}
.fla-result__title {
  position: relative;
  padding-top: 10.4rem;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 4.5rem;
  font-weight: 800;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 6.9rem;
}
.fla-result__title .f-aggro {
  font-family: "SBAggro", sans-serif;
  font-weight: 700;
  font-size: 5rem;
  color: #25bc38;
}
.fla-result {
  /* 수상결과 확인하기 — 분리 재구성 + 시퀀스 (motion-seq 게이트)
   * 월계수 중앙(안쪽 말림) -> 텍스트 영역 폭 확장(마스크 리빌, 월계수 밀려남. 트로피 w0 = 글씨 붙음)
   * -> 트로피 폭 확장(이미지 op0/y20 유지) -> 폭 완료 후 트로피 op1/y0 + 월계수 펴짐
   * 최종 배치 = PSD Sub_heading(679~1241) rel: leaf 37 / txt / trophy 79(+양쪽 14) */
}
.fla-result__sub {
  position: relative;
  height: 12.7rem;
  margin: 2.1rem auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fla-result__sub .sb-leaf {
  flex: 0 0 3.7rem;
  width: 3.7rem;
  margin-top: 0.5rem;
  opacity: 0;
  transition: opacity 0.3s 0.15s, transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s;
}
.fla-result__sub .sb-leaf img {
  width: 100%;
  display: block;
}
.fla-result__sub .sb-leaf-l {
  transform: translateX(5rem);
}
.fla-result__sub .sb-leaf-r {
  transform: translateX(-5rem);
}
.fla-result__sub .sb-txt {
  overflow: hidden;
  white-space: nowrap;
  max-width: 0;
  margin-top: 0.6rem;
  padding: 0.9rem 0;
  transition: max-width 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}
.fla-result__sub .sb-txt em {
  display: inline-block;
  font-family: "SBAggro", sans-serif;
  font-size: 4.4rem;
  font-weight: 700;
  color: #02a6fb;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-result__sub .sb-txt-l {
  margin-left: 2.2rem;
  display: flex;
  justify-content: flex-end;
}
.fla-result__sub .sb-txt-r {
  margin-right: 2rem;
}
.fla-result__sub .sb-trophy {
  position: relative;
  flex: 0 0 auto;
  width: 1.5rem;
  height: 12.7rem;
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.9s;
}
.fla-result__sub .sb-trophy > img {
  width: 7.9rem;
  margin: 0 auto;
  display: block;
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 0.45s ease 1.4s, transform 0.45s ease 1.4s;
}
.fla-result__sub .sb-trophy .tw-spark {
  left: 3.8rem;
  top: 0;
  width: 3.1rem;
  visibility: hidden;
  transition: visibility 0s 1.4s;
  animation: none;
}
.fla-result__sub.motion-play .sb-leaf {
  opacity: 1;
  transform: translateX(0);
}
.fla-result__sub.motion-play .sb-txt {
  max-width: 20rem;
}
.fla-result__sub.motion-play .sb-trophy {
  width: 10.7rem;
}
.fla-result__sub.motion-play .sb-trophy > img {
  opacity: 1;
  transform: translateY(0);
}
.fla-result__sub.motion-play .sb-trophy .tw-spark {
  visibility: visible;
  animation: fla-blink 1.6s ease-in-out 1.4s 2;
}
.fla-result__family {
  position: relative;
  width: 50.8rem;
  margin: 0.4rem auto 0;
}
.fla-result__family > img {
  width: 100%;
}
.fla-result__family .fm-note {
  position: absolute;
  left: 0;
  top: 4.5rem;
  width: 4.4rem;
  animation: fla-anna-bob 2.6s ease-in-out infinite;
}
.fla-result__family .fm-note img {
  width: 100%;
  display: block;
}
.fla-result__family i {
  position: absolute;
  left: 25rem;
  top: 16rem;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 11rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.025em;
  line-height: 1;
  transform-origin: 50% 100%;
}
.fla-result__family.motion-play i {
  animation: fla-qmark-spring 2.8s ease-in-out 0.6s infinite;
}
.fla-result__guide {
  margin-top: 3.3rem;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.4rem;
  font-weight: 400;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 5.6rem;
}
.fla-result__guide b {
  font-weight: 700;
}
.fla-result {
  /* 참여 정보 확인 폼 */
}
.fla-result__form {
  position: relative;
  width: 64.4rem;
  margin: 7.1rem auto 0;
  border-radius: 1.8rem;
  overflow: hidden;
}
.fla-result__form fieldset {
  border: 0;
  position: relative;
}
.fla-result__form .form-body {
  position: relative;
  background: #fff;
  height: 38.2rem;
}
.fla-result__form .form-tit {
  position: absolute;
  left: 0;
  top: 5.8rem;
  width: 100%;
  text-align: center;
  font-family: "SBAggro", sans-serif;
  font-size: 4.5rem;
  font-weight: 700;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-result__form .row {
  position: absolute;
  left: 4.1rem;
  right: 3rem;
  display: flex;
  align-items: center;
}
.fla-result__form .row-name {
  top: 15.6rem;
  height: 7.4rem;
}
.fla-result__form .row-phone {
  top: 25rem;
  height: 7.4rem;
}
.fla-result__form label {
  width: 19rem;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-result__form input {
  border: 1px solid #646464;
  background: #f3f3f3;
  border-radius: 0.8rem;
  height: 7.4rem;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 1;
  outline: none;
}
@media (max-width: 719.98px) {
  .fla-result__form input {
    font-size: 16px;
  }
}
.fla-result__form .row-name input {
  width: 38.3rem;
}
.fla-result__form .row-phone .p1 {
  width: 11.3rem;
}
.fla-result__form .row-phone .p2, .fla-result__form .row-phone .p3 {
  width: 11.4rem;
}
.fla-result__form .row-phone i {
  width: 2.3rem;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-result__form .btn-submit {
  display: block;
  width: 100%;
  height: 10.9rem;
  margin-top: -0.3rem;
  background: linear-gradient(90deg, #25bc38, #8cbc25);
  font-family: "SBAggro", sans-serif;
  font-size: 3.8rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-result {
  /* 수상 결과 카드 슬롯 */
}
.fla-result__slot {
  margin-top: 4.9rem;
}
.fla-result {
  /* 상장 (수상) — 치환 필드: 상 구분 / {시상자} 상 / {이름} / {원명} / {사업장}({연락처})
   * 프레임 = 시안 png 통판 award_frame.webp (텍스트/안나/월계수 잎만 지운 원판 — 라인/코너/메달/로고/GN/워터마크 포함)
   * 조각(코너+스트립+뱃지) 짜깁기 정합 이슈 원천 차단. 라이브 = 등급행/축하합니다/장관상/이름/안나/노트/파티클 */
}
.fla-result .fla-award {
  position: relative;
  width: 64.4rem;
  height: 94rem;
  margin: 0 auto;
  background: #ffe093;
  border-radius: 2.6rem;
  overflow: hidden;
}
.fla-result .fla-award .aw-frame {
  position: absolute;
  left: 0.2rem;
  top: 0.2rem;
  width: 64rem;
  height: 93.6rem;
  background: url("../images/award_frame.webp?v=3") 0 0/100% 100% no-repeat;
}
.fla-result .fla-award {
  /* 등급 행 — 월계수는 시안 4종 실측 고정좌표 (2·3글자 L120/R465 공통, 4글자만 50px 바깥) */
}
.fla-result .fla-award .aw-grade {
  position: absolute;
  left: 0;
  top: 23.6rem;
  width: 100%;
  text-align: center;
}
.fla-result .fla-award .aw-grade strong {
  display: inline-block;
  position: relative;
  left: 0.3rem;
  top: 1rem;
  font-family: "SBAggro", sans-serif;
  font-size: 9rem;
  font-weight: 700;
  color: #513a19;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-result .fla-award .aw-grade .img-box17, .fla-result .fla-award .aw-grade .img-box18 {
  position: absolute;
  top: 0.8rem;
  width: 5.9rem;
}
.fla-result .fla-award .aw-grade .img-box17 {
  left: 12rem;
}
.fla-result .fla-award .aw-grade .img-box18 {
  left: 46.5rem;
}
.fla-result .fla-award .aw-grade.grade-w4 .img-box17 {
  left: 7rem;
}
.fla-result .fla-award .aw-grade.grade-w4 .img-box18 {
  left: 51.5rem;
}
.fla-result .fla-award .aw-congrats {
  position: absolute;
  left: 0;
  top: 36.9rem;
  width: 100%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 5rem;
  font-weight: 800;
  color: #513a19;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-result .fla-award .aw-giver {
  position: absolute;
  left: 0;
  top: 48.2rem;
  width: 100%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.6rem;
  font-weight: 700;
  color: #8aa330;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-result .fla-award .aw-name {
  position: absolute;
  left: 19.4rem;
  right: 14rem;
  top: 57.6rem;
  text-align: left;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 6rem;
}
.fla-result .fla-award .img-box19 {
  left: 7.9rem;
  top: 56.7rem;
  width: 11.1rem;
}
.fla-result .fla-award .aw-note {
  position: absolute;
  left: 0;
  bottom: 11.7rem;
  width: 100%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 3.2rem;
}
.fla-result .fla-award {
  /* 등장 타임라인 (motion-seq — 30% 도착/flaResult('win') 재생)
   * 장려상 팝 + 월계수 안->밖 바운스(0~) -> 축하합니다 + 카드내 파티클(.7) -> 시상자(1.3) -> 안나(1.8) -> 이름 위->아래(2.2) */
}
.fla-result .fla-award .aw-grade strong {
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.3s 0.1s, transform 0.5s 0.1s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-result .fla-award .aw-grade .img-box17 {
  opacity: 0;
  transform: translateX(3rem) rotate(20deg);
  transition: opacity 0.3s 0.25s, transform 0.6s 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-result .fla-award .aw-grade .img-box18 {
  opacity: 0;
  transform: translateX(-3rem) rotate(-20deg);
  transition: opacity 0.3s 0.25s, transform 0.6s 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-result .fla-award .aw-congrats {
  opacity: 0;
  transition: opacity 0.5s 0.7s;
}
.fla-result .fla-award .aw-giver {
  opacity: 0;
  transition: opacity 0.5s 1.3s;
}
.fla-result .fla-award .img-box19 {
  opacity: 0;
  transform: scale(0.4);
  transform-origin: 50% 100%;
  transition: opacity 0.3s 1.8s, transform 0.5s 1.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.fla-result .fla-award .aw-name {
  opacity: 0;
  transform: translateY(-2.4rem);
  transition: opacity 0.5s 2.2s, transform 0.6s 2.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.fla-result .fla-award .aw-confetti {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 2;
  perspective: 1000px;
}
.fla-result .fla-award .aw-confetti .confetti {
  position: absolute;
  width: 1.4rem;
  height: 2rem;
  top: -5%;
  transform-style: preserve-3d;
  animation: fla-confetti-fall 2.2s linear forwards, fla-confetti-spin 0.8s linear infinite;
}
.fla-result .fla-award .aw-confetti .confetti i {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
}
.fla-result .fla-award .aw-confetti .confetti .cf-f {
  background: var(--c, #fff);
}
.fla-result .fla-award .aw-confetti .confetti .cf-b {
  background: #e4e4e4;
  transform: rotateY(180deg);
}
.fla-result .fla-award.aw-reset * {
  transition: none !important;
  animation: none !important;
}
.fla-result .fla-award .aw-confetti.cf-debug .confetti {
  top: 40%;
  animation: fla-confetti-spin 1.6s linear infinite;
}
.fla-result .fla-award.motion-play .aw-grade strong, .fla-result .fla-award.motion-play .aw-grade .img-box17, .fla-result .fla-award.motion-play .aw-grade .img-box18,
.fla-result .fla-award.motion-play .aw-congrats, .fla-result .fla-award.motion-play .aw-giver, .fla-result .fla-award.motion-play .img-box19 {
  opacity: 1;
  transform: none;
}
.fla-result .fla-award.motion-play .aw-name {
  opacity: 1;
  transform: translateY(0);
}
.fla-result {
  /* 비수상 — 라이브 텍스트 + 하단 일러 애니 webp (X_수상자명단없음 재조립) */
}
.fla-result .fla-lose {
  position: relative;
  width: 64.4rem;
  height: 98rem;
  margin: 0 auto;
  background: #b8e1f0;
  border-radius: 2.4rem;
  overflow: hidden;
}
.fla-result .fla-lose::before {
  content: "";
  position: absolute;
  left: 2rem;
  top: 2rem;
  right: 2.1rem;
  bottom: 0;
  background: #fff;
  border-radius: 1.8rem;
}
.fla-result .fla-lose .ls-logo {
  position: absolute;
  left: 0;
  top: 5.7rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fla-result .fla-lose .ls-logo .img-box20 {
  position: static;
  width: 3.5rem;
}
.fla-result .fla-lose .ls-logo span + span {
  font-family: "TmoneyRoundWind", sans-serif;
  font-size: 2.6rem;
  font-weight: 800;
  color: #3a322f;
  letter-spacing: -0.05em;
  line-height: 1;
  margin-left: 0.8rem;
}
.fla-result .fla-lose .ls-title {
  position: absolute;
  left: 0;
  top: 14.5rem;
  width: 100%;
  text-align: center;
  font-family: "SBAggro", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 5.5rem;
}
.fla-result .fla-lose .ls-title em {
  color: #25bc38;
}
.fla-result .fla-lose .ls-body {
  position: absolute;
  left: 0;
  top: 29.2rem;
  width: 100%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 4rem;
}
.fla-result .fla-lose .img-box21 {
  left: 0;
  bottom: 0;
  width: 100%;
}

/* ============================================================
 * SEC4 — 안나 응원 / 결과보고·후원 연결 (PSD y 6330~7964)
 * ============================================================ */
.fla-cheer .fla-bleed {
  top: 0;
}
.fla-cheer {
  padding-bottom: 14.3rem;
}
.fla-cheer .img-box01 {
  left: -25.3rem;
  top: 9.3rem;
  width: 5.6rem;
}
.fla-cheer .img-box02 {
  left: -40.9rem;
  top: 30.7rem;
  width: 13.8rem;
}
.fla-cheer .img-box03 {
  right: -42.2rem;
  top: 21.5rem;
  width: 21.4rem;
  animation-duration: 18s;
  animation-delay: -5s;
}
.fla-cheer .img-box04 {
  right: -42.8rem;
  top: 61.5rem;
  width: 14.8rem;
}
.fla-cheer .img-box04 img {
  animation-delay: 0.9s;
}
.fla-cheer .img-box05 {
  left: -54rem;
  top: 66.7rem;
  width: 21.4rem;
  animation-duration: 21s;
  animation-delay: -12s;
}
.fla-cheer .img-box06 {
  left: -41.7rem;
  top: 94.3rem;
  width: 13.3rem;
}
.fla-cheer .img-box06 img {
  animation-delay: 1.5s;
}
.fla-cheer .img-box07 {
  right: -39.2rem;
  top: 104.4rem;
  width: 21.4rem;
  animation-duration: 16s;
  animation-delay: -8s;
}
.fla-cheer__title {
  position: relative;
  width: 65.2rem;
  margin: 0 auto;
  padding-top: 13.3rem;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 4.5rem;
  font-weight: 800;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 8rem;
  /* 데코 분리 (PSD petal 660,6414 20x43 / White flower 1239,6526 73x72 — h2 좌표계 rel, 좌상/우하 사분면 앵커) */
}
.fla-cheer__title .td-petal {
  position: absolute;
  left: 2.6rem;
  top: 8.4rem;
  width: 2rem;
}
.fla-cheer__title .td-petal img {
  width: 100%;
  display: block;
}
.fla-cheer__title .td-flower {
  position: absolute;
  right: -2.6rem;
  top: 19.6rem;
  width: 7.3rem;
}
.fla-cheer__title .td-flower img {
  width: 100%;
  display: block;
}
.fla-cheer__title .f-aggro {
  font-family: "SBAggro", sans-serif;
  font-weight: 700;
  font-size: 6.5rem;
  color: #25bc38;
}
.fla-cheer__title span, .fla-cheer__title strong {
  position: relative;
}
.fla-cheer {
  /* before 사진 슬라이더 (디자인 라운드 없음) */
}
.fla-cheer__slider {
  position: relative;
  width: 72.2rem;
  height: 45.4rem;
  margin: 5.9rem auto 0;
  overflow: hidden;
}
.fla-cheer__slider .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.8s;
}
.fla-cheer__slider .slide.on {
  opacity: 1;
}
.fla-cheer__slider .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fla-cheer__slider {
  /* Before 뱃지 — 라이브 재구성 (PSD 177x53: 안쪽 pill 167 + 우측 아크 10) */
}
.fla-cheer__slider .img-box09 {
  right: 2.2rem;
  top: 2.5rem;
  width: 17.7rem;
  height: 5.3rem;
  z-index: 1;
}
.fla-cheer__slider .bf-badge span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16.7rem;
  height: 100%;
  border: 0.4rem solid #fff;
  border-radius: 2.7rem 2.7rem 2.7rem 0;
  padding-top: 0.3rem;
  font-family: "SBAggro", sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-cheer__slider .bf-badge::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 0.4rem solid #fff;
  border-radius: 2.7rem 2.7rem 2.7rem 0;
}
.fla-cheer {
  /* 안나 + 좋은 변화 카피 (오픈 전 / 오픈 후) */
}
.fla-cheer__change {
  position: relative;
  width: 62.2rem;
  height: 26.2rem;
  margin: 2rem auto 0;
}
.fla-cheer__change .img-box10 {
  left: -4.7rem;
  bottom: -2.8rem;
  width: 31rem;
}
.fla-cheer__change .q-mark {
  display: none;
}
.fla-cheer__change .change-txt {
  position: absolute;
  left: 27.2rem;
  top: 3rem;
  text-align: left;
  white-space: nowrap;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.5rem;
  font-weight: 800;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 5.5rem;
}
.fla-cheer__change .change-txt .f-aggro {
  font-family: "SBAggro", sans-serif;
  font-weight: 700;
  font-size: 4.2rem;
  color: #ff5866;
  vertical-align: 0.08em;
}
.fla-cheer__change .change-sub {
  position: absolute;
  left: 26.6rem;
  top: 21.1rem;
  width: 37.6rem;
  height: 5.5rem;
  border: 0.2rem solid #ffd7db;
  border-radius: 2.8rem;
  background: #fff;
  text-align: center;
  white-space: nowrap;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  color: #53443e;
  letter-spacing: -0.025em;
  line-height: 5.1rem;
}
.fla-cheer__change .change-sub b {
  font-weight: 600;
}
.fla-cheer__change .change-sub .c-red {
  color: #ff5866;
}
.fla-cheer__change .txt-after {
  display: none;
}
.fla-cheer.is-after .fla-cheer__change .txt-before {
  display: none;
}
.fla-cheer.is-after .fla-cheer__change .txt-after {
  display: block;
}
.fla-cheer {
  /* 버튼: 후원 / (오픈 후) 결과보고 / 카카오 */
}
.fla-cheer__btns {
  width: 64.4rem;
  margin: 6.6rem auto 0;
}
.fla-cheer .btn-hope {
  position: relative;
  display: block;
  height: 14.9rem;
  border-radius: 1.8rem;
  box-shadow: 0 0.6rem 0.1rem rgba(0, 0, 0, 0.12);
  background: url("../images/btn_hope.webp") 0 0/100% 100% no-repeat #64bc30;
}
.fla-cheer .btn-hope .bt-txt {
  position: absolute;
  left: 5.8rem;
  top: 2.4rem;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 5rem;
}
.fla-cheer .btn-hope .bt-txt b {
  font-family: "SBAggro", sans-serif;
  font-size: 4.2rem;
  color: #fff;
}
.fla-cheer .btn-report {
  display: none;
  position: relative;
  height: 14.9rem;
  border-radius: 1.8rem;
  box-shadow: 0 0.6rem 0.1rem rgba(0, 0, 0, 0.12);
  margin-top: 3.7rem;
  background: #34bb35;
  text-align: center;
}
.fla-cheer .btn-report .bt-txt {
  display: inline-block;
  margin-top: 5.3rem;
  font-family: "SBAggro", sans-serif;
  font-size: 4.2rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-cheer.is-after .btn-report {
  display: block;
}
.fla-cheer .btn-kakao {
  position: relative;
  display: block;
  height: 15rem;
  margin-top: 3.7rem;
  border-radius: 1.8rem;
  background: #fcea00;
  box-shadow: 0 0.6rem 0.1rem rgba(0, 0, 0, 0.12);
}
.fla-cheer .btn-kakao .img-box11 {
  left: 5.5rem;
  top: 2.6rem;
  width: 3.6rem;
}
.fla-cheer .btn-kakao .bt-txt {
  position: absolute;
  left: 5.2rem;
  top: 3rem;
  white-space: nowrap;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 4.7rem;
}
.fla-cheer .btn-kakao .bt-txt .t1 {
  padding-left: 4.6rem;
}
.fla-cheer .btn-kakao .bt-txt b {
  font-family: "SBAggro", sans-serif;
  font-size: 4.2rem;
}
.fla-cheer .btn-kakao .img-box12 {
  position: static;
  display: inline-block;
  width: 7.8rem;
  margin-left: 1.2rem;
  vertical-align: middle;
  margin-top: -0.6rem;
}
.fla-cheer .btn-kakao .img-box13 {
  left: 42.9rem;
  top: -2.2rem;
  width: 16.7rem;
}

/* ============================================================
 * SEC5 — 지역별 문의처 + 주최/후원 (PSD y 7964~9773)
 * ============================================================ */
.fla-contact {
  background: #fff;
}
.fla-contact .fla-bleed {
  top: 0;
}
.fla-contact {
  padding-bottom: 20rem;
}
.fla-contact__title {
  position: relative;
  padding-top: 14.6rem;
  text-align: center;
  font-family: "SBAggro", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  color: #000;
  letter-spacing: -0.025em;
  line-height: 1;
}
.fla-contact__box {
  position: relative;
  width: 64.4rem;
  margin: 0 auto;
}
@media (min-width: 720px) {
  .fla-contact__box {
    width: 100.4rem;
    margin-left: -14.2rem;
  }
}
.fla-contact {
  /* 지역 선택 행 — 캡쳐 실측: label 8235 / note 8331 / 패널 8395 */
}
.fla-contact__select-row {
  position: relative;
  margin-top: 7.4rem;
}
.fla-contact__label {
  display: flex;
  align-items: center;
}
.fla-contact__label img {
  position: relative;
  top: -0.6rem;
  width: 3.8rem;
}
.fla-contact__label strong {
  margin-left: 0.8rem;
  font-family: "SBAggro", sans-serif;
  font-size: 3.4rem;
  font-weight: 700;
  color: #303030;
  letter-spacing: 0;
  line-height: 1;
}
@media (min-width: 720px) {
  .fla-contact__label {
    margin-left: 18.2rem;
  }
}
.fla-contact__note {
  margin-top: 5.9rem;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  color: #303030;
  letter-spacing: 0;
  line-height: 1;
}
.fla-contact__note.note-pc {
  display: none;
}
@media (min-width: 720px) {
  .fla-contact__note.note-mo {
    display: none;
  }
  .fla-contact__note.note-pc {
    display: block;
  }
}
.fla-contact {
  /* 커스텀 셀렉트 — 캡쳐 실측: 1px #646464 보더 + radius 4 (그림자 없음) */
}
.fla-contact__select {
  position: absolute;
  right: 4.1rem;
  top: -2.3rem;
  width: 36.7rem;
  z-index: 5;
}
@media (min-width: 720px) {
  .fla-contact__select {
    right: 22.1rem;
  }
}
.fla-contact__select .sel-btn {
  position: relative;
  display: block;
  width: 100%;
  height: 8.3rem;
  background: #fff;
  border: 1px solid #646464;
  border-radius: 0.4rem;
  text-align: center;
  font-family: "SBAggro", sans-serif;
  font-size: 3rem;
  font-weight: 500;
  color: #292929;
  letter-spacing: 0;
  line-height: 1;
}
.fla-contact__select .sel-btn::after {
  content: "";
  position: absolute;
  right: 2rem;
  top: 3.2rem;
  width: 2.3rem;
  height: 1.8rem;
  background: url("../images/ico_arrow.webp") 0 0/100% no-repeat;
  transition: transform 0.2s;
}
.fla-contact__select .sel-list {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 0.6rem;
  width: 100%;
  background: #fff;
  border: 1px solid #646464;
  border-radius: 0.4rem;
  overflow: hidden;
  list-style: none;
}
.fla-contact__select .sel-list li button {
  display: block;
  width: 100%;
  line-height: 7.2rem;
  text-align: center;
  font-family: "SBAggro", sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  color: #292929;
  letter-spacing: 0;
  line-height: 7.2rem;
}
.fla-contact__select .sel-list li button:hover, .fla-contact__select .sel-list li button.on {
  color: #25bc38;
  font-weight: 700;
}
.fla-contact__select .sel-list li + li button {
  border-top: 1px solid rgba(100, 100, 100, 0.25);
}
.fla-contact__select.open .sel-btn::after {
  transform: rotate(180deg);
}
.fla-contact__select.open .sel-list {
  display: block;
}
.fla-contact {
  /* 문의처 패널 — radius/패딩 캡쳐 실측 */
}
.fla-contact__panel {
  margin-top: 3.7rem;
  background: #edf4fa;
  border-radius: 1.4rem;
  padding: 4.8rem 3rem;
}
@media (min-width: 720px) {
  .fla-contact__panel {
    padding-left: 4.2rem;
    padding-right: 4.2rem;
  }
}
.fla-contact {
  /* 컬럼 폭 = 디자인 컷 픽셀 실측 (M 33/17.5/49.5 · PC 26.5/26/47.5) */
}
.fla-contact__head {
  display: flex;
  height: 6.8rem;
  background: #25bc38;
  border-radius: 0.5rem;
  align-items: center;
  text-align: center;
}
.fla-contact__head span {
  font-family: "SBAggro", sans-serif;
  font-size: 2.6rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0;
  line-height: 1;
}
.fla-contact__head .h-name {
  width: 33%;
}
.fla-contact__head .h-tel {
  width: 17.5%;
}
.fla-contact__head .h-area {
  width: 49.5%;
}
@media (min-width: 720px) {
  .fla-contact__head .h-name {
    width: 26.5%;
  }
  .fla-contact__head .h-tel {
    width: 26%;
  }
  .fla-contact__head .h-area {
    width: 47.5%;
  }
}
.fla-contact__list {
  display: none;
  list-style: none;
}
.fla-contact__list.on {
  display: block;
}
.fla-contact__list li {
  display: flex;
  align-items: center;
  padding: 2rem 0;
  border-bottom: 1px solid rgba(41, 41, 41, 0.12);
}
.fla-contact__list li .c-name {
  width: 33%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  color: #292929;
  letter-spacing: -0.065em;
  line-height: 1;
}
.fla-contact__list li .c-name a {
  color: inherit;
}
.fla-contact__list li .c-tel {
  width: 17.5%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  color: #292929;
  letter-spacing: -0.065em;
  line-height: 1;
}
.fla-contact__list li .c-tel .ico-tel {
  display: none;
}
@media (max-width: 719.98px) {
  .fla-contact__list li .c-tel .tel-num {
    display: none;
  }
  .fla-contact__list li .c-tel .ico-tel {
    display: inline-block;
    width: 4rem;
  }
  .fla-contact__list li .c-tel .ico-tel img {
    width: 100%;
    vertical-align: top;
  }
}
.fla-contact__list li .c-area {
  width: 49.5%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  color: #292929;
  letter-spacing: -0.065em;
  line-height: 4.5rem;
}
.fla-contact__list li .c-area br.br-pc {
  display: none;
}
@media (min-width: 720px) {
  .fla-contact__list li .c-name {
    width: 26.5%;
  }
  .fla-contact__list li .c-tel {
    width: 26%;
  }
  .fla-contact__list li .c-area {
    width: 47.5%;
  }
  .fla-contact__list li .c-area br.br-mo {
    display: none;
  }
  .fla-contact__list li .c-area br.br-pc {
    display: inline;
  }
}
.fla-contact {
  /* 주최 / 후원 — 좌 13 들여쓰기 + 패널 하단 gap 56 (캡쳐 실측, PSD x651=rel51) */
}
.fla-contact__spon {
  width: 64.4rem;
  margin: 3.2rem auto 0;
  padding-left: 1.3rem;
}
.fla-contact__spon .sp-row {
  display: flex;
  align-items: flex-start;
  margin-top: 4rem;
}
.fla-contact__spon .sp-row:first-child {
  margin-top: 0;
}
.fla-contact__spon .sp-row dt {
  flex: 0 0 9.5rem;
  padding-top: 0.2rem;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.2rem;
  font-weight: 500;
  color: #303030;
  letter-spacing: 0;
  line-height: 1;
}
.fla-contact__spon .sp-row dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2.4rem 3.2rem;
}
.fla-contact__spon .lg-gn img {
  width: 19.2rem;
}
.fla-contact__spon {
  /* 국가기관 6종 분리 (native w 96/98/152/125/142/156) */
}
.fla-contact__spon .lg-gov1 img {
  width: 9.6rem;
}
.fla-contact__spon .lg-gov2 img {
  width: 9.8rem;
}
.fla-contact__spon .lg-gov3 img {
  width: 15.2rem;
}
.fla-contact__spon .lg-gov4 img {
  width: 12.5rem;
}
.fla-contact__spon .lg-gov5 img {
  width: 14.2rem;
}
.fla-contact__spon .lg-gov6 img {
  width: 15.6rem;
}
.fla-contact__spon .lg-hongdae img {
  width: 15.2rem;
}
.fla-contact__spon .lg-art img {
  width: 7.8rem;
}
.fla-contact__spon .lg-kinder img {
  width: 23.8rem;
}
.fla-contact__spon .lg-daycare img {
  width: 18.7rem;
}
.fla-contact__spon .lg-public img {
  width: 22.8rem;
}
.fla-contact__spon {
  /* 로고 리빌 효과 제거 — 정적 노출 (7/16 굿네이버스 피드백 3) */
}

/* ============================================================
 * 오버레이 — 알럿 (축하 오버레이 팝업은 기획서 p8 재해석으로 제거 — 파티클/축하합니다 = 상장 카드 안)
 * ============================================================ */
@keyframes fla-qmark-spring { /* 물음표 — 좌 -5deg 당김 -> 용수철 감쇠 진동 -> 60%~ 정지 */
  0% {
    transform: rotate(0);
  }
  14% {
    transform: rotate(-5deg);
  }
  28% {
    transform: rotate(3.5deg);
  }
  40% {
    transform: rotate(-2deg);
  }
  50% {
    transform: rotate(1deg);
  }
  60%, 100% {
    transform: rotate(0);
  }
}
@keyframes fla-confetti-fall {
  0% {
    top: -5%;
    opacity: 1;
  }
  100% {
    top: 105%;
    opacity: 0.9;
  }
}
@keyframes fla-confetti-spin {
  0% {
    transform: rotate3d(var(--rx, 1), var(--ry, 1), var(--rz, 0), 0deg);
  }
  100% {
    transform: rotate3d(var(--rx, 1), var(--ry, 1), var(--rz, 0), 360deg);
  }
}
.fla-alert-bg {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 110;
  background: rgba(0, 0, 0, 0.5);
}
.fla-alert-bg.on {
  display: block;
  animation: fla-alert-dim 0.3s both;
}

@keyframes fla-alert-dim {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fla-alert-pop {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.8);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
.fla-alert {
  display: none;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 111;
  width: 56rem;
  background: #fff;
  border-radius: 2rem;
  text-align: center;
  padding: 8rem 4rem 5rem;
}
.fla-alert.on {
  display: block;
  animation: fla-alert-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.fla-alert p {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.4rem;
  font-weight: 600;
  color: #271c18;
  letter-spacing: -0.025em;
  line-height: 4.8rem;
}
.fla-alert .al-close {
  display: inline-block;
  margin-top: 5rem;
  width: 24rem;
  line-height: 8.8rem;
  background: #57bb2e;
  border-radius: 4.4rem;
  font-family: "SBAggro", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0;
  line-height: 8.8rem;
}
.fla-alert .al-x {
  position: absolute;
  right: 2.4rem;
  top: 2.4rem;
  width: 4.4rem;
  height: 4.4rem;
}
.fla-alert .al-x::before, .fla-alert .al-x::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 3.4rem;
  height: 0.4rem;
  background: #271c18;
}
.fla-alert .al-x::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.fla-alert .al-x::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
