/* ===== 성장동영상 Baby Movie 메인배너 (이 블록만 사이트 index.css에 추가) ===== */
#visual .swiper .swiper-slide.fm-bb-slide{background:#F7EFE9 url(/img/visual/baby/bb_bg.webp) center top/cover no-repeat}
.fm-bb-art{position:absolute;inset:0 0 auto 0;aspect-ratio:928/1152;container-type:inline-size;pointer-events:none}
/* 단계 표시 */
.fm-bb-step{position:absolute;inset:0}
.fm-bb-line{position:absolute;top:10.237cqw;height:0.431cqw;background:#D4BFB8;border-radius:0.216cqw;overflow:hidden}
.fm-bb-line i{position:absolute;inset:0;background:#3A2C28;transform-origin:left center;transform:scaleX(0)}
.fm-bb-dot{position:absolute;top:10.453cqw;width:3.879cqw;height:3.879cqw;box-sizing:border-box;border-radius:50%;border:0.485cqw solid #D4BFB8;background:#D4BFB8;transform:translate(-50%,-50%)}
.fm-bb-lab{position:absolute;top:16.164cqw;transform:translate(-50%,-50%);white-space:nowrap;font-family:'Pretendard-Medium','Pretendard',sans-serif;font-weight:500;font-size:2.694cqw;letter-spacing:-.02em;color:#6E5B55}
/* 사진 */
.fm-bb-photo{position:absolute;left:7.866cqw;top:26.185cqw;width:82.651cqw;height:57.328cqw;border-radius:1.724cqw;overflow:hidden;isolation:isolate;transform:translateZ(0)}
#visual .swiper .fm-bb-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:opacity,transform}
#visual .swiper .fm-bb-photo img:first-child{opacity:1}
.fm-bb-play{position:absolute;z-index:5;left:50%;top:50%;width:14.009cqw;height:14.009cqw;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0.431cqw 1.940cqw rgba(58,44,40,.12)}
.fm-bb-play::after{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:2.047cqw 0 2.047cqw 3.341cqw;border-color:transparent transparent transparent #3A2C28}
/* 애니메이션: 슬라이드가 보이기 시작할 때 처음(태어난 날)부터 재생 */
.fm-bb-art.is-play .fm-bb-photo img,.fm-bb-art.is-play .fm-bb-dot,.fm-bb-art.is-play .fm-bb-lab,.fm-bb-art.is-play .fm-bb-line i,.fm-bb-art.is-play .fm-bb-play{animation-duration:8s;animation-iteration-count:infinite;animation-timing-function:ease-in-out}
#visual .fm-bb-slide .banner-text-wrap .banner-sub-title{color:#2B2320}
#visual .fm-bb-slide .banner-text-wrap .banner-title{color:#111}
.fm-bb-dot.d0{left:11.422cqw} .fm-bb-lab.d0{left:11.422cqw}
.fm-bb-art.is-play .fm-bb-dot.d0{animation-name:fm-bb-dot0} .fm-bb-art.is-play .fm-bb-lab.d0{animation-name:fm-bb-lab0} .fm-bb-art.is-play .fm-bb-photo img.p0{animation-name:fm-bb-p0}
@keyframes fm-bb-dot0{
  0.000%{background:#FFD965;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  21.250%{background:#FFD965;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  24.375%{background:#3A2C28;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  93.125%{background:#3A2C28;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  96.250%{background:#FFD965;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  97.750%{transform:translate(-50%,-50%) scale(1.18)}
  100.000%{background:#FFD965;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
}
@keyframes fm-bb-lab0{
  0.000%{color:#3A2C28}
  21.250%{color:#3A2C28}
  24.375%{color:#6E5B55}
  93.125%{color:#6E5B55}
  96.250%{color:#3A2C28}
  100.000%{color:#3A2C28}
}
@keyframes fm-bb-p0{
  0.000%{opacity:1;z-index:2;transform:scale(1.055)}
  17.500%{opacity:1;z-index:2;transform:scale(1.012)}
  17.625%{opacity:1;z-index:1;transform:scale(1.012)}
  25.000%{opacity:1;z-index:1;transform:scale(1.0)}
  25.125%{opacity:0;z-index:1;transform:scale(1.0)}
  92.375%{opacity:0;z-index:1;transform:scale(1.07)}
  92.500%{opacity:0;z-index:2;transform:scale(1.07)}
  100.000%{opacity:1;z-index:2;transform:scale(1.055)}
}
.fm-bb-dot.d1{left:37.177cqw} .fm-bb-lab.d1{left:37.177cqw}
.fm-bb-art.is-play .fm-bb-dot.d1{animation-name:fm-bb-dot1} .fm-bb-art.is-play .fm-bb-lab.d1{animation-name:fm-bb-lab1} .fm-bb-art.is-play .fm-bb-photo img.p1{animation-name:fm-bb-p1}
@keyframes fm-bb-dot1{
  0.000%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
  18.750%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
  21.250%{background:#FFD965;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  22.750%{transform:translate(-50%,-50%) scale(1.18)}
  43.750%{background:#FFD965;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  46.250%{background:#3A2C28;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  93.125%{background:#3A2C28;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  96.250%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
  100.000%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
}
@keyframes fm-bb-lab1{
  0.000%{color:#6E5B55}
  18.750%{color:#6E5B55}
  21.250%{color:#3A2C28}
  43.750%{color:#3A2C28}
  46.250%{color:#6E5B55}
  93.125%{color:#6E5B55}
  96.250%{color:#6E5B55}
  100.000%{color:#6E5B55}
}
@keyframes fm-bb-p1{
  0.000%{opacity:0;z-index:1;transform:scale(1.07)}
  17.375%{opacity:0;z-index:1;transform:scale(1.07)}
  17.500%{opacity:0;z-index:2;transform:scale(1.07)}
  25.000%{opacity:1;z-index:2;transform:scale(1.055)}
  42.500%{opacity:1;z-index:2;transform:scale(1.012)}
  42.625%{opacity:1;z-index:1;transform:scale(1.012)}
  50.000%{opacity:1;z-index:1;transform:scale(1.0)}
  50.125%{opacity:0;z-index:1;transform:scale(1.0)}
  100.000%{opacity:0;z-index:1;transform:scale(1.07)}
}
.fm-bb-dot.d2{left:62.931cqw} .fm-bb-lab.d2{left:62.931cqw}
.fm-bb-art.is-play .fm-bb-dot.d2{animation-name:fm-bb-dot2} .fm-bb-art.is-play .fm-bb-lab.d2{animation-name:fm-bb-lab2} .fm-bb-art.is-play .fm-bb-photo img.p2{animation-name:fm-bb-p2}
@keyframes fm-bb-dot2{
  0.000%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
  43.750%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
  46.250%{background:#FFD965;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  47.750%{transform:translate(-50%,-50%) scale(1.18)}
  68.750%{background:#FFD965;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  71.250%{background:#3A2C28;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  93.125%{background:#3A2C28;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  96.250%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
  100.000%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
}
@keyframes fm-bb-lab2{
  0.000%{color:#6E5B55}
  43.750%{color:#6E5B55}
  46.250%{color:#3A2C28}
  68.750%{color:#3A2C28}
  71.250%{color:#6E5B55}
  93.125%{color:#6E5B55}
  96.250%{color:#6E5B55}
  100.000%{color:#6E5B55}
}
@keyframes fm-bb-p2{
  0.000%{opacity:0;z-index:1;transform:scale(1.07)}
  42.375%{opacity:0;z-index:1;transform:scale(1.07)}
  42.500%{opacity:0;z-index:2;transform:scale(1.07)}
  50.000%{opacity:1;z-index:2;transform:scale(1.055)}
  67.500%{opacity:1;z-index:2;transform:scale(1.012)}
  67.625%{opacity:1;z-index:1;transform:scale(1.012)}
  75.000%{opacity:1;z-index:1;transform:scale(1.0)}
  75.125%{opacity:0;z-index:1;transform:scale(1.0)}
  100.000%{opacity:0;z-index:1;transform:scale(1.07)}
}
.fm-bb-dot.d3{left:88.685cqw} .fm-bb-lab.d3{left:88.685cqw}
.fm-bb-art.is-play .fm-bb-dot.d3{animation-name:fm-bb-dot3} .fm-bb-art.is-play .fm-bb-lab.d3{animation-name:fm-bb-lab3} .fm-bb-art.is-play .fm-bb-photo img.p3{animation-name:fm-bb-p3}
@keyframes fm-bb-dot3{
  0.000%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
  68.750%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
  71.250%{background:#FFD965;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  72.750%{transform:translate(-50%,-50%) scale(1.18)}
  93.125%{background:#FFD965;border-color:#3A2C28;transform:translate(-50%,-50%) scale(1)}
  96.250%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
  100.000%{background:#D4BFB8;border-color:#D4BFB8;transform:translate(-50%,-50%) scale(1)}
}
@keyframes fm-bb-lab3{
  0.000%{color:#6E5B55}
  68.750%{color:#6E5B55}
  71.250%{color:#3A2C28}
  93.125%{color:#3A2C28}
  96.250%{color:#6E5B55}
  100.000%{color:#6E5B55}
}
@keyframes fm-bb-p3{
  0.000%{opacity:0;z-index:1;transform:scale(1.07)}
  67.375%{opacity:0;z-index:1;transform:scale(1.07)}
  67.500%{opacity:0;z-index:2;transform:scale(1.07)}
  75.000%{opacity:1;z-index:2;transform:scale(1.055)}
  92.500%{opacity:1;z-index:2;transform:scale(1.012)}
  92.625%{opacity:1;z-index:1;transform:scale(1.012)}
  100.000%{opacity:1;z-index:1;transform:scale(1.0)}
}
.fm-bb-line.l0{left:11.422cqw;width:25.754cqw} .fm-bb-art.is-play .fm-bb-line.l0 i{animation-name:fm-bb-line0}
@keyframes fm-bb-line0{
  0.000%{transform:scaleX(0)}
  15.625%{transform:scaleX(0)}
  21.250%{transform:scaleX(1)}
  92.500%{transform:scaleX(1)}
  96.250%{transform:scaleX(0)}
  100.000%{transform:scaleX(0)}
}
.fm-bb-line.l1{left:37.177cqw;width:25.754cqw} .fm-bb-art.is-play .fm-bb-line.l1 i{animation-name:fm-bb-line1}
@keyframes fm-bb-line1{
  0.000%{transform:scaleX(0)}
  40.625%{transform:scaleX(0)}
  46.250%{transform:scaleX(1)}
  92.500%{transform:scaleX(1)}
  96.250%{transform:scaleX(0)}
  100.000%{transform:scaleX(0)}
}
.fm-bb-line.l2{left:62.931cqw;width:25.754cqw} .fm-bb-art.is-play .fm-bb-line.l2 i{animation-name:fm-bb-line2}
@keyframes fm-bb-line2{
  0.000%{transform:scaleX(0)}
  65.625%{transform:scaleX(0)}
  71.250%{transform:scaleX(1)}
  92.500%{transform:scaleX(1)}
  96.250%{transform:scaleX(0)}
  100.000%{transform:scaleX(0)}
}
.fm-bb-art.is-play .fm-bb-play{animation-name:fm-bb-play}
@keyframes fm-bb-play{
  0%,16.250%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  21.250%,92.500%{opacity:0;transform:translate(-50%,-50%) scale(.85)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
.fm-bb-dot.d0{background:#FFD965;border-color:#3A2C28}.fm-bb-lab.d0{color:#3A2C28}
@media (prefers-reduced-motion:reduce){.fm-bb-art.is-play *{animation:none!important}}
/* ===== /성장동영상 ===== */

/* ===== LP Player 메인배너 v2 (이 블록만 사이트 index.css에 추가) ===== */
#visual .swiper .swiper-slide.fm-lp-slide{background:#F2EFE4 url(/img/visual/lp/lp_bg.webp) center/cover no-repeat}
.fm-lp-art{position:absolute;inset:0 0 auto 0;aspect-ratio:928/1152;container-type:inline-size;pointer-events:none}
#visual .swiper .fm-lp-art img{position:absolute;display:block;max-width:none;height:auto;user-select:none;-webkit-user-drag:none}
.fm-lp-cover-wrap{position:absolute;inset:0;filter:drop-shadow(0 .4cqw .5cqw rgba(50,35,20,.28)) drop-shadow(.8cqw 2.6cqw 3cqw rgba(50,35,20,.38))}
#visual .swiper .fm-lp-cover{left:-11.02cqw;top:8.61cqw;width:64.30cqw;height:64.30cqw;transform:rotate(10deg)}
.fm-lp-vinyl{position:absolute;left:19.13cqw;top:14.48cqw;width:61.76cqw;height:61.76cqw}
#visual .swiper .fm-lp-vinyl img{inset:0;width:100%;height:100%;filter:drop-shadow(.3cqw 1.2cqw 1.6cqw rgba(30,20,10,.35))}
.fm-lp-label{position:absolute;inset:0;background:url(/img/visual/lp/lp_vinyl.webp) center/100% 100% no-repeat;
  clip-path:circle(22.13% at 49.68% 49.84%);transform-origin:49.68% 49.84%;animation:fm-lp-spin 3s linear infinite;will-change:transform}
#visual .swiper .fm-lp-arm{left:62.90cqw;top:1.61cqw;width:33.28cqw;filter:drop-shadow(.4cqw .9cqw .7cqw rgba(40,30,20,.25))}
.fm-lp-side{position:absolute;right:4.09cqw;top:61.96cqw;transform:translateY(-50%);writing-mode:vertical-rl;
  font-family:'Noto Serif KR',Georgia,'Times New Roman',serif;font-size:1.83cqw;line-height:1;letter-spacing:.04em;color:#A39C92}

/* 음표·음파 */
#visual .swiper .fm-lp-fx{transform:rotate(var(--r));will-change:transform,opacity}
#visual .swiper .fm-lp-beam{left:83.94cqw;top:35.45cqw;width:6.68cqw;--r:18deg;animation:fm-lp-float 3s ease-in-out infinite alternate}
#visual .swiper .fm-lp-note{left:57.76cqw;top:77.82cqw;width:3.23cqw;--r:12deg;animation:fm-lp-float2 3s ease-in-out -1.5s infinite alternate}
#visual .swiper .fm-lp-wave{left:74.78cqw;top:56.79cqw;width:6.90cqw;--r:68deg;animation:fm-lp-pulse 1.5s ease-in-out infinite}
#visual .swiper .fm-lp-wave.out{animation-delay:-1.2s}
/* 원판에서 피어오르는 작은 음표 */
#visual .swiper .fm-lp-pop{left:82.97cqw;top:79.20cqw;width:2.16cqw;opacity:0;animation:fm-lp-pop 6s linear infinite}
#visual .swiper .fm-lp-pop.b{left:87.50cqw;top:75.43cqw;width:2.80cqw;animation-delay:-3s;animation-name:fm-lp-pop2}
@keyframes fm-lp-spin{to{transform:rotate(360deg)}}
@keyframes fm-lp-float{from{transform:translate(0,0) rotate(var(--r))}to{transform:translate(0.32cqw,-1.29cqw) rotate(calc(var(--r) - 7deg))}}
@keyframes fm-lp-float2{from{transform:translate(0,0) rotate(var(--r))}to{transform:translate(-0.22cqw,-1.08cqw) rotate(calc(var(--r) + 9deg))}}
@keyframes fm-lp-pulse{
  0%{opacity:.45;transform:translate(0,0) rotate(var(--r))}
  45%{opacity:1;transform:translate(0.54cqw,-0.11cqw) rotate(var(--r))}
  100%{opacity:.45;transform:translate(0,0) rotate(var(--r))}}
@keyframes fm-lp-pop{
  0%{opacity:0;transform:translate(0,0) rotate(-10deg) scale(.7)}
  12%{opacity:.85}
  35%{transform:translate(1.94cqw,-4.31cqw) rotate(8deg) scale(.95)}
  60%{opacity:.75;transform:translate(0.86cqw,-8.41cqw) rotate(-6deg) scale(1)}
  80%,100%{opacity:0;transform:translate(2.59cqw,-12.07cqw) rotate(10deg) scale(1)}}
@keyframes fm-lp-pop2{
  0%{opacity:0;transform:translate(0,0) rotate(12deg) scale(.7)}
  12%{opacity:.8}
  40%{transform:translate(-1.51cqw,-4.53cqw) rotate(-8deg) scale(.95)}
  62%{opacity:.7;transform:translate(0.65cqw,-8.84cqw) rotate(6deg) scale(1)}
  82%,100%{opacity:0;transform:translate(-0.65cqw,-12.72cqw) rotate(-10deg) scale(1)}}
/* 텍스트: 사이트 #ai_intro 스타일, 밝은 배경이라 색만 어둡게 */
#visual .fm-lp-slide .banner-text-wrap .banner-sub-title{color:#333}
#visual .fm-lp-slide .banner-text-wrap .banner-title{color:#1F1F1F}
@media (prefers-reduced-motion:reduce){.fm-lp-label,#visual .swiper .fm-lp-fx{animation:none}#visual .swiper .fm-lp-pop{display:none}}
/* ===== /LP Player v2 ===== */

/* ===== 무료 모바일청첩장 메인배너 (이 블록만 사이트 index.css에 추가) ===== */
#visual .swiper .swiper-slide.fm-mi-slide{background:#655546}
.fm-mi-art{position:absolute;inset:0;container-type:inline-size;background:url(/img/visual/mi/mi_bg.webp) center top/100% auto no-repeat}
.fm-mi-screen{position:absolute;left:34.644cqw;top:13.739cqw;width:31.412cqw;height:65.517cqw;border-radius:4.095cqw;overflow:hidden;background:#fff;transform:translateZ(0)}
#visual .swiper .fm-mi-screen img{position:absolute;left:0;top:0;width:100%;height:auto;max-width:none;animation:fm-mi-scroll 15s infinite;will-change:transform}
/* 상태바 */
.fm-mi-shade{position:absolute;left:0;right:0;top:0;height:4.526cqw;z-index:2;background:linear-gradient(rgba(0,0,0,.32),rgba(0,0,0,0));animation:fm-mi-shade 15s infinite}
.fm-mi-bar{position:absolute;left:0;right:0;top:0;height:3.125cqw;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:0 2.371cqw 0 2.909cqw;
  font:600 1.131cqw/1 -apple-system,'Pretendard',sans-serif;letter-spacing:-.01em;color:#fff;animation:fm-mi-bar 15s infinite}
.fm-mi-bar svg{height:0.862cqw;width:auto;display:block;fill:currentColor}
.fm-mi-bar span:last-child{display:flex;gap:0.377cqw;align-items:center}
/* 다이내믹 아일랜드 (원본 위치·크기 그대로) */
.fm-mi-island{position:absolute;z-index:4;left:46.336cqw;top:14.871cqw;width:7.759cqw;height:1.940cqw;border-radius:99px;background:#050506}
.fm-mi-island::after{content:"";position:absolute;right:0.970cqw;top:50%;width:0.647cqw;height:0.647cqw;margin-top:-0.323cqw;border-radius:50%;background:radial-gradient(circle at 35% 35%,#3A4C8A,#0E1430 60%)}
/* 유리 반사 */
.fm-mi-glass{position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:inherit;
  background:linear-gradient(118deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 34%);box-shadow:inset 0 0 0 0.108cqw rgba(0,0,0,.55)}
/* 오른손 스와이프 */
#visual .swiper img.fm-mi-hand{position:absolute;z-index:6;left:56.121cqw;top:57.866cqw;width:126.810cqw;height:auto;max-width:none;pointer-events:none;
  transform-origin:1.632% 0.987%;filter:drop-shadow(-.4cqw 1.4cqw 1.6cqw rgba(45,28,15,.3));animation:fm-mi-hand 15s infinite;will-change:transform}
@keyframes fm-mi-scroll{
  0.000%{transform:translateY(0.000%);animation-timing-function:linear}
  12.000%{transform:translateY(0.000%);animation-timing-function:cubic-bezier(.3,.55,.25,1)}
  20.667%{transform:translateY(-15.977%);animation-timing-function:linear}
  30.667%{transform:translateY(-15.977%);animation-timing-function:cubic-bezier(.3,.55,.25,1)}
  40.667%{transform:translateY(-34.411%);animation-timing-function:linear}
  50.667%{transform:translateY(-34.411%);animation-timing-function:cubic-bezier(.3,.55,.25,1)}
  59.333%{transform:translateY(-48.176%);animation-timing-function:linear}
  66.667%{transform:translateY(-48.176%);animation-timing-function:cubic-bezier(.3,.55,.25,1)}
  74.000%{transform:translateY(-63.415%);animation-timing-function:linear}
  81.333%{transform:translateY(-63.415%);animation-timing-function:cubic-bezier(.3,.55,.25,1)}
  88.667%{transform:translateY(-79.883%);animation-timing-function:linear}
  93.333%{transform:translateY(-79.883%);animation-timing-function:cubic-bezier(.5,0,.2,1)}
  99.333%{transform:translateY(0.000%);animation-timing-function:linear}
  100.000%{transform:translateY(0.000%);animation-timing-function:linear}
}
@keyframes fm-mi-hand{
  0.000%{transform:translate(46.336cqw,73.276cqw) scale(1);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  6.000%{transform:translate(46.336cqw,73.276cqw) scale(1);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  10.000%{transform:translate(1.078cqw,1.724cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  10.000%{transform:translate(1.078cqw,1.724cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  11.200%{transform:translate(0.000cqw,0.000cqw) scale(1);animation-timing-function:cubic-bezier(.4,0,.6,1)}
  15.640%{transform:translate(-1.078cqw,-19.720cqw) scale(1);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  17.107%{transform:translate(-0.216cqw,-18.319cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  28.333%{transform:translate(1.078cqw,1.724cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  28.667%{transform:translate(1.078cqw,1.724cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  29.867%{transform:translate(0.000cqw,0.000cqw) scale(1);animation-timing-function:cubic-bezier(.4,0,.6,1)}
  34.867%{transform:translate(-1.078cqw,-19.720cqw) scale(1);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  36.333%{transform:translate(-0.216cqw,-18.319cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  48.333%{transform:translate(1.078cqw,1.724cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  48.667%{transform:translate(1.078cqw,1.724cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  49.867%{transform:translate(0.000cqw,0.000cqw) scale(1);animation-timing-function:cubic-bezier(.4,0,.6,1)}
  54.307%{transform:translate(-1.078cqw,-19.720cqw) scale(1);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  55.773%{transform:translate(-0.216cqw,-18.319cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  64.333%{transform:translate(1.078cqw,1.724cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  64.667%{transform:translate(1.078cqw,1.724cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  65.867%{transform:translate(0.000cqw,0.000cqw) scale(1);animation-timing-function:cubic-bezier(.4,0,.6,1)}
  69.747%{transform:translate(-1.078cqw,-19.720cqw) scale(1);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  71.213%{transform:translate(-0.216cqw,-18.319cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  79.000%{transform:translate(1.078cqw,1.724cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  79.333%{transform:translate(1.078cqw,1.724cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  80.533%{transform:translate(0.000cqw,0.000cqw) scale(1);animation-timing-function:cubic-bezier(.4,0,.6,1)}
  84.413%{transform:translate(-1.078cqw,-19.720cqw) scale(1);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  85.880%{transform:translate(-0.216cqw,-18.319cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  90.333%{transform:translate(-0.216cqw,-18.319cqw) scale(1.035);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  92.667%{transform:translate(46.336cqw,73.276cqw) scale(1);animation-timing-function:cubic-bezier(.45,0,.3,1)}
  100.000%{transform:translate(46.336cqw,73.276cqw) scale(1);animation-timing-function:cubic-bezier(.45,0,.3,1)}
}
@keyframes fm-mi-bar{
  0%,14.333%{color:#fff}
  16.000%,96.667%{color:#111}
  98.333%,100%{color:#fff}
}
@keyframes fm-mi-shade{
  0%,14.000%{opacity:1}
  16.000%,96.667%{opacity:0}
  98.333%,100%{opacity:1}
}
@media (prefers-reduced-motion:reduce){#visual .swiper .fm-mi-screen img,.fm-mi-hand,.fm-mi-bar,.fm-mi-shade{animation:none}}
/* ===== /무료 모바일청첩장 ===== */

/* ===== 신규 식전영상 (밝은 배경 → 글자 어둡게) ===== */
#visual .fm-nw-slide .banner-text-wrap .banner-sub-title{color:#222;text-shadow:none}
#visual .fm-nw-slide .banner-text-wrap .banner-title{color:#1F1F1F;text-shadow:none}

/* [2026-11-03] 모바일 index_media.css 의 흰 글자(#visual .swiper .swiper-slide .banner-text-wrap …)보다 강하게 — 밝은 배경 3장 글자색 */
#visual .swiper .swiper-slide.fm-nw-slide .banner-text-wrap .banner-sub-title{color:#222;text-shadow:none}
#visual .swiper .swiper-slide.fm-nw-slide .banner-text-wrap .banner-title{color:#1F1F1F;text-shadow:none}
#visual .swiper .swiper-slide.fm-lp-slide .banner-text-wrap .banner-sub-title{color:#333;text-shadow:none}
#visual .swiper .swiper-slide.fm-lp-slide .banner-text-wrap .banner-title{color:#1F1F1F;text-shadow:none}
#visual .swiper .swiper-slide.fm-bb-slide .banner-text-wrap .banner-sub-title{color:#2B2320;text-shadow:none}
#visual .swiper .swiper-slide.fm-bb-slide .banner-text-wrap .banner-title{color:#111;text-shadow:none}

/* [2026-11-03] LP: 가운데 사진만 돌던 것 → 판 전체가 돌게 (진수님). 그림자는 바깥 틀에 둬서 같이 안 돌게 */
.fm-lp-vinyl{filter:drop-shadow(.3cqw 1.2cqw 1.6cqw rgba(30,20,10,.35))}
#visual .swiper .fm-lp-vinyl img{filter:none;transform-origin:49.68% 49.84%;animation:fm-lp-spin 8s linear infinite;will-change:transform}
.fm-lp-label{display:none}
@media (prefers-reduced-motion:reduce){#visual .swiper .fm-lp-vinyl img{animation:none}}

/* [2026-11-03] 사이트 공용 `#visual .swiper .swiper-slide .banner-video img{width:100%;height:100%;object-fit:cover}` 가
   배너 이미지 크기를 덮어써서 손 잘림·LP 커버/팔/음표 늘어남 → 같은 경로 + 클래스로 더 강하게, 디자인 원본 크기로 되돌림 */
#visual .swiper .swiper-slide .banner-video .fm-mi-screen img{width:100%;height:auto;object-fit:fill}
#visual .swiper .swiper-slide .banner-video img.fm-mi-hand{width:126.810cqw;height:auto;object-fit:fill}
#visual .swiper .swiper-slide .banner-video img.fm-lp-cover{width:64.30cqw;height:64.30cqw;object-fit:fill}
#visual .swiper .swiper-slide .banner-video .fm-lp-vinyl img{width:100%;height:100%;object-fit:fill}
#visual .swiper .swiper-slide .banner-video img.fm-lp-arm{width:33.28cqw;height:auto;object-fit:fill}
#visual .swiper .swiper-slide .banner-video img.fm-lp-beam{width:6.68cqw;height:auto;object-fit:fill}
#visual .swiper .swiper-slide .banner-video img.fm-lp-note{width:3.23cqw;height:auto;object-fit:fill}
#visual .swiper .swiper-slide .banner-video img.fm-lp-wave{width:6.90cqw;height:auto;object-fit:fill}
#visual .swiper .swiper-slide .banner-video img.fm-lp-pop{width:2.16cqw;height:auto;object-fit:fill}
#visual .swiper .swiper-slide .banner-video img.fm-lp-pop.b{width:2.80cqw}
/* 사이트 공용 span{14px Noto_R} 이 상태바 시계를 키움 → 부모 글꼴 그대로 */
#visual .swiper .swiper-slide .fm-mi-bar span{font:inherit;letter-spacing:inherit}

/* [2026-11-03] 무료모청: 손 뺌 · 폰 화면 스크롤 천천히(15초→18초, 한 칸 이동 약 1.3초→2초) · 끝까지 내려가면 위로 튕겨 올라가지 않고 그대로 멈춤
   한 번만 재생(forwards) → 카드가 다시 보일 때 bb.js 가 is-play 를 다시 붙여 처음부터 */
#visual .swiper .swiper-slide .banner-video img.fm-mi-hand{display:none}
#visual .swiper .swiper-slide .banner-video .fm-mi-screen img,.fm-mi-bar,.fm-mi-shade{animation:none}
#visual .swiper .swiper-slide .banner-video.fm-mi-art.is-play .fm-mi-screen img{animation:fm-mi-scroll2 18s 1 forwards}
.fm-mi-art.is-play .fm-mi-bar{animation:fm-mi-bar2 18s 1 forwards}
.fm-mi-art.is-play .fm-mi-shade{animation:fm-mi-shade2 18s 1 forwards}
@keyframes fm-mi-scroll2{
  0%{transform:translateY(0)}
  11.111%{transform:translateY(0);animation-timing-function:cubic-bezier(.3,.55,.25,1)}
  22.222%{transform:translateY(-15.977%)}
  28.889%{transform:translateY(-15.977%);animation-timing-function:cubic-bezier(.3,.55,.25,1)}
  40.000%{transform:translateY(-34.411%)}
  46.667%{transform:translateY(-34.411%);animation-timing-function:cubic-bezier(.3,.55,.25,1)}
  57.778%{transform:translateY(-48.176%)}
  64.444%{transform:translateY(-48.176%);animation-timing-function:cubic-bezier(.3,.55,.25,1)}
  75.556%{transform:translateY(-63.415%)}
  82.222%{transform:translateY(-63.415%);animation-timing-function:cubic-bezier(.3,.55,.25,1)}
  93.333%{transform:translateY(-79.883%)}
  100%{transform:translateY(-79.883%)}
}
@keyframes fm-mi-bar2{0%,11.111%{color:#fff}13%,100%{color:#111}}
@keyframes fm-mi-shade2{0%,11.111%{opacity:1}13%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.fm-mi-art.is-play .fm-mi-screen img,.fm-mi-art.is-play .fm-mi-bar,.fm-mi-art.is-play .fm-mi-shade{animation:none!important}}

/* ===== 무료 모바일청첩장 메인배너 v2 (이 블록만 사이트 index.css에 추가) ===== */
#visual .swiper .swiper-slide.fm-mi2-slide{background:#F9F4EE}
.fm-mi2-art{position:absolute;inset:0 0 auto 0;aspect-ratio:928/1152;container-type:inline-size;pointer-events:none}
.fm-mi2-card{position:absolute;width:27.155cqw;height:45.259cqw;border-radius:1.940cqw;overflow:hidden;background:#F4EEE6;
  box-shadow:0 1.940cqw 4.310cqw rgba(110,80,60,.18),0 0.323cqw 0.862cqw rgba(110,80,60,.10);transform:translate(-50%,-50%)}
#visual .swiper .fm-mi2-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.fm-mi2-fan{position:absolute;inset:0}
#visual .fm-mi2-slide .banner-text-wrap .banner-sub-title{color:#3A3330}
#visual .fm-mi2-slide .banner-text-wrap .banner-title{color:#111}
.fm-mi2-arc{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fm-mi2-card.c0{left:28.556cqw;top:51.185cqw;z-index:1;transform:translate(-50%,-50%) rotate(-30deg)}
.fm-mi2-card.c1{left:36.853cqw;top:47.522cqw;z-index:2;transform:translate(-50%,-50%) rotate(-20deg)}
.fm-mi2-card.c2{left:44.612cqw;top:45.474cqw;z-index:3;transform:translate(-50%,-50%) rotate(-5deg)}
.fm-mi2-card.c3{left:54.634cqw;top:44.720cqw;z-index:4;transform:translate(-50%,-50%) rotate(5deg)}
.fm-mi2-card.c4{left:62.284cqw;top:47.091cqw;z-index:5;transform:translate(-50%,-50%) rotate(18deg)}
.fm-mi2-card.c5{left:71.767cqw;top:51.293cqw;z-index:6;transform:translate(-50%,-50%) rotate(34deg)}
/* 반짝이 */
.fm-mi2-sp{position:absolute;transform:translate(-50%,-50%);opacity:.35}
#visual .swiper .fm-mi2-sp img{display:block;width:100%;height:100%}
.fm-mi2-sp.w img{filter:drop-shadow(0 0 0.539cqw rgba(226,176,160,.55)) drop-shadow(0 0 0.162cqw rgba(214,160,150,.35))}
.fm-mi2-art.is-play .fm-mi2-sp img{animation:fm-mi2-tw 3s ease-in-out infinite both}
@keyframes fm-mi2-tw{0%,100%{opacity:.45;transform:scale(.66) rotate(0deg)} 50%{opacity:1;transform:scale(1) rotate(12deg)}}
.fm-mi2-sp{opacity:1}
.fm-mi2-sp.s0{left:7.543cqw;top:13.793cqw;width:12.931cqw;height:12.931cqw} .fm-mi2-art.is-play .fm-mi2-sp.s0 img{animation-duration:3s;animation-delay:0s}
.fm-mi2-sp.s1{left:35.560cqw;top:12.931cqw;width:4.957cqw;height:4.957cqw} .fm-mi2-art.is-play .fm-mi2-sp.s1 img{animation-duration:3s;animation-delay:-1.5s}
.fm-mi2-sp.s2{left:65.948cqw;top:12.716cqw;width:8.621cqw;height:8.621cqw} .fm-mi2-art.is-play .fm-mi2-sp.s2 img{animation-duration:3s;animation-delay:-1.2s}
.fm-mi2-sp.s3{left:95.259cqw;top:65.086cqw;width:9.914cqw;height:9.914cqw} .fm-mi2-art.is-play .fm-mi2-sp.s3 img{animation-duration:3s;animation-delay:-0.6s}
.fm-mi2-sp.s4{left:5.819cqw;top:60.345cqw;width:5.172cqw;height:5.172cqw} .fm-mi2-art.is-play .fm-mi2-sp.s4 img{animation-duration:2s;animation-delay:-1.4s}
.fm-mi2-sp.s5{left:50.647cqw;top:10.345cqw;width:4.741cqw;height:4.741cqw} .fm-mi2-art.is-play .fm-mi2-sp.s5 img{animation-duration:3s;animation-delay:-2.2s}
.fm-mi2-sp.s6{left:87.069cqw;top:86.207cqw;width:6.681cqw;height:6.681cqw} .fm-mi2-art.is-play .fm-mi2-sp.s6 img{animation-duration:3s;animation-delay:-0.5s}
/* 문구 뱃지 */
.fm-mi2-tag{position:absolute;z-index:20;opacity:0;transform:translate(-50%,-50%)}
.fm-mi2-tag i{display:flex;align-items:center;justify-content:center;height:8.621cqw;padding:0 3.879cqw;white-space:nowrap;border-radius:4.310cqw;
  background:#fff;color:#111;font-style:normal;font-family:'Pretendard','Pretendard-SemiBold',sans-serif;font-weight:600;font-size:3.664cqw;letter-spacing:-.02em;line-height:1;
  box-shadow:0 0.862cqw 2.371cqw rgba(90,64,48,.14),0 0.108cqw 0.323cqw rgba(90,64,48,.08)}
.fm-mi2-tag.big i{height:10.345cqw;padding:0 4.741cqw;border-radius:5.172cqw;background:#fff;color:#111;font-weight:700;font-size:4.957cqw;letter-spacing:.08em;text-indent:.08em;
  box-shadow:0 1.078cqw 2.802cqw rgba(90,64,48,.16),0 0.108cqw 0.323cqw rgba(90,64,48,.08)}
.fm-mi2-art.is-play .fm-mi2-tag{animation-duration:6s;animation-iteration-count:infinite;animation-fill-mode:both;animation-timing-function:ease-out}
.fm-mi2-art.is-play .fm-mi2-tag i{animation:fm-mi2-bob 3s ease-in-out infinite}
@keyframes fm-mi2-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-0.647cqw)}}
.fm-mi2-tag.t0{left:81.897cqw;top:73.276cqw} .fm-mi2-art.is-play .fm-mi2-tag.t0{animation-name:fm-mi2-tag0} .fm-mi2-art.is-play .fm-mi2-tag.t0 i{animation-delay:0.0s}
@keyframes fm-mi2-tag0{
  0.000%{opacity:0;transform:translate(-50%,-50%) translateY(1.724cqw) rotate(0deg) scale(0.6)}
  5.833%{opacity:0;transform:translate(-50%,-50%) translateY(1.724cqw) rotate(0deg) scale(0.6)}
  10.000%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(1.06)}
  12.833%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(0.97)}
  15.167%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(1)}
  87.500%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(1)}
  92.833%{opacity:0;transform:translate(-50%,-50%) translateY(0.647cqw) rotate(0deg) scale(0.9)}
  100.000%{opacity:0;transform:translate(-50%,-50%) translateY(1.724cqw) rotate(0deg) scale(0.6)}
}
.fm-mi2-tag.t1{left:20.474cqw;top:26.509cqw} .fm-mi2-art.is-play .fm-mi2-tag.t1{animation-name:fm-mi2-tag1} .fm-mi2-art.is-play .fm-mi2-tag.t1 i{animation-delay:-0.8s}
@keyframes fm-mi2-tag1{
  0.000%{opacity:0;transform:translate(-50%,-50%) translateY(1.724cqw) rotate(0deg) scale(0.6)}
  17.500%{opacity:0;transform:translate(-50%,-50%) translateY(1.724cqw) rotate(0deg) scale(0.6)}
  21.667%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(1.06)}
  24.500%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(0.97)}
  26.833%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(1)}
  89.167%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(1)}
  94.500%{opacity:0;transform:translate(-50%,-50%) translateY(0.647cqw) rotate(0deg) scale(0.9)}
  100.000%{opacity:0;transform:translate(-50%,-50%) translateY(1.724cqw) rotate(0deg) scale(0.6)}
}
.fm-mi2-tag.t2{left:81.897cqw;top:23.922cqw} .fm-mi2-art.is-play .fm-mi2-tag.t2{animation-name:fm-mi2-tag2} .fm-mi2-art.is-play .fm-mi2-tag.t2 i{animation-delay:-1.6s}
@keyframes fm-mi2-tag2{
  0.000%{opacity:0;transform:translate(-50%,-50%) translateY(1.724cqw) rotate(0deg) scale(0.6)}
  29.167%{opacity:0;transform:translate(-50%,-50%) translateY(1.724cqw) rotate(0deg) scale(0.6)}
  33.333%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(1.06)}
  36.167%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(0.97)}
  38.500%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(1)}
  90.833%{opacity:1;transform:translate(-50%,-50%) translateY(0.000cqw) rotate(0deg) scale(1)}
  96.167%{opacity:0;transform:translate(-50%,-50%) translateY(0.647cqw) rotate(0deg) scale(0.9)}
  100.000%{opacity:0;transform:translate(-50%,-50%) translateY(1.724cqw) rotate(0deg) scale(0.6)}
}
@media (prefers-reduced-motion:reduce){.fm-mi2-art.is-play .fm-mi2-sp img,.fm-mi2-art.is-play .fm-mi2-tag,.fm-mi2-art.is-play .fm-mi2-tag i{animation:none!important}.fm-mi2-tag{opacity:1}}
/* ===== /무료 모바일청첩장 v2 ===== */

/* [2026-11-04] 무료모청 v2 — 사이트 공용 `#visual .swiper .swiper-slide .banner-video img{width:100%;height:100%;object-fit:cover}` 보다 강하게 (어제 교훈) */
#visual .swiper .swiper-slide .banner-video .fm-mi2-card img{width:100%;height:100%;object-fit:cover;object-position:center top}
#visual .swiper .swiper-slide .banner-video .fm-mi2-sp img{display:block;width:100%;height:100%;object-fit:fill}
/* 사이트 공용 span{14px Noto_R} — 뱃지 글자는 i 에 크기가 있어 영향 없지만 span 자체 줄높이도 원본대로 */
#visual .swiper .swiper-slide .fm-mi2-tag,#visual .swiper .swiper-slide .fm-mi2-sp,#visual .swiper .swiper-slide .fm-mi2-card{font-size:inherit;line-height:inherit}
/* 모바일 index_media.css 흰 글자보다 강하게 — 밝은 배경 */
#visual .swiper .swiper-slide.fm-mi2-slide .banner-text-wrap .banner-sub-title{color:#3A3330;text-shadow:none}
#visual .swiper .swiper-slide.fm-mi2-slide .banner-text-wrap .banner-title{color:#111;text-shadow:none}

/* [2026-11-04] 옆 장 회색 막(사이트 `#visual .swiper .swiper-slide::after` z-index:3)을 앞쪽 카드(z4~6)·뱃지(z20)가 뚫고 올라오던 것 —
   그림 묶음을 하나의 쌓임 맥락으로 가둬 막 «아래»에 둔다(안쪽 순서는 그대로) */
#visual .swiper .swiper-slide .banner-video.fm-mi2-art{z-index:0;isolation:isolate}
