@charset "UTF-8";
/* ============================================================
 * 35주년 나눔수기공모전 — "좋아서 하는 일, 35년의 기록"  [PC]
 * source : assets/_dev/2026/scss/35letter/35letter_web.scss  (git 제외 dev 소스)
 * out    : assets/web/css/microSite/campaign/35letter.css
 * 페이지 : /35letter.gn → views/web/microSite/campaign/35letter/index.jsp (2026-07-02 확정)
 * 기준   : 2026_35주년이벤트_pc(1920).psd — 폰트/크기/굵기/줄바꿈/색 PSD 그대로
 * 단위   : 1920 아트보드 fluid rem (1rem=10px @1920), 크기는 PSD transform 보정 px
 * ============================================================ */
/* ── 폰트 (3종 + Noto/Paperlogy 전부 상업용+웹폰트 무료 확인) ───────────────── */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400&display=swap");
@font-face {
  font-family: "116Subakhwa";
  src: url("https://gcore.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.0/116watermelon.woff") format("woff");
  font-weight: normal;
  font-display: swap;
}
@font-face {
  font-family: "EF_Rebecca";
  src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2210-EF@1.0/EF_Rebecca.woff2") format("woff2");
  font-weight: normal;
  font-display: swap;
}
/* ── helper ──────────────────────────────────────────────── */
/* ── 팔레트 (PSD FillColor) ──────────────────────────────── */
/* 한 컷 예시박스 파랑 / 활성 제출버튼 골드 */
/* sec4 info ◆ 마크 (초록/주황/노랑) PSD 그대로 */
/* 섹션 배경 (PSD): 참여/나눔/end (intro·리워드=#fff) */
/* ico background-image 경로 = CDN (2026-07-03 등록 완료) */
/* ── 1920 fluid (≤1920 비례 축소, ≥1920 고정) ───────────── */
html {
  font-size: 10px;
  /* 스크롤바 거터 항상 예약 → 인트로 락(overflow:hidden) 시 스크롤바 사라져도
     콘텐츠/고정요소 폭 안 밀림(우측 덜컥거림 제거). fixed body 트릭 불필요. */
  scrollbar-gutter: stable;
  /* 1920~1280 fluid, 1280 이하 고정 (body min-width:1280 정책과 동일) */
}
@media (max-width: 1920px) {
  html {
    font-size: 0.5208333333vw;
  }
}
@media (max-width: 1280px) {
  html {
    font-size: 6.6666666667px;
  }
}

/* ── 색 helper (JSP 인라인 span) ─────────────────────────── */
.lk35-wrap .c-green, .pop-lk35 .c-green, .lk35-header .c-green, .lk35-quick .c-green {
  color: #1f9740;
}
.lk35-wrap .c-green2, .pop-lk35 .c-green2, .lk35-header .c-green2, .lk35-quick .c-green2 {
  color: #25a749;
}
.lk35-wrap .c-bright, .pop-lk35 .c-bright, .lk35-header .c-bright, .lk35-quick .c-bright {
  color: #45e170;
}
.lk35-wrap .c-blue, .pop-lk35 .c-blue, .lk35-header .c-blue, .lk35-quick .c-blue {
  color: #7cadff;
}
.lk35-wrap .c-bblue, .pop-lk35 .c-bblue, .lk35-header .c-bblue, .lk35-quick .c-bblue {
  color: #2282cc;
}
.lk35-wrap .c-orange, .pop-lk35 .c-orange, .lk35-header .c-orange, .lk35-quick .c-orange {
  color: #f6663a;
}
.lk35-wrap .c-oran2, .pop-lk35 .c-oran2, .lk35-header .c-oran2, .lk35-quick .c-oran2 {
  color: #fe7146;
}
.lk35-wrap .c-purple, .pop-lk35 .c-purple, .lk35-header .c-purple, .lk35-quick .c-purple {
  color: #835dc3;
}
.lk35-wrap .c-lime, .pop-lk35 .c-lime, .lk35-header .c-lime, .lk35-quick .c-lime {
  color: #caff6e;
}
.lk35-wrap .c-white, .pop-lk35 .c-white, .lk35-header .c-white, .lk35-quick .c-white {
  color: #fff;
}
.lk35-wrap .c-blue3, .pop-lk35 .c-blue3, .lk35-header .c-blue3, .lk35-quick .c-blue3 {
  color: #3578e7;
}

/* ── 베이스 ──────────────────────────────────────────────── */
.lk35-wrap, .lk35-header, .lk35-quick, .pop-lk35 {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  color: #111111;
  letter-spacing: -0.01em;
}
.lk35-wrap, .lk35-wrap *, .lk35-header, .lk35-header *, .lk35-quick, .lk35-quick *, .pop-lk35, .pop-lk35 * {
  box-sizing: border-box;
}
.lk35-wrap, .lk35-header, .lk35-quick, .pop-lk35 {
  /* common.css 의 * { color; font-family; letter-spacing } 가 자식 span/b/em 을 덮어
     폰트·색이 안 먹는 문제 → 모든 자식이 부모 타이포를 강제 상속하도록 리셋.
     letter-spacing 은 inherit → 각 요소 t() 가 지정한 ls 를 자식 span 들이 그대로 물려받음
     (요소 규칙 0,1,0 이 .lk35-wrap * (0,1,0) 보다 뒤에 정의 → 동률 승). */
}
.lk35-wrap *, .lk35-header *, .lk35-quick *, .pop-lk35 * {
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
  letter-spacing: inherit;
}

.lk35-wrap {
  overflow: hidden;
  background: #fff;
}
.lk35-wrap [class^=img-box] > img {
  width: 100%;
  display: block;
}
.lk35-wrap .blind {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* sec2~5 공통 콘텐츠 컨테이너 — 폭 1400 중앙, 오브젝트(데코)는 이 안에서 절대배치 */
.section-inner {
  position: relative;
  width: 100%;
  max-width: 140rem;
  margin: 0 auto;
}

/* 텍스트 크롭 리빌 구조 (JS 분해 생성, 인트로/sec5 공용): 줄 마스크 / 글자·줄 유닛 */
.tl-line {
  display: block;
  overflow: hidden;
}

.tl-line.is-open {
  overflow: visible;
} /* 리빌 완료 후 해제 — 포인트 팝(scale)이 마스크에 잘리지 않게 */
.mt-hide {
  visibility: hidden;
} /* 모션 초기 은닉 — CSS 선셋 (JS 는 재생만). 캡쳐(?cap)는 JS 에서 즉시 해제 */
.tl-ch, .tl-in {
  display: inline-block;
}

.lk35-tt-sub__35.tl-ch {
  display: inline-flex;
} /* 뱃지: tl-ch 의 inline-block 이 inline-flex 를 덮지 않게 */
/* ── 진입 모션 ───────────────────────────────────────────── */
.lk35-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);
}
.lk35-wrap .motion-fade-in {
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.lk35-wrap .motion-play {
  opacity: 1;
  transform: none;
}

@keyframes lk35bounce {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(0.8rem);
  }
}
/* 검정 별(✵✦) 트윙클: scale.8/alpha0 → 1 → 홀드 → alpha 0 + scale 1.1 (무한).
   등장 트윈 완료 후 JS 가 .is-twinkle 부착(음수 delay 로 홀드 구간부터 이어붙음). 캡쳐(?cap) 시 정지 */
@keyframes lk35twinkle {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  25% {
    opacity: 1;
    transform: scale(1);
  }
  60% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.1);
  }
}
.is-twinkle {
  animation: lk35twinkle 2.6s ease-in-out infinite;
}

/* 4색 도트 사각 궤도 순환 (16px = 도트 14 + 간격 2) */
@keyframes lk35dots {
  0% {
    transform: translate(0, 0);
  }
  25% {
    transform: translate(1.6rem, 0);
  }
  50% {
    transform: translate(1.6rem, 1.6rem);
  }
  75% {
    transform: translate(0, 1.6rem);
  }
  100% {
    transform: translate(0, 0);
  }
}
body.lk35-notwinkle .is-twinkle,
body.lk35-notwinkle .lk35-ex__dots i, body.lk35-notwinkle .pop-lk35__dots i,
body.lk35-notwinkle .lk35-fx-waves i, body.lk35-notwinkle .lk35-fx-waves2 i {
  animation: none !important;
} /* 캡쳐 플레이키 방지 */
/* ============================================================ 헤더 / 퀵 */
.lk35-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  display: flex;
  align-items: flex-start;
  padding-top: 2.5rem;
  padding-left: 2.5rem;
  transition: opacity 0.4s;
}
.lk35-header.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.lk35-header { /* scene3 진입 시 숨김 */ }
.lk35-header__ci img {
  width: 15.2rem;
}
.lk35-header__event {
  margin-left: 18.3rem;
  margin-top: 1.4rem;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2rem;
  font-weight: 500;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 1;
}
.lk35-header { /* PSD: 이벤트 라인이 로고보다 아래 (badge top 39) */ }
.lk35-header__badge {
  font-family: "EF_Rebecca", serif;
  font-size: 2.4rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-right: 1.2rem;
  border-right: 1px solid rgba(17, 17, 17, 0.3);
}

.lk35-quick {
  position: absolute;
  top: 2.8rem;
  right: 25.8rem;
  z-index: 30;
}
@media (min-width: 1920px) {
  .lk35-quick {
    right: calc(50% - 70.2rem); /* 와이드: 씬 프레임(1920 중앙)과 동일 기준 — 960-258=702 */
  }
}
.lk35-quick__btn {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  padding: 2.9rem 3.6rem;
  border: 0;
  border-radius: 9999px;
  background: #1f9740;
  font-family: "116Subakhwa", sans-serif;
  font-size: 3.5rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.01em;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.15);
  transition: transform 0.25s, background 0.25s;
}
.lk35-quick__btn:hover {
  transform: translateY(-0.3rem);
  background: #1a823a;
}
.lk35-quick { /* 283x93 (PSD btn-quick) */ }
.lk35-quick__arr {
  width: 2.3rem;
  height: 2.3rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_arrow01.webp") no-repeat center/contain;
}
.lk35-quick { /* ico_arrow01 */ }

/* ============================================================ 인트로 (3 프레임 크로스페이드) */
.lk35-sec1 {
  position: relative;
  height: 100vh;
  max-height: 115rem;
  background: #fff;
  overflow: hidden;
  /* 3씬은 같은 영역에 absolute 로 겹침. 표시는 GSAP autoAlpha(opacity+visibility) 가 제어.
     JS 초기화 전 전부 숨김(opacity 0) — 로드 직전 원본 텍스트가 번쩍 보이는 FOUC 방지 (타임라인이 인라인으로 노출) */
}
.lk35-sec1 > [data-frame] {
  /* 1920 고정폭 중앙 정렬 — 1920 초과 화면에서 좌우 요소가 가장자리로 벌어지지 않게. 블리드는 프레임에서 컷 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 192rem;
  margin-left: -96rem;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
}
.lk35-sec1 > [data-frame] > * {
  position: absolute;
  margin: 0;
}
.lk35-sec1 > [data-frame] { /* PSD 좌표 그대로 절대배치 */
  /* 스태킹: 텍스트(2) > 사진/비주얼(1) — PSD 는 타이포가 사진 위 (scene3 "하는 일" 등) */
}
.lk35-sec1 > [data-frame] .lk35-sec1__visual {
  z-index: 1;
}
.lk35-sec1 > [data-frame] .lk35-tt-main, .lk35-sec1 > [data-frame] .lk35-tt-joa, .lk35-sec1 > [data-frame] .lk35-tt-sub, .lk35-sec1 > [data-frame] .lk35-tt-subtxt, .lk35-sec1 > [data-frame] .lk35-brand,
.lk35-sec1 > [data-frame] .lk35-sec1__anniv, .lk35-sec1 > [data-frame] .lk35-goodchange {
  z-index: 2;
}
.lk35-sec1 {
  /* ── 씬 진입 모션: 전부 GSAP 타임라인 (mt-* 클래스 = 모션 타입 마커, 스타일은 JS from 트윈) ──
     mt-text(페이드업) mt-photo(마스크 회전+확대) mt-shape(보잉) mt-star(회전+스케일)
     mt-slide(x20→0) mt-lineh/linev/lined(선 드로우) mt-arc(아크 회전 리빌→곡선글자)
     그룹: .mg-c = 콘텐츠(텍스트·큰텍스트·사진) / 나머지 = 배경 데코 */
  /* mt-arc 클리핑은 sec1 overflow:hidden 이 담당 (별도 마스크 불필요) */
  /* 아웃라인 텍스트 마스크: 좌측 스트로크(-6)·하프톤 섀도우(+20,+2) 클리핑 방지 */
}
.lk35-sec1 .lk35-goodchange .tl-line, .lk35-sec1 .lk35-sec1__anniv .tl-line {
  padding: 0 2.4rem 0.6rem 0.6rem;
  margin-left: -0.6rem;
}
.lk35-sec1 {
  /* 다음 장면 버튼 (스크롤 잠금 중) */
}
.lk35-sec1 .lk35-scroll-down {
  position: absolute;
  left: 50%;
  bottom: 4rem;
  z-index: 10;
  width: 6.4rem;
  height: 6.4rem;
  border: 0;
  border-radius: 50%;
  background: rgba(17, 17, 17, 0.06);
  cursor: pointer;
  transform: translateX(-50%);
  animation: lk35bounce 1.6s ease-in-out infinite;
}
.lk35-sec1 .lk35-scroll-down span {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 auto;
  border-right: 0.3rem solid #111111;
  border-bottom: 0.3rem solid #111111;
  transform: rotate(45deg) translate(-0.3rem, -0.3rem);
}
.lk35-sec1 .lk35-scroll-down:hover {
  background: rgba(17, 17, 17, 0.12);
}
.lk35-sec1 {
  /* 심볼 (하트+선물+GIVING) — PSD 절대배치: heart(360,182) gift(513,149) sticker(594,202 → 스티커 겹침) */
}
.lk35-sec1 .lk35-sec1__symbol {
  width: 38.1rem;
  height: 15rem;
  position: relative;
}
.lk35-sec1 .lk35-sec1__symbol .img-box01, .lk35-sec1 .lk35-sec1__symbol .img-box02, .lk35-sec1 .lk35-sec1__symbol .lk35-sec1__sticker {
  position: absolute;
}
.lk35-sec1 .lk35-sec1__symbol .img-box01 {
  left: 0;
  top: 3.3rem;
  width: 12.9rem;
}
.lk35-sec1 .lk35-sec1__symbol .img-box02 {
  left: 15.8rem;
  top: 2.2rem;
  width: 11rem;
}
.lk35-sec1 .lk35-sec1__symbol { /* 에셋 트림 보정 (사용자 확정값) */ }
.lk35-sec1 .lk35-sec1__sticker {
  left: 24.7rem;
  top: 5.9rem;
  width: 13.7rem;
}
.lk35-sec1 .lk35-sec1__sticker img {
  width: 100%;
  display: block;
}
.lk35-sec1 { /* GIVING (실측 +8) */ }
.lk35-sec1 .lk35-sec1__visual {
  width: 82rem;
}
.lk35-sec1 .lk35-sec1__visual .img-box03 {
  width: 100%;
}
.lk35-sec1 .lk35-sec1__badge {
  position: absolute;
  left: 74.3rem;
  top: 28.1rem;
  width: 21.2rem;
}
.lk35-sec1 .lk35-sec1__badge img {
  width: 100%;
  display: block;
}
.lk35-sec1 { /* MEMORIES 뱃지 (실측 +15) */ }
.lk35-sec1 .lk35-sec1__anniv {
  display: flex;
  align-items: flex-end;
  gap: 2rem;
}
.lk35-sec1 .lk35-sec1__35 {
  font-family: "EF_Rebecca", serif;
  font-size: 20rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.01em;
  line-height: 1;
  padding-top: 1px;
}
.lk35-sec1 { /* lh1 상단 글리프 잘림 방지 */ }
.lk35-sec1 .lk35-sec1__anniv-txt {
  font-family: "116Subakhwa", sans-serif;
  font-size: 13rem;
  font-weight: 400;
  color: #62514a;
  letter-spacing: 0.01em;
  line-height: 1;
}

/* ── 프레임별 PSD 좌표 절대배치 (1920 아트보드) ─────────────── */
/* 좌표 = PSD(1920) 기준 r(px). 좌측 오브젝트=left, 우측=right 앵커. (fluid rem 이라 반응형) */
/* 세로 앵커 = 중앙(575) 기준 4분면: 상단권 top / 하단권 bottom(=1150-top-height) — 낮은 화면에서 잘림 방지 */
.lk35-sec1-scene1-container .lk35-sec1__symbol {
  top: 14.9rem;
  left: 36rem;
}
.lk35-sec1-scene1-container .lk35-tt-main {
  top: 33.3rem;
  left: 36rem;
}
.lk35-sec1-scene1-container {
  /* 영문+라인: 라인(789,385 → h2 기준 429,52 우측끝 886) / WHAT DO YOU(903,381 → 543,47) */
}
.lk35-sec1-scene1-container .lk35-tt-eng {
  position: absolute;
  left: 54.3rem;
  top: 4.7rem;
  margin: 0;
  white-space: nowrap;
}
.lk35-sec1-scene1-container .lk35-tt-eng .lk35-tt-eng__line {
  width: 9.7rem;
}
.lk35-sec1-scene1-container .lk35-sec1__visual {
  bottom: -5.8rem;
  left: 94.4rem;
  width: 80.5rem;
}
.lk35-sec1-scene1-container { /* 삼각형+사진 (944,189~1208) — 하단 앵커 */ }
.lk35-sec1-scene1-container .lk35-sec1__scallop {
  top: 0;
  right: 0.9rem;
  width: 44rem;
}
.lk35-sec1-scene1-container { /* 노랑 스캘럽 img04 (실측 보정 −10) */ }
.lk35-sec1-scene1-container .lk35-brand {
  bottom: 6rem;
  left: 15rem;
}
.lk35-sec1-scene1-container { /* (150,838~1090) */ }
.lk35-sec1-scene1-container .lk35-stamp {
  bottom: 27.6rem;
  left: 52.9rem;
}
.lk35-sec1-scene1-container { /* (529,735~874) */ }
.lk35-sec1-scene1-container .lk35-fx-rings--lg {
  bottom: 44.3rem;
  left: -5.2rem;
}
.lk35-sec1-scene1-container { /* 좌측 코일 (−52,564~707) */ }

.lk35-sec1-scene2-container .lk35-tt-main {
  top: 22.3rem;
  left: 36rem;
}
.lk35-sec1-scene2-container {
  /* 영문+라인: THE BEGINNING (870,247) — "그때," 글리프 기준 시각 보정 +12 */
}
.lk35-sec1-scene2-container .lk35-tt-eng {
  position: absolute;
  left: 51rem;
  top: 3.6rem;
  margin: 0;
  white-space: nowrap;
}
.lk35-sec1-scene2-container .lk35-tt-eng .lk35-tt-eng__line {
  width: 8.2rem;
}
.lk35-sec1-scene2-container .lk35-sec1__anniv {
  bottom: 4rem;
  left: 15rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}
.lk35-sec1-scene2-container { /* (150,780~) 하단 앵커 */ }
.lk35-sec1-scene2-container .lk35-sec1__visual {
  bottom: -11.6rem;
  right: 5.6rem;
  left: auto;
  width: 84.3rem;
}
.lk35-sec1-scene2-container { /* 클라우드+사진 (1021,406~1266) 하단 앵커 */ }
.lk35-sec1-scene2-container .lk35-stamp {
  bottom: 27.6rem;
  left: 52.9rem;
}
.lk35-sec1-scene2-container {
  /* scene2 데코 이미지 (PSD 좌표 / native width) */
}
.lk35-sec1-scene2-container .lk35-fx--smile {
  top: 17.7rem;
  left: 51.9rem;
  width: 12rem;
  z-index: 1;
}
.lk35-sec1-scene2-container { /* img01 노랑 스마일 — "그때," 정렬 보정 +12, 윙크 위 레이어 */ }
.lk35-sec1-scene2-container .lk35-fx--wink {
  top: 17.7rem;
  left: 62.9rem;
  width: 12rem;
}
.lk35-sec1-scene2-container { /* img02 주황 윙크 — 스마일 뒤에서 튀어나옴 */ }
.lk35-sec1-scene2-container .lk35-fx--ripple {
  bottom: 51.7rem;
  left: 5.7rem;
  width: 7.1rem;
}
.lk35-sec1-scene2-container { /* img03 초록 리플 (57,527~633) */ }
.lk35-sec1-scene2-container .lk35-fx--good {
  bottom: 21.8rem;
  right: 1.5rem;
  width: 13.7rem;
}
.lk35-sec1-scene2-container { /* img04 GOOD! 스티커 (852~932) 하단 앵커 */ }
.lk35-sec1-scene2-container .lk35-fx--cloud {
  bottom: -8.9rem;
  left: 1.9rem;
  width: 44rem;
}
.lk35-sec1-scene2-container { /* img06 하늘색 구름 (19,1059~1239) 하단 블리드 */ }
.lk35-sec1-scene2-container .lk35-fx--memgroup {
  top: -12.5rem;
  right: -5rem;
  width: 38.8rem;
}
.lk35-sec1-scene2-container { /* 노랑 아크(img07) + MEMORIES(img08) 그룹 — 우측 상단 블리드 */
  /* scene2 데코 아이콘 (PSD 좌표 / native) */
}
.lk35-sec1-scene2-container .lk35-deco--obj1 {
  bottom: 78.7rem;
  left: 155.6rem;
  width: 9rem;
  height: 9rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.lk35-sec1-scene2-container { /* ✵ 90 (273) — bottom 기준(사용자 지정) */
  /* 사진(child) 그룹 내 상위 레이어 = 클라우드 위 (PSD z-order) */
}
.lk35-sec1-scene2-container .lk35-deco--obj1s {
  bottom: 59.8rem;
  left: 137rem;
  z-index: 2;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.lk35-sec1-scene2-container { /* ✵ size1 (502) — bottom 기준 */ }
.lk35-sec1-scene2-container .lk35-deco--obj2 {
  bottom: 88.5rem;
  left: 166.1rem;
  width: 1rem;
  height: 1rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object05.webp");
}
.lk35-sec1-scene2-container { /* ◆ (255) — bottom 기준 */ }
.lk35-sec1-scene2-container .lk35-deco--obj4 {
  bottom: 30.2rem;
  left: 111.4rem;
  width: 5rem;
  height: 5rem;
  z-index: 2;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object04.webp");
}
.lk35-sec1-scene2-container { /* 해치 (734~848) 사진 위·하단 앵커 */ }
.lk35-sec1-scene2-container .lk35-deco--obj3t2 {
  bottom: 54.1rem;
  left: 151.5rem;
  width: 2.2rem;
  height: 2.4rem;
  z-index: 2;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object02.webp");
}
.lk35-sec1-scene2-container { /* ✦ 사진 위·하단 앵커 */ }
.lk35-sec1-scene2-container .lk35-deco--obj3x {
  top: 60.2rem;
  left: 95.3rem;
  width: 4.4rem;
  height: 4.6rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object03_type02.webp");
}
.lk35-sec1-scene2-container { /* ✸ 핑크 클라우드 뒤 — top 기준(사용자 지정) */ }
.lk35-sec1-scene2-container .lk35-fx--good {
  z-index: 2;
}
.lk35-sec1-scene2-container { /* GOOD! 스티커 — 사진 위 (PSD child 최상단) */ }
.lk35-sec1-scene2-container .lk35-fx-rings {
  top: 8.8rem;
  left: 118.3rem;
}
.lk35-sec1-scene2-container { /* object08 4겹 타원 링 그룹 */ }
.lk35-sec1-scene2-container .lk35-fx-waves {
  top: 38.1rem;
  right: -1.2rem;
}
.lk35-sec1-scene2-container { /* object07 2줄 웨이브 그룹 */ }
.lk35-sec1-scene2-container .lk35-deco--s2h {
  bottom: 27.8rem;
  left: 73.5rem;
  width: 2.2rem;
  height: 2.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object02.webp");
}
.lk35-sec1-scene2-container { /* ✦ 스탬프 우하단 (733,848) */ }

.lk35-sec1-scene3-container .lk35-tt-joa {
  top: 38rem;
  left: 25.7rem;
}
.lk35-sec1-scene3-container { /* 좋아서=선(548)과 여유, 하는 일=선 가까이 (사용자 확정값) */ }
.lk35-sec1-scene3-container .lk35-tt-sub {
  top: 36.6rem;
  left: 129.6rem;
  text-align: left;
  z-index: 3;
}
.lk35-sec1-scene3-container { /* 2줄 좌측정렬 블록 (사용자 확정값) — 뱃지가 대각선 끝(z2)을 덮음 */ }
.lk35-sec1-scene3-container .lk35-tt-subtxt {
  bottom: 19.5rem;
  left: 71rem;
  text-align: center;
}
.lk35-sec1-scene3-container { /* (859~955) 하단 앵커 */ }
.lk35-sec1-scene3-container .lk35-sec1__visual {
  top: 8.9rem;
  left: 66.9rem;
  width: 58rem;
}
.lk35-sec1-scene3-container { /* scene3 img01 (669,89) */ }
.lk35-sec1-scene3-container .lk35-goodchange--good {
  top: 6rem;
  left: 3rem;
}
.lk35-sec1-scene3-container { /* GOOD 좌상단 */ }
.lk35-sec1-scene3-container .lk35-goodchange--change {
  bottom: 3.1rem;
  left: 135rem;
}
.lk35-sec1-scene3-container { /* CHANGE 우하단 (979~1119) 하단 앵커 */ }
.lk35-sec1-scene3-container .lk35-stamp {
  bottom: 2rem;
  left: 89rem;
}
.lk35-sec1-scene3-container { /* (991~1130) 하단 앵커 */
  /* 타이틀 가로 라인 2개 (29,549)/(1298,549) — 좋아서/하는 일 줄 사이 정중앙, 두께 1px 고정(rem 제외) */
}
.lk35-sec1-scene3-container .lk35-tt-line {
  position: absolute;
  top: 54.8rem;
  width: 59.3rem;
  height: 1px;
  background: #111111;
  z-index: 2;
}
.lk35-sec1-scene3-container .lk35-tt-line--l {
  left: 2.9rem;
}
.lk35-sec1-scene3-container .lk35-tt-line--r {
  left: 129.8rem;
}
.lk35-sec1-scene3-container {
  /* 연결 그래픽(별→대각선→뱃지, 세로선)은 전부 top 앵커로 통일 — 화면 높이와 무관하게 접점 유지 */
  /* 대각선 = PSD shape 재추출 이미지 (961,481) 338x203 — 별 중심→뱃지 좌측(1299,481) */
}
.lk35-sec1-scene3-container .lk35-deco--diag {
  top: 48.1rem;
  left: 96.1rem;
  width: 33.8rem;
  height: 20.3rem;
  z-index: 2;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object09.webp");
}
.lk35-sec1-scene3-container {
  /* 세로선: 위=별(708) 고정 + 아래=subtxt 위(subtxt bottom 195 + 2줄 96 + 여백 18)까지 —
     height 고정 대신 top/bottom 앵커라 낮은 화면에서도 텍스트를 안 뚫음 */
}
.lk35-sec1-scene3-container .lk35-vline {
  position: absolute;
  top: 70.8rem;
  left: 95.9rem;
  width: 0.3rem;
  bottom: 30.9rem;
  height: auto;
  background: #111111;
  z-index: 2;
}
.lk35-sec1-scene3-container .lk35-deco--star {
  top: 67.2rem;
  left: 94.9rem;
  width: 2.2rem;
  height: 2.4rem;
  z-index: 2;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object02.webp");
}
.lk35-sec1-scene3-container { /* ✦ (947,671) */
  /* scene3 초록 아크 + THE STORY 곡선텍스트 그룹 (좌하단) */
}
.lk35-sec1-scene3-container .lk35-arcgrp--sc3l {
  bottom: -9.5rem;
  left: -2rem;
  width: 38.8rem;
}
.lk35-sec1-scene3-container { /* (873~1245) 하단 앵커 */
  /* scene3 데코 아이콘 (PSD 좌표) */
}
.lk35-sec1-scene3-container .lk35-deco--obj1 {
  top: 6.8rem;
  left: 125.6rem;
  width: 9rem;
  height: 9rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.lk35-sec1-scene3-container .lk35-deco--obj1s {
  bottom: 33rem;
  left: 31.5rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.lk35-sec1-scene3-container { /* (770~820) 하단 앵커 */ }
.lk35-sec1-scene3-container .lk35-deco--obj5 {
  top: 5rem;
  left: 136.1rem;
  width: 1rem;
  height: 1rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object05.webp");
}
.lk35-sec1-scene3-container { /* ◆ 센터 */ }
.lk35-sec1-scene3-container .lk35-deco--obj3t2 {
  top: 21.5rem;
  left: 49.5rem;
  width: 4.4rem;
  height: 4.6rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object03_type02.webp");
}
.lk35-sec1-scene3-container { /* ✸ 핑크 */ }
.lk35-sec1-scene3-container .lk35-fx-rings {
  bottom: 32.4rem;
  left: 154rem;
}
.lk35-sec1-scene3-container { /* object08 4겹 링 (683~826) 하단 앵커 */ }
.lk35-sec1-scene3-container .lk35-fx-waves2 {
  top: 15.3rem;
  left: 170.6rem;
}
.lk35-sec1-scene3-container { /* object07_type02 2줄 웨이브 */ }

/* scene 데코 이미지 공통 (프레임 직속 → > * 로 position:absolute 이지만 명시) */
.lk35-fx {
  position: absolute;
}

/* 타이틀 밑줄 라인 (em 내부 실요소 — GSAP scaleX 드로우 대상) */
.lk35-tt-eng__line {
  position: absolute;
  right: 100%;
  margin-right: 1.7rem;
  top: 50%;
  transform: translateY(-50%);
  height: 0.2rem;
  background: #111111;
}

/* 아크 + 곡선텍스트 묶음 그룹 (아크 bg + 텍스트 오버레이) */
.lk35-fx--memgroup img, .lk35-arcgrp img {
  display: block;
  width: 100%;
}

.lk35-fx--memgroup img + img, .lk35-arcgrp img + img {
  position: absolute;
  top: 0;
  left: 0;
} /* 곡선텍스트를 아크 위 오버레이 */
.lk35-arcgrp {
  position: absolute;
}

/* 아이콘 반복 그룹 — object08 4겹 타원 링 / object07 2줄 웨이브 (캡쳐대로 엮음) */
.lk35-fx-rings, .lk35-fx-waves {
  position: absolute;
}

/* 웨이브 좌우 가장자리 페이드 — 흐르는 패턴이 양옆에서 뚝 끊기지 않게 (마스크 = 섹션 bg 로 자연 소멸) */
.lk35-fx-waves, .lk35-fx-waves2 {
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3.6rem, #000 calc(100% - 3.6rem), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 3.6rem, #000 calc(100% - 3.6rem), transparent 100%);
}

.lk35-fx-rings i {
  display: block;
  width: 8.9rem;
  height: 3.5rem;
  margin-top: -1.4rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_object08.webp") center/contain no-repeat;
}
.lk35-fx-rings i:first-child {
  margin-top: 0;
}

.lk35-fx-rings--lg i {
  width: 13.3rem;
  height: 5.3rem;
  margin-top: -2.3rem;
} /* scene1 좌측 대형 코일 (133x53, step 30) */
/* 웨이브: bg-position-x 가 타일 폭만큼 흘러 무한 루프 (repeat-x). 타일 75 = 파형 1주기 에셋(자기상관 추출 — 이음새 완전 연속) — keyframes 값과 반드시 동일 */
@keyframes lk35waveflow {
  from {
    background-position-x: 0;
  }
  to {
    background-position-x: 7.5rem;
  }
}
.lk35-fx-waves i {
  display: block;
  width: 15.8rem;
  height: 2.4rem;
  margin-top: 0.6rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_object07.webp") repeat-x center;
  background-size: 7.5rem 2.4rem;
  animation: lk35waveflow 6s linear infinite;
}
.lk35-fx-waves i:first-child {
  margin-top: 0;
}

.lk35-fx-waves2 {
  position: absolute;
}

.lk35-fx-waves2 i {
  display: block;
  width: 15.8rem;
  height: 2.4rem;
  margin-top: 0.6rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_object07_type02.webp") repeat-x center;
  background-size: 7.5rem 2.4rem;
  animation: lk35waveflow 6s linear infinite;
}
.lk35-fx-waves2 i:first-child {
  margin-top: 0;
}

.lk35-copyright {
  font-family: "Noto Sans KR", sans-serif;
  font-size: 1.4rem;
  font-weight: 300;
  color: #111111;
  letter-spacing: 0em;
  line-height: 1;
  position: absolute;
}

.lk35-stamp {
  position: absolute;
  width: 13.9rem;
}
.lk35-stamp img {
  width: 100%;
  display: block;
}

.lk35-stamp__star {
  position: absolute;
  left: calc(50% + 3rem);
  top: calc(50% - 3.3rem);
  transform: translate(-50%, -50%);
  width: 10.7rem;
  height: 10.8rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_object06.webp") no-repeat center/contain;
} /* object06 107x108 — 링 중심 대비 (+30,-33) 오프셋 (PSD) */
.lk35-stamp__arrow {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 3.6rem;
  height: 4.2rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_arrow02.webp") no-repeat center/contain;
} /* scene3 스탬프 중앙 = 아래 화살표 */
.lk35-stamp--next {
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
} /* scene3 스탬프 = 다음 장면(스크롤 해제) 트리거 */
/* 타이틀 공통 */
.lk35-tt-main {
  font-family: "116Subakhwa", sans-serif;
  font-size: 7.5rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: 0.01em;
  line-height: 9rem;
  margin-top: 2.4rem;
}

.lk35-tt-eng {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 1.3rem;
  font-weight: 200;
  color: #111111;
  letter-spacing: 0.01em;
  line-height: 1;
  font-style: normal;
} /* em 기본 italic 해제 (PSD 기울임 아님). 위치는 scene별 절대배치 */
.lk35-brand {
  font-family: "116Subakhwa", sans-serif;
  font-size: 14.3rem;
  font-weight: 400;
  color: #62514a;
  letter-spacing: 0em;
  line-height: 12.6rem;
  margin-top: 4rem; /* 150→143·lh126·ls0: 수박화체 렌더 실측 보정 (PSD 줄간 126) */
}
.lk35-brand__d {
  display: inline-block;
  width: 8.7rem;
  vertical-align: -0.06em;
} /* D 이미지 87x114 (실측 보정) */
/* 공통 텍스트 효과 (scene2 ANNIVERSARY 35 · scene3 GOOD/CHANGE 공통) —
   흰색 채움 + 검정 외곽선 + 우측 오프셋 하프톤(점) 그림자.
   대상 요소/span 에 class="lk35-outline" data-t="같은텍스트". 폰트는 대상에서 지정.
   z-index:0 로 스택 컨텍스트 생성 → ::before(-1) 점 그림자가 섹션 배경 뒤로 안 숨고 글자 뒤에 렌더. */
.lk35-outline {
  position: relative;
  z-index: 0;
  display: inline-block;
  color: #fff;
  -webkit-text-stroke: 1px #333; /* PSD Stroke 1px #333333 (1px = rem 스케일 제외) */
}
.lk35-outline::before {
  content: attr(data-t);
  position: absolute;
  left: 2rem;
  top: 0.2rem;
  z-index: -1; /* 그림자 offset x20 y2 (PSD) */
  -webkit-text-stroke: 0;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: radial-gradient(circle, #8c8c8c 38%, transparent 42%) 0 0; /* 점 #8c8c8c */
  background-size: 0.4rem 0.4rem; /* 점 간격 — 2px 는 브라우저에서 서브픽셀로 안 보여 4px 로(점2/간격2) */
  -webkit-background-clip: text;
  background-clip: text;
}

.lk35-goodchange {
  font-family: "116Subakhwa", sans-serif;
  font-size: 14.3rem;
  line-height: 14rem;
  letter-spacing: -0.01em;
  margin-top: 4rem;
} /* 150→143 + 자간: 수박화체 렌더 실측 보정 (PSD bbox 521) */
/* 프레임3 */
.lk35-tt-joa {
  font-family: "116Subakhwa", sans-serif;
  font-size: 15.3rem;
  font-weight: 400;
  color: #4d3a33;
  letter-spacing: 0.01em;
  line-height: 16.3rem;
  /* 160→153 렌더 보정 · 줄간 163 (PSD) */
}
.lk35-tt-joa__a {
  color: #f8b328;
}
.lk35-tt-joa__b {
  color: #fe7146;
}
.lk35-tt-joa__c {
  color: #25a749;
}
.lk35-tt-joa__d {
  color: #4d3a33;
  margin-left: 26.8rem;
} /* "하는 일" 들여쓰기 (525-257) */
.lk35-tt-sub {
  font-family: "116Subakhwa", sans-serif;
  font-size: 5.7rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: 0.01em;
  line-height: 1;
  margin-top: 2.4rem;
}
.lk35-tt-sub .tl-ch {
  vertical-align: middle;
}
.lk35-tt-sub { /* 뱃지(90)와 글자 세로 중앙 정렬 */ }
.lk35-tt-sub__35 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: #fcbb39;
  font-family: "EF_Rebecca", serif;
  font-size: 3.5rem;
  vertical-align: middle;
  margin: 0.5rem 0.9rem 0 0;
}
.lk35-tt-sub { /* 35 원형 배지 90 (PSD bbox 93 은 스트로크 포함) */ }

.lk35-tt-subtxt {
  font-family: "EF_Rebecca", serif;
  font-size: 2.8rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: 0.01em;
  line-height: 4.8rem;
  margin-top: 2.4rem;
}

/* ============================================================ 섹션 공통 제목 */
.lk35-sec-tt {
  font-family: "116Subakhwa", sans-serif;
  font-size: 7.5rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: 0.01em;
  line-height: 9.5rem;
  text-align: center;
}

/* ============================================================ 참여 */
.lk35-sec2 {
  background: #effbff;
  padding: 15.3rem 4rem 15.9rem;
  text-align: center;
  overflow: hidden;
}
.lk35-sec2 .lk35-sec-tt {
  line-height: 9.5rem;
} /* sec2 타이틀 lh 95 (PSD) */
.lk35-tab {
  display: flex;
  justify-content: center;
  gap: 9.9rem;
  margin-top: 6.8rem;
}
.lk35-tab__btn {
  display: inline-flex;
  align-items: center;
  gap: 2.1rem;
  border: 0;
  background: none;
  cursor: pointer;
  font-family: "EF_Rebecca", serif;
  font-size: 3.2rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 1;
}
.lk35-tab {
  /* 체크: 기본 = 회색 원 + 흰 체크 / 활성 = 한 줄 초록 · 한 컷 파랑 (PSD) */
}
.lk35-tab__check {
  width: 6.3rem;
  height: 6.3rem;
  border-radius: 50%;
  background: #cdd1d9;
  position: relative;
  transition: background 0.25s;
}
.is-active .lk35-tab__check {
  background: #25a749;
}
[data-type=photo].is-active .lk35-tab__check {
  background: #3578e7;
}
.lk35-tab__check::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2.9rem;
  height: 2.5rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_check01.webp") center/contain no-repeat; /* 체크 = ico_check01 (흰색) */
  transform: translate(-50%, -50%);
}

.lk35-panel {
  display: none;
  max-width: 122.2rem;
  margin: 5.8rem auto 0;
}
.lk35-panel.is-active {
  display: block;
}
.lk35-panel__cols {
  display: flex;
  gap: 1.6rem;
}

.lk35-notice {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2rem;
  font-weight: 200;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 1;
  margin-top: 2.8rem;
  text-align: center;
}

.lk35-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  width: 58.2rem;
  height: 11.3rem;
  margin-top: 6rem;
  border: 0;
  border-radius: 5.6rem;
  background: #fbbb39;
  font-family: "EF_Rebecca", serif;
  font-size: 4rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1;
  cursor: pointer;
  transition: 0.25s; /* 활성 = 골드, "내 나눔의 한 줄" 흰색 */
}
.lk35-submit__last {
  color: #111111;
}
.lk35-submit { /* "남기기" = 검정 (골드 위) */ }
.lk35-submit.is-disabled {
  background: #b8bcc3;
  pointer-events: none; /* 비활성 = 회색, 전체 흰색 */
}
.lk35-submit.is-disabled .lk35-submit__last {
  color: #fff;
}
.lk35-submit {
  /* i 전역 shorthand 가 __pencil/__cam 의 background-image 를 리셋하던 문제 → 아이콘별 완전 지정 */
}
.lk35-submit__pencil {
  width: 3.9rem;
  height: 4rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_pencil.webp") center/contain no-repeat;
}
.lk35-submit__cam {
  width: 4.1rem;
  height: 4.4rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_camera_type02.webp") center/contain no-repeat;
}

/* 예시 박스 (공통) — 배경 = 이미지(초록/파랑 격자+세로영문+곡선띠 baked). 내부는 PSD 좌표 절대배치 */
.lk35-ex {
  position: relative;
  flex: 0 0 60.3rem;
  height: 58.3rem;
  border-radius: 2.4rem;
  text-align: left;
  overflow: hidden;
  /* 에셋(630x610)에 그림자 여백 포함 → 색영역(8,10)이 박스 원점에 오도록 네이티브 사이즈+오프셋 */
  background: no-repeat -0.8rem -1rem;
  background-size: 63rem 61rem;
}
.lk35-ex--letter {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/sec2_img03.webp");
}
.lk35-ex { /* 초록 박스 (A MESSAGE OF MY GIVING baked) */ }
.lk35-ex--photo {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/sec2_img08.webp");
}
.lk35-ex { /* 파랑 박스 (A SNAPSHOT OF MY GIVING baked) */
  /* 다크 헤더 pill (368,1699 → 19,19) 563x94 + ▼ 꼬리 (642,1789 → pill left+274) */
}
.lk35-ex__tit {
  position: absolute;
  left: 1.9rem;
  top: 1.9rem;
  width: 56.3rem;
  height: 9.4rem;
  background: #111111;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  padding-left: 3.6rem;
  margin: 0;
  font-family: "EF_Rebecca", serif;
  font-size: 3.5rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1;
}
.lk35-ex__tit::after {
  content: "";
  position: absolute;
  left: 27.4rem;
  top: 100%;
  margin-top: -0.4rem;
  border-left: 0.9rem solid transparent;
  border-right: 0.9rem solid transparent;
  border-top: 1.4rem solid #111111;
}
.lk35-ex__tit-txt {
  margin-left: 1.4rem;
}
.lk35-ex {
  /* 4색 도트 아이콘 (404,1730 → pill 내 좌측) — ico_circle01~04 (노/핑/초/파)
     도트들이 사각 궤도로 뱅글뱅글 순환 (phase = -25% 씩) */
}
.lk35-ex__dots {
  position: relative;
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
}
.lk35-ex__dots i {
  position: absolute;
  left: 0;
  top: 0;
  width: 1.4rem;
  height: 1.4rem;
  background: center/contain no-repeat;
  animation: lk35dots 3.2s ease-in-out infinite;
}
.lk35-ex__dots i:nth-child(1) {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle01.webp");
}
.lk35-ex__dots i:nth-child(2) {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle02.webp");
  animation-delay: -0.8s;
}
.lk35-ex__dots i:nth-child(4) {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle04.webp");
  animation-delay: -1.6s;
}
.lk35-ex__dots i:nth-child(3) {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle03.webp");
  animation-delay: -2.4s;
}
.lk35-ex {
  /* 핑크 윙크 스티커 (389,1811 → 41,132) */
}
.lk35-ex__wink {
  position: absolute;
  left: 4.1rem;
  top: 13.2rem;
  width: 7rem;
}
.lk35-ex {
  /* 흰 말풍선 = PSD 추출 이미지 bg (sec2_img09, 꼬리 포함. 원점 454,1811 → 105,131) */
}
.lk35-ex__talk {
  position: absolute;
  left: 10.5rem;
  top: 13.1rem;
  width: 45.7rem;
  height: 35.2rem;
  padding: 3.1rem 0 0 5.6rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/sec2_img09.webp") center/contain no-repeat;
}
.lk35-ex__talk p {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 5.8rem;
}
.lk35-ex {
  /* 하트 말풍선: 배경 = 말풍선만(sec2_img10, 하트 제외 재추출) + 하트 3개는 개별 <i> (순차 깜빡 모션용) */
}
.lk35-ex__hearts {
  position: absolute;
  left: 10.5rem;
  top: 49.6rem;
  width: 11.7rem;
  height: 6.2rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/sec2_img10.webp") center/contain no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  padding-left: 1.5rem; /* 버블 본체 기준 중앙 (좌측 꼬리 오프셋 보정) */
}
.lk35-ex__hearts i {
  display: block;
  width: 1.8rem;
  height: 1.6rem;
  background: center/contain no-repeat;
}
.lk35-ex__hearts i:nth-child(1) {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_heart01.webp");
}
.lk35-ex__hearts i:nth-child(2) {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_heart02.webp");
}
.lk35-ex__hearts i:nth-child(3) {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_heart03.webp");
}
.lk35-ex {
  /* [한 컷] 폴라로이드 카드 슬라이더 (458,1811 → 109,131) 383x423 */
}
.lk35-ex__card {
  width: 38.3rem;
  height: 42.3rem;
  background: #fff;
  border-radius: 1.6rem;
  position: relative;
}
.lk35-ex__card .img-box01 {
  position: absolute;
  left: 2.1rem;
  top: 1.4rem;
  width: 34.2rem;
  height: 34.3rem;
  border-radius: 1.2rem;
  overflow: hidden;
}
.lk35-ex__card .img-box01 img {
  height: 100%;
  object-fit: cover;
}
.lk35-ex__label {
  position: absolute;
  left: 0;
  top: 37rem;
  width: 100%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 1;
}
.lk35-ex {
  /* 주황 꽃 스티커 (375,1837 → 35,166 센터보정) — 카드 좌상단 겹침 */
}
.lk35-ex__flower {
  position: absolute;
  left: 3.5rem;
  top: 16.6rem;
  width: 9.1rem;
  z-index: 3;
}
.lk35-ex {
  /* 좌우 화살표 (379/863,1969 → 30/우30, 289) — ico_arrow03 chevron */
}
.lk35-ex__arr {
  position: absolute;
  top: 28.9rem;
  width: 5.7rem;
  height: 5.8rem;
  border-radius: 50%;
  border: 0;
  background: #fff;
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.12);
  font-size: 0;
  cursor: pointer;
  z-index: 2;
}
.lk35-ex__arr::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1.3rem;
  height: 2.2rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_arrow03.webp") center/contain no-repeat;
}
.lk35-ex__arr--prev {
  left: 3rem;
}
.lk35-ex__arr--prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.lk35-ex__arr--next {
  right: 3rem;
}

.swiper-lk35-ex {
  position: absolute;
  left: 10.9rem;
  top: 13.1rem;
  width: 38.3rem;
  overflow: hidden;
}

/* 입력창 — 한 줄 = 초록 보더 / 한 컷 = 파랑 보더 (PSD) */
.lk35-write {
  position: relative;
  flex: 1;
  min-height: 58.3rem;
  background: #fff;
  border: 0.2rem solid #25a749;
  border-radius: 2.4rem;
  padding: 5rem 4rem 4rem 5.1rem;
  text-align: left;
}
.lk35-write--photo {
  border-color: #3578e7;
  padding-right: 4.9rem;
}
.lk35-write__count {
  position: absolute;
  right: 4rem;
  top: 5rem;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.8rem;
  font-weight: 200;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 1;
}
.lk35-write__count b {
  font-weight: 700;
  color: #1f9740;
}
.lk35-write__pencil {
  display: inline-block;
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  margin-left: 1rem;
  vertical-align: middle;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_pencil.webp") center/contain no-repeat;
}
.lk35-write__pencil::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.3rem;
  border-bottom: 1px solid #000;
}
.lk35-write { /* type1: 연필 밑 3px 밑줄 */ }
.lk35-write__input {
  width: 100%;
  height: 36rem;
  margin-top: 7.2rem;
  border: 0;
  background: none;
  resize: none;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 5rem;
}
.lk35-write__input::placeholder {
  color: #b8bcc3;
  font-weight: 200;
}
.lk35-write__input:focus {
  outline: 0;
}

.lk35-photo {
  /* 하늘색 카메라 (1226,1763 → 중앙, 박스 top+83) — ico_camera 87x72 */
}
.lk35-photo__bigcam {
  display: block;
  width: 8.7rem;
  height: 7.2rem;
  margin: 3.3rem auto 0;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_camera.webp") center/contain no-repeat;
}
.lk35-photo__upload {
  margin-top: 1.7rem;
  text-align: center;
}
.lk35-photo__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 23.3rem;
  height: 7.3rem;
  border: 0.2rem solid #3578e7;
  border-radius: 1rem;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 1;
  cursor: pointer;
  background: #e8efff;
}
.lk35-photo { /* PSD: 채움 #e8efff + 보더 blue3 (MO 동일) */ }
.lk35-photo__title {
  margin-top: 5.7rem;
}
.lk35-photo__title-input {
  width: 100%;
  height: 7.3rem;
  padding: 0 2rem;
  border: 1px solid #c4c4c4;
  border-radius: 0.4rem;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3rem;
  font-weight: 200;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 1;
  background: #fff;
}
.lk35-photo__title-input::placeholder {
  color: #b8bcc3;
}
.lk35-photo__title-input:focus {
  outline: 0;
}
.lk35-photo__caution {
  margin-top: 5.2rem;
}
.lk35-photo__caution li {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2rem;
  font-weight: 200;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 3.5rem;
}

/* ============================================================ 나눔기록 */
.lk35-sec3 {
  position: relative;
  padding: 13.2rem 4rem 16rem;
  background: #dcfbf3;
  text-align: center;
  overflow: hidden;
}
.lk35-sec3 .lk35-arcgrp--s3r {
  top: 159.2rem;
  right: -28rem;
  width: 38.8rem;
  z-index: 0;
}
.lk35-sec3 { /* sec3 파란 아크 — 우하단 블리드 (1552,4363). PSD bg 그룹 = 카드 뒤 */ }
.lk35-sec3 .lk35-sec3__list, .lk35-sec3 .lk35-paging {
  position: relative;
  z-index: 1;
}
.lk35-sec3 { /* 카드/페이징이 아크 위 */
  /* sec3 데코 아이콘 (section-inner 기준, PSD 원좌표-2639-132) */
}
.lk35-sec3 .lk35-deco--obj4 {
  top: 14.7rem;
  left: -11.2rem;
  width: 5rem;
  height: 5rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object04.webp");
}
.lk35-sec3 { /* 해치 (148,2918) */ }
.lk35-sec3 .lk35-deco--obj1 {
  top: 5.2rem;
  right: -8.1rem;
  width: 9rem;
  height: 9rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.lk35-sec3 { /* ✵ (1651,2823) */ }
.lk35-sec3 .lk35-deco--obj5 {
  top: 3.4rem;
  right: -10.7rem;
  width: 1rem;
  height: 1rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object05.webp");
}
.lk35-sec3 { /* ◆ (1755,2803) 센터 */ }
.lk35-sec3 .lk35-fx-waves--s3r {
  top: 69.7rem;
  right: -27rem;
}
.lk35-sec3 { /* 흰 웨이브 우측 (1772,3468) */ }
.lk35-sec3 .lk35-fx-waves--s3l {
  top: 115.4rem;
  left: -27.2rem;
}
.lk35-sec3 { /* 흰 웨이브 좌측 (-12,3925) */
  /* sec3 웨이브 = 흰색 (object07 리컬러 158x24 — 모양 동일) */
}
.lk35-sec3 .lk35-fx-waves--s3r i, .lk35-sec3 .lk35-fx-waves--s3l i {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object07_type03.webp");
}
.lk35-sec3__tt {
  font-family: "116Subakhwa", sans-serif;
  font-size: 7rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: 0.01em;
  line-height: 9rem;
}
.lk35-sec3__tt .lk35-sec3__35 {
  display: inline-block;
  width: 14rem;
  vertical-align: middle;
  margin: 0 0.4rem;
}
.lk35-sec3 { /* sec3_img02 (오렌지 타원+35) 이미지 배지 */ }
.lk35-sec3__list {
  display: grid;
  grid-template-columns: repeat(3, 38.3rem);
  gap: 3.7rem 4.8rem;
  justify-content: center;
  margin-top: 8.3rem;
}

/* 카드 = 흰 카드(383x423~424) + 내부 340 패널(텍스트=연하늘 프레임 / 사진) 인셋(21,15) + 이름 영역(하단) 구분 */
.lk35-card {
  position: relative;
  width: 38.3rem;
  height: 42.3rem;
  border-radius: 0.5rem;
  background: #fff;
  text-align: left;
  overflow: hidden; /* radius 5 (확정) */
  box-shadow: 0 0.4rem 1.4rem rgba(17, 17, 17, 0.05);
}
.lk35-card__name {
  position: absolute;
  left: 0;
  bottom: 2.3rem;
  width: 100%;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 1;
}
.lk35-card__ico {
  position: absolute;
  right: 2.1rem;
  bottom: 2rem;
  background: center/contain no-repeat;
}
.lk35-card--text {
  background: #fff url("https://cdn.gni.kr/assets/images/35letter/sec3_img01.webp") no-repeat center 1.5rem;
  background-size: 34.2rem 34.3rem; /* 연하늘 점선 프레임 패널 */
  /* 텍스트 = 패널 영역(21,15,342x343) 안 가로/세로 중앙 (줄 수와 무관, 이름 영역과 분리) */
}
.lk35-card--text .lk35-card__txt {
  position: absolute;
  left: 2.1rem;
  top: 1.5rem;
  width: 34.2rem;
  height: 34.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 5.2rem;
}
.lk35-card--text .lk35-card__ico {
  width: 2.5rem;
  height: 2.9rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_pencil_type02.webp");
}
.lk35-card--photo .img-box01 {
  position: absolute;
  left: 1.9rem;
  top: 1.5rem;
  width: 34.4rem;
  height: 34.3rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
.lk35-card--photo .img-box01 img {
  height: 100%;
  object-fit: cover;
}
.lk35-card--photo .lk35-card__ico {
  width: 3.3rem;
  height: 3.6rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_camera_type03.webp");
}

.lk35-paging {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.7rem;
  margin-top: 6.6rem;
}
.lk35-paging__nums {
  display: inline-flex;
  gap: 2.2rem;
}
.lk35-paging__num {
  border: 0;
  background: none;
  padding: 0 0.4rem;
  cursor: pointer;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.4rem;
  font-weight: 300;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 1;
}
.lk35-paging__num.is-active {
  font-weight: 700;
}
.lk35-paging__arr {
  position: relative;
  width: 5.7rem;
  height: 5.8rem;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.08);
  font-size: 0;
  cursor: pointer;
}
.lk35-paging__arr::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1.3rem;
  height: 2.2rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_arrow03.webp") center/contain no-repeat;
}
.lk35-paging__arr--prev::after {
  transform: translate(-50%, -50%) rotate(180deg);
}

/* ============================================================ 리워드 */
.lk35-sec4 {
  position: relative;
  overflow: hidden;
  padding: 16.5rem 4rem 16.9rem;
  text-align: center;
  background: #fff;
}
.lk35-sec4 .lk35-sec4__ell {
  position: absolute;
  top: 26.7rem;
  left: -17rem;
  width: 13.6rem;
}
.lk35-sec4 { /* sec4_img01 LUCKY 스티커 (85,5085) 좌측 블리드 */
  /* sec4 데코 아이콘 (section-inner 기준, PSD 원좌표-4659-165) */
}
.lk35-sec4 .lk35-deco--obj1s {
  top: 34.3rem;
  left: 10.5rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.lk35-sec4 { /* ✵ (364,5166) size1 */ }
.lk35-sec4 .lk35-deco--obj3t3 {
  top: 31.9rem;
  right: 10.9rem;
  width: 4.4rem;
  height: 4.6rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object03_type03.webp");
}
.lk35-sec4 { /* ✸ 파랑 (1507,5142) */ }
.lk35-sec4 .lk35-deco--obj2a {
  top: 50rem;
  left: 9.4rem;
  width: 2.2rem;
  height: 2.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object02.webp");
}
.lk35-sec4 { /* ✦ (352,5322) */ }
.lk35-sec4 .lk35-deco--obj2b {
  top: 43.5rem;
  right: 17.5rem;
  width: 2.2rem;
  height: 2.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object02.webp");
}
.lk35-sec4 { /* ✦ (1461,5258) */ }
.lk35-sec4 .lk35-deco--c1 {
  top: 49.5rem;
  right: 7.3rem;
  width: 1.4rem;
  height: 1.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle01.webp");
}
.lk35-sec4 { /* 노랑 dot (1573,5319) */ }
.lk35-sec4 .lk35-deco--c2 {
  top: 43.4rem;
  left: 17.7rem;
  width: 1.4rem;
  height: 1.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle02.webp");
}
.lk35-sec4 { /* 핑크 dot (437,5258) */ }
.lk35-sec4__giftbox {
  position: absolute;
  left: -27rem;
  top: 68.5rem;
  width: 17.5rem;
}
.lk35-sec4 { /* sec4_img02 노랑 기프트박스 (-12,5476) 좌측 블리드 */ }
.lk35-sec4__tri {
  position: absolute;
  right: -21.6rem;
  top: 73rem;
  width: 27.4rem;
}
.lk35-sec4 { /* sec4_img08 하늘색 삼각형 (1598,5545) 우측 블리드 */ }
.lk35-sec4__eyebrow {
  font-family: "EF_Rebecca", serif;
  font-size: 3rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 1;
}
.lk35-sec4__eyebrow .lk35-sec4__35 {
  color: #f8b328;
  font-size: 3.5rem;
}
.lk35-sec4__div {
  display: block;
  width: 0.3rem;
  height: 4.2rem;
  margin: 2.1rem auto 0;
  background: #111111;
}
.lk35-sec4 { /* 아이브로우-타이틀 세로 구분선 (959,4874) */ }
.lk35-sec4 .lk35-sec-tt {
  font-family: "116Subakhwa", sans-serif;
  font-size: 7rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: 0.01em;
  line-height: 9rem;
  margin-top: 0.2rem;
}
.lk35-sec4__gifts {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 5.7rem;
  margin-top: 13.4rem;
}
.lk35-sec4__info {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2.5rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 5rem;
  margin-top: 10.2rem;
}
.lk35-sec4__info b {
  font-weight: 700;
}
.lk35-sec4__info .lk35-sec4__mk {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  color: #2ab651;
  letter-spacing: -0.01em;
  line-height: 5rem;
  vertical-align: 0.3rem;
}
.lk35-sec4__info .lk35-sec4__mk--o {
  color: #fe7146;
}
.lk35-sec4__info .lk35-sec4__mk--y {
  color: #fcbb39;
  margin-left: 4rem;
}
.lk35-sec4 { /* ◆ 13px — 본문 25px 세로 중심 정렬 보정 */ }

/* 리워드 = 반원 아치(450x225) + 곡선 라벨 오버레이 + 제품(앞으로 삐져나옴)
   회전 리빌 클리핑은 __clip 래퍼(아치/라벨만) — 제품은 클립 영향 없음
   라벨(0709 갱신 매트/텀블러)은 돔 위 아치형 — 캔버스 497 폭·돔 베이스 중심축 정렬(회전 origin 유지), 클립 상/좌/우 확장 */
.lk35-gift {
  position: relative;
  width: 45rem;
  height: 22.5rem;
}
.lk35-gift__clip {
  position: absolute;
  inset: -3.5rem -3rem 0 -3rem;
  overflow: hidden;
}
.lk35-gift__arch {
  position: absolute;
  left: 3rem;
  bottom: 0;
  width: 45rem;
  z-index: 0;
}
.lk35-gift { /* img04 초록 / img06 주황 반원 — 클립 좌측 확장분 +30 보정 */ }
.lk35-gift__label {
  position: absolute;
  left: 0.8rem;
  bottom: 0;
  width: 49.7rem;
  z-index: 1;
}
.lk35-gift { /* img05 매트 / img07 텀블러 곡선 라벨 (컨테이너 기준 -22 = 클립 기준 8) */ }
.lk35-gift__product {
  position: absolute;
  z-index: 2;
}
.lk35-gift__spark {
  position: absolute;
  z-index: 1;
}
.lk35-gift { /* 돔 흰 반짝이 — 팝 등장 후 트윙클(JS) */ }
.lk35-gift--green .lk35-gift__product {
  left: 5.9rem;
  top: 0.2rem;
  width: 39.4rem;
}
.lk35-gift { /* 피크닉 매트+그림자(13%) (538,5234) */ }
.lk35-gift--orange .lk35-gift__product {
  left: 12.8rem;
  top: -6.1rem;
  width: 20.1rem;
}
.lk35-gift { /* 텀블러+그림자(15%) (1117,5171) */ }
.lk35-gift--green .lk35-gift__spark--a {
  left: 11.6rem;
  top: 5rem;
  width: 2.7rem;
}
.lk35-gift { /* ✦ (595,5282) */ }
.lk35-gift--orange .lk35-gift__spark--a {
  left: 9.9rem;
  top: 9.8rem;
  width: 2.7rem;
}
.lk35-gift { /* ✦ (1088,5330) */ }
.lk35-gift--orange .lk35-gift__spark--b {
  left: 31.4rem;
  top: 11.5rem;
  width: 5.2rem;
}
.lk35-gift { /* ✵ (1303,5347) */ }

/* ============================================================ 엔딩 — PSD 2단 비대칭 절대배치 (원점 5798, inner 1400) */
.lk35-sec5 {
  background: #f5f8ff;
  overflow: hidden;
}
.lk35-sec5 .section-inner {
  height: 111.3rem;
  text-align: left;
}
.lk35-sec5__y {
  position: absolute;
  left: 10rem;
  top: 15.2rem;
  margin: 0;
}
.lk35-sec5__yy {
  font-family: "EF_Rebecca", serif;
  font-size: 5rem;
  font-weight: 400;
  color: #835dc3;
  letter-spacing: -0.01em;
  line-height: 1;
}
.lk35-sec5__copy {
  position: absolute;
  left: 9.9rem;
  top: 21.5rem;
  margin: 0;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.5rem;
  font-weight: 300;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 6rem;
}
.lk35-sec5__copy b {
  font-weight: 700;
}
.lk35-sec5__copy .c-purple {
  font-weight: 700;
}
.lk35-sec5 {
  /* 세로 라인+새부리 화살표 = ico_arrow04 (941,6069) 36x252 */
}
.lk35-sec5__arrow {
  position: absolute;
  left: 68.1rem;
  top: 27.1rem;
  width: 3.6rem;
  height: 25.2rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_arrow04.webp") center/contain no-repeat;
}
.lk35-sec5__lead {
  position: absolute;
  left: 84rem;
  top: 43.8rem;
  margin: 0;
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3.5rem;
  font-weight: 300;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 6rem;
}
.lk35-sec5__lead b {
  font-weight: 700;
}
.lk35-sec5 .lk35-kukka {
  position: absolute;
  left: 9.9rem;
  top: 70.2rem;
  display: block;
  width: 120.2rem;
  border-radius: 2rem;
  overflow: hidden;
}
.lk35-sec5 .lk35-kukka .img-box01 {
  width: 100%;
}
.lk35-sec5 {
  /* sec5 데코 (PSD 원좌표-5798) */
}
.lk35-sec5 .lk35-deco--obj1 {
  top: 16.6rem;
  left: 104.6rem;
  width: 9rem;
  height: 9rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.lk35-sec5 { /* ✵ (1304,5963) */ }
.lk35-sec5 .lk35-deco--obj5 {
  top: 14.7rem;
  left: 115rem;
  width: 1rem;
  height: 1rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object05.webp");
}
.lk35-sec5 { /* ◆ (1408,5943) 센터 */ }
.lk35-sec5 .lk35-deco--o10a {
  top: 60.8rem;
  left: -13.6rem;
  width: 6.6rem;
  height: 3.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object10.webp");
}
.lk35-sec5 { /* (124,6406) */ }
.lk35-sec5 .lk35-deco--o10b {
  top: 37.8rem;
  right: -18.1rem;
  width: 6.6rem;
  height: 3.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object10.webp");
  transform: scaleY(-1);
}
.lk35-sec5 { /* (1775,6176) 상하 반전 */ }

/* ── 딤 (팝업/로그인 알럿 공용) — 공유 popup.css 값과 무관하게 이 페이지에서 확정 ── */
.longbgs {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 100;
}

/* ── 비로그인 인라인 알럿 — 입력창(.lk35-write) 내부 오버레이 (PSD 998,1804 → write 기준 30,124)
   fixed 딤(z100) 위로 노출 = z115. (주의: .lk35-write 조상에 transform/z-index 스태킹 컨텍스트가 생기면 갇힘)
   노출 여부 = 개발 분기: 비로그인 시 lk35LoginAlert(true) 호출 + 로그인 하기 href 연결 ── */
.lk35-login-alert {
  position: absolute;
  left: 3rem;
  top: 12.4rem;
  width: 54.3rem;
  z-index: 115;
  background: #fff;
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 1.2rem 4rem rgba(0, 0, 0, 0.18);
  text-align: center;
}
.lk35-login-alert__x {
  position: absolute;
  right: 2.4rem;
  top: 2.6rem;
  width: 2.8rem;
  height: 2.8rem;
  border: 0;
  background: none;
  cursor: pointer;
}
.lk35-login-alert__x::before, .lk35-login-alert__x::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2.8rem;
  height: 0.2rem;
  background: #111111;
}
.lk35-login-alert__x::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.lk35-login-alert__x::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.lk35-login-alert__txt {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 5rem;
  margin-top: 7.2rem;
}
.lk35-login-alert__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  height: 9.2rem;
  margin-top: 6.4rem;
  background: #1f9740;
  font-family: "EF_Rebecca", serif;
  font-size: 3.5rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1;
}
.lk35-login-alert__arr {
  width: 2.3rem;
  height: 2.3rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_arrow01.webp") center/contain no-repeat;
  filter: brightness(0) invert(1);
}

/* ============================================================ 팝업 (PSD 팝업 All — 로컬좌표 원점 (638,1650), 박스 644x553 + 하단 버튼 92) */
.pop-lk35 {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 120;
  width: 64.4rem;
  background: #fff;
  border-radius: 2.4rem;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 2rem 6rem rgba(0, 0, 0, 0.2);
}
.pop-lk35 .blind {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.pop-lk35__x {
  position: absolute;
  right: 2.5rem;
  top: 2.5rem;
  width: 2.8rem;
  height: 2.8rem;
  border: 0;
  background: none;
  cursor: pointer;
  z-index: 3;
}
.pop-lk35__x::before, .pop-lk35__x::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2.8rem;
  height: 0.2rem;
  background: #111111;
}
.pop-lk35__x::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.pop-lk35__x::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.pop-lk35__tit {
  font-family: "EF_Rebecca", serif;
  font-size: 4.5rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 1;
  margin-top: 4.8rem;
}
.pop-lk35__tit--done {
  font-family: "EF_Rebecca", serif;
  font-size: 4rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 6rem;
  margin-top: 3.4rem;
}
.pop-lk35__tit--done .c-green {
  color: #1f9740;
}
.pop-lk35__txt {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 5rem;
  margin-top: 2rem;
}
.pop-lk35 {
  /* 미리보기 스테이지: 뷰 382x382 중앙(131,133) + 타원(51,208)/✵(59,246)/✦ 데코 */
}
.pop-lk35__stage {
  position: relative;
  width: 38.2rem;
  height: 38.2rem;
  margin: 3.7rem auto 0;
}
.pop-lk35__ellipse {
  position: absolute;
  left: -8rem;
  top: 7.5rem;
  width: 51.6rem;
  height: 23rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_object11.webp") center/contain no-repeat;
}
.pop-lk35__deco {
  position: absolute;
  background: center/contain no-repeat;
}
.pop-lk35__deco--star {
  left: -7.2rem;
  top: 11.3rem;
  width: 4.4rem;
  height: 4.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.pop-lk35__deco--spark {
  right: -6.9rem;
  top: 3.8rem;
  width: 2.7rem;
  height: 2.7rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object02.webp");
}
.pop-lk35__deco--spark2 {
  right: -6.9rem;
  top: 27.8rem;
  width: 2.7rem;
  height: 2.7rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object02.webp");
}
.pop-lk35__deco--bstar {
  left: 12.8rem;
  top: 4.3rem;
  width: 5.3rem;
  height: 5.3rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.pop-lk35__deco--bspark {
  left: 46.6rem;
  top: 12rem;
  width: 2.7rem;
  height: 2.7rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object02.webp");
}
.pop-lk35__deco--bdot1 {
  left: 18rem;
  top: 13.5rem;
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle01.webp");
}
.pop-lk35__deco { /* 노랑 파티클 (818,1825) */ }
.pop-lk35__deco--bdot2 {
  left: 43.8rem;
  top: 5.5rem;
  width: 1.4rem;
  height: 1.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle02.webp");
}
.pop-lk35 { /* 빨강 파티클 (1076,1745) */ }
.pop-lk35__view {
  position: relative;
  width: 100%;
  height: 100%;
  background: #f4f5f1;
  border-radius: 2rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pop-lk35__dots {
  position: absolute;
  left: 1.9rem;
  top: 1.9rem;
  display: grid;
  grid-template-columns: repeat(2, 1.4rem);
  gap: 0.2rem;
}
.pop-lk35__dots i {
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  background: center/contain no-repeat;
}
.pop-lk35__dots i:nth-child(1) {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle01.webp");
}
.pop-lk35__dots i:nth-child(2) {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle02.webp");
}
.pop-lk35__dots i:nth-child(3) {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle03.webp");
}
.pop-lk35__dots i:nth-child(4) {
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_circle04.webp");
}
.pop-lk35__viewtxt {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 3rem;
  font-weight: 400;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 5.2rem;
}
.pop-lk35__photobox {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 34.4rem;
  height: 34.3rem;
  background: #fff;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.pop-lk35__imgnote {
  font-family: "Pretendard Variable", Pretendard, sans-serif;
  font-size: 2rem;
  font-weight: 200;
  color: #111111;
  letter-spacing: -0.01em;
  line-height: 3.5rem;
}
.pop-lk35__photoimg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0.5rem;
}
.pop-lk35 { /* 등록 사진 1:1 컷팅 미리보기 */ }
.pop-lk35__wink {
  position: absolute;
  right: -9rem;
  top: 0.4rem;
  width: 7rem;
  z-index: 2;
}
.pop-lk35 {
  /* 완료 뱃지 콤보 (로컬: 리본(227,56) 카드(252,88) 그리드(231,151) — 블록 top r(40) 기준) */
}
.pop-lk35__badge {
  position: relative;
  display: block;
  width: 100%;
  height: 20rem;
  margin-top: 4rem;
}
.pop-lk35__badge img, .pop-lk35__badge i {
  position: absolute;
}
.pop-lk35__badge {
  /* z: 뚜껑(리본) > 상자(그리드) > 카드 — 뚜껑 닫힘(top+54/rot10) → 열림 모션은 GSAP */
}
.pop-lk35__badge-ribbon {
  left: 22.7rem;
  top: 1.6rem;
  width: 18.1rem;
  z-index: 3;
}
.pop-lk35__badge-card {
  left: 25.2rem;
  top: 4.8rem;
  width: 14rem;
  z-index: 1;
}
.pop-lk35__badge-grid {
  left: 23.1rem;
  top: 11.1rem;
  width: 18rem;
  z-index: 2;
}
.pop-lk35 {
  /* 하단 버튼줄: 팝업 폭 꽉 채움(라운드는 팝업 overflow 클립). margin-bottom -1px = 서브픽셀 흰 틈 방지 */
}
.pop-lk35__btns {
  display: flex;
  margin-top: 3.5rem;
  margin-bottom: -1px;
}
.pop-lk35__btns .pop-lk35__btn {
  flex: 1;
  height: calc(9.2rem + 1px);
}
.pop-lk35__btn {
  height: 9.2rem;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  font-family: "EF_Rebecca", serif;
  font-size: 3rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1;
}
.pop-lk35__btn--white {
  background: #fff;
  color: #111111;
  border-top: 1px solid #e3e4df;
}
.pop-lk35__btn--green {
  background: #1f9740;
  box-shadow: 1px 0 0 #1f9740;
}
.pop-lk35__btn { /* flex 서브픽셀 반올림으로 우측 1px 흰 선 생기는 것 메움 */ }
.pop-lk35__btn--orange {
  background: #f6663a;
  font-size: 3.5rem;
}
.pop-lk35__btn--full {
  width: 100%;
  flex: none;
}
.pop-lk35__btn-dark {
  color: #111111;
}
.pop-lk35__ok {
  position: relative;
  width: 4.7rem;
  height: 4.7rem;
  border-radius: 50%;
  background: #fff;
}
.pop-lk35__ok::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 46%;
  width: 1.6rem;
  height: 0.9rem;
  border-left: 0.3rem solid #1f9740;
  border-bottom: 0.3rem solid #1f9740;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.pop-lk35__pencil {
  width: 2.5rem;
  height: 2.9rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_pencil_type02.webp") center/contain no-repeat;
}
.pop-lk35__cam {
  width: 3.3rem;
  height: 3.6rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_camera_type03.webp") center/contain no-repeat;
}
.pop-lk35__arr {
  width: 2.3rem;
  height: 2.3rem;
  background: url("https://cdn.gni.kr/assets/images/35letter/ico_arrow01.webp") center/contain no-repeat;
}

/* ico background-image 경로 = CDN (2026-07-03 등록 완료) */
/* ── 35 + 촛불 세트 (재사용). PSD: 좌(3 위)=초록(fire02), 우(5 위)=주황(fire01).
   위치/크기는 컨텍스트별 rem 지정 (%는 뱃지 폭 기준이라 글자 metrics 와 안 맞아 결국 개별 보정 필요) ── */
.lk35-35set {
  position: relative;
  display: inline-block;
  margin: 0 0.8rem 0 0.4rem;
}
.lk35-35set .lk35-35set__candle {
  position: absolute;
  bottom: 100%;
  width: 1.3rem;
  height: 3.1rem;
  z-index: 2;
  background: no-repeat center/contain;
}
.lk35-35set .lk35-35set__candle--a {
  left: 0.6rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_candle_fire02.webp");
}
.lk35-35set { /* 초록 */ }
.lk35-35set .lk35-35set__candle--b {
  left: 3.3rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_candle_fire01.webp");
}
.lk35-35set { /* 주황 */ }

.lk35-35set--gray {
  filter: brightness(0);
  margin: 0;
  /* 촛불 원본비율 10:24 유지 (contain 왜곡 방지) — 헤더 축소판 9x21 */
}
.lk35-35set--gray .lk35-35set__candle {
  width: 0.9rem;
  height: 2.1rem;
  bottom: 100%;
}
.lk35-35set--gray .lk35-35set__candle--a {
  left: 0.4rem;
}
.lk35-35set--gray .lk35-35set__candle--b {
  left: 2.4rem;
}

/* ── 눔 글자 이미지 (인라인, 폰트 크기에 맞춤). 눔이 늠으로 나오는 수박화체 타이틀용 ── */
.lk35-num {
  display: inline-block;
  width: 5.5rem;
  vertical-align: baseline;
  margin: 0 -0.02em;
} /* 눔 이미지: 원본 width 55 (height auto) */
.lk35-num--dark {
  filter: brightness(0);
} /* 눔 이미지 검정 (명도 0) — sec2 타이틀용 */
/* ── 떠다니는 데코 ico (i 태그, aria-hidden, background-image). 위치는 PSD 좌표 r() ──
   size 특수 클래스 없으면 width/height = 원본 이미지 native 치수 (사용자 규칙). */
.lk35-deco {
  position: absolute;
  background: no-repeat center/contain;
}

.lk35-deco.size1 {
  width: 5rem;
  height: 5rem;
} /* size1 = 50x50 (특수 사이즈 modifier) */
.lk35-sec1-scene1-container .lk35-deco--s1a {
  top: 10.8rem;
  left: 112.3rem;
  width: 9rem;
  height: 9rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.lk35-sec1-scene1-container { /* ✵ object01 90x90 */ }
.lk35-sec1-scene1-container .lk35-deco--s1c {
  bottom: 76.3rem;
  right: 4.5rem;
  width: 4.4rem;
  height: 4.6rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object03.webp");
}
.lk35-sec1-scene1-container { /* ✸ object03 (341) — bottom 기준(사용자 지정) */ }
.lk35-sec1-scene1-container .lk35-deco--s1e {
  bottom: 36.6rem;
  left: 109.2rem;
  width: 5rem;
  height: 5rem;
  z-index: 2;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object04.webp");
}
.lk35-sec1-scene1-container { /* 해치마크 (1092,734) 사진 위·하단 앵커 */ }
.lk35-sec1-scene1-container .lk35-deco--s1f {
  top: 9rem;
  left: 122.8rem;
  width: 1rem;
  height: 1rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object05.webp");
}
.lk35-sec1-scene1-container { /* ◆(14x14) → object05 dot 센터 배치 */ }
.lk35-sec1-scene1-container .lk35-deco--s1g {
  bottom: 20.6rem;
  right: 8.3rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.lk35-sec1-scene1-container { /* ✵ size1 (894~944) 하단 앵커 */ }
.lk35-sec1-scene1-container .lk35-deco--s1h {
  bottom: 27.7rem;
  left: 73.5rem;
  width: 2.2rem;
  height: 2.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object02.webp");
}
.lk35-sec1-scene1-container { /* ✦ 스탬프 우하단 (733,848) 하단 앵커 */ }

/* ── sec2 참여 떠다니는 오브젝트 (section-inner 1400 기준, PSD 원좌표-1148-153) ── */
.lk35-sec2 .lk35-deco--s2o10a {
  top: 5.7rem;
  left: -13.4rem;
  width: 6.6rem;
  height: 3.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object10.webp");
}
.lk35-sec2 { /* object10 (126,1358) */ }
.lk35-sec2 .lk35-deco--s2o10b {
  top: 27rem;
  right: -18.1rem;
  width: 6.6rem;
  height: 3.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object10.webp");
  transform: scale(-1);
}
.lk35-sec2 { /* object10 반전 (1775,1571) */ }
.lk35-sec2 .lk35-deco--s2o1a {
  top: 57.5rem;
  left: -18.3rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.lk35-sec2 { /* ✵ size1 (75,1874) */ }
.lk35-sec2 .lk35-deco--s2o1b {
  top: 65.9rem;
  right: -11.6rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object01.webp");
}
.lk35-sec2 { /* ✵ size1 (1724,1958) */ }
.lk35-sec2 .lk35-deco--s2o2a {
  top: 73.2rem;
  left: -5.7rem;
  width: 2.2rem;
  height: 2.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object02.webp");
}
.lk35-sec2 { /* ✦ (201,2032) */ }
.lk35-sec2 .lk35-deco--s2tt {
  top: -5.1rem;
  left: 115.4rem;
  width: 2.2rem;
  height: 2.4rem;
  background-image: url("https://cdn.gni.kr/assets/images/35letter/ico_object02.webp");
}
.lk35-sec2 { /* ✦ 타이틀 연필 위 (1412,1249) */
  /* 타이틀 아이콘: 카메라 = 둘째줄 좌측 / 연필 = 첫줄 우측 (PSD) */
}
.lk35-sec2 .lk35-sec2__cam {
  position: absolute;
  top: 8.6rem;
  left: 28.4rem;
  width: 10.3rem;
}
.lk35-sec2 { /* sec2_img01 카메라 신버전 (544,1387) 103x100 */ }
.lk35-sec2 .lk35-sec2__pencil {
  position: absolute;
  top: -2.1rem;
  left: 102.7rem;
  width: 8.3rem;
}
.lk35-sec2 { /* sec2_img02 연필 (1287,1280) */ }
.lk35-sec2 .lk35-sec2__cloud {
  position: absolute;
  top: 124.8rem;
  right: -23.9rem;
  width: 44rem;
}
.lk35-sec2 { /* 구름 우하단 블리드 (1459,2549) */ }

/*# sourceMappingURL=35letter.css.map */
