/* ============================================================
   페이지 블록 — 인사말 (스킨 s1~s10)
   이 파일은 인사말 블록이 쓰인 페이지에만 실린다.
   ============================================================ */
.iwpg-greeting .pg-sg { margin-top: calc(var(--iw-gap, 26px) + 12px); display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; font-size: 15.5px; color: var(--pg-mute); }
.iwpg-greeting .pg-sg-n { font-family: "Nanum Myeongjo", "Noto Serif KR", serif; font-size: 25px; font-weight: 800; color: var(--pg-ink); letter-spacing: .06em; }

/* s1 사진 왼쪽 */
.iwpg-greeting--s1 .pg-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 72px; align-items: start; }
.iwpg-greeting--s1 .pg-ph { aspect-ratio: var(--iw-imgratio, 4/5); border-radius: 6px; }
.iwpg-greeting--s1 .pg-tx { padding-top: 24px; }
.iwpg-greeting--s1 .pg-sg { justify-content: flex-end; }
.iwpg-greeting--s1.is-nophoto .pg-grid { grid-template-columns: 1fr; max-width: 820px; }

/* s2 가운데 정렬 */
.iwpg-greeting--s2 > .iwg-in { text-align: center; }
.iwpg-greeting--s2 .pg-ph { width: 168px; height: 168px; border-radius: 50%; margin: 0 auto 34px; }
.iwpg-greeting--s2 h3.pg-tt { margin-bottom: 22px; }
.iwpg-greeting--s2 .pg-rule { width: 36px; height: 3px; background: var(--ac); margin: 0 auto 30px; }
.iwpg-greeting--s2 .pg-bd { max-width: 700px; margin: 0 auto; }
.iwpg-greeting--s2 .pg-sg { justify-content: center; }

/* s3 배경 사진 */
.iwpg-greeting--s3 { position: relative; overflow: hidden; background: #1d2a30; }
.iwpg-greeting--s3 .pg-bg { position: absolute; inset: 0; background-position: var(--iw-focus, 70% center); }
.iwpg-greeting--s3 .pg-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,18,22,.86) 0%, rgba(9,18,22,.66) 46%, rgba(9,18,22,.08) 100%); }
.iwpg-greeting--s3 > .iwg-in { position: relative; padding-top: var(--iw-pad-y, 128px); padding-bottom: var(--iw-pad-y, 128px); }
.iwpg-greeting--s3 .pg-tx { max-width: 560px; }
.iwpg-greeting--s3 .eb.pg-lb { color: var(--iw-label-color, color-mix(in srgb, var(--ac) 45%, #fff)); }
.iwpg-greeting--s3 h3.pg-tt { color: var(--iw-title-color, #fff); }
.iwpg-greeting--s3 .body.pg-bd { color: var(--iw-body-color, rgba(255,255,255,.86)); }
.iwpg-greeting--s3 .pg-sg { color: rgba(255,255,255,.75); }
.iwpg-greeting--s3 .pg-sg-n { color: #fff; }
.iwpg-greeting--s3.is-nophoto .pg-shade { background: linear-gradient(120deg, color-mix(in srgb, var(--ac) 70%, #0b1418), #0b1418); }

/* s4 띄운 카드 */
.iwpg-greeting--s4 { background-image: linear-gradient(var(--ac) 0, var(--ac) 330px, transparent 330px); }
.iwpg-greeting--s4 .pg-head { max-width: 760px; padding-bottom: 44px; }
.iwpg-greeting--s4 .eb.pg-lb { color: var(--iw-label-color, rgba(255,255,255,.75)); }
.iwpg-greeting--s4 h3.pg-tt { color: var(--iw-title-color, #fff); margin: 0; }
.iwpg-greeting--s4 .pg-card { background: var(--iw-card-bg, #fff); border-radius: 10px; box-shadow: 0 34px 60px -34px rgba(10,30,40,.45);
  padding: var(--iw-card-pad, 60px 64px); display: grid; grid-template-columns: 1fr 280px; gap: 56px; align-items: start; }
.iwpg-greeting--s4 .pg-ph { aspect-ratio: var(--iw-imgratio, 4/5); border-radius: 6px; }
.iwpg-greeting--s4.is-nophoto .pg-card { grid-template-columns: 1fr; }

/* s5 큰 인용 */
.iwpg-greeting--s5 .pg-q { font-family: "Nanum Myeongjo", serif; font-size: 130px; line-height: 1; height: 62px; color: var(--ac); margin-bottom: 18px; overflow: hidden; }
.iwpg-greeting--s5 h3.pg-tt { font-family: var(--iw-font, "Nanum Myeongjo", serif); font-size: var(--iw-title-size, clamp(30px, 3.2vw, 46px)); line-height: var(--iw-title-lh, 1.38); max-width: 920px; margin-bottom: 48px; }
.iwpg-greeting--s5 .pg-bd { column-count: 2; column-gap: 60px; border-top: 1px solid var(--pg-line); padding-top: 40px; }
.iwpg-greeting--s5 .pg-sgrow { display: flex; align-items: center; gap: 14px; margin-top: 40px; }
.iwpg-greeting--s5 .pg-sgrow .pg-sg { margin: 0; }
.iwpg-greeting--s5 .pg-av { width: 54px; height: 54px; border-radius: 50%; flex: none; }

/* s6 색면 분할 */
.iwpg-greeting--s6 .pg-split { display: grid; grid-template-columns: 420px 1fr; min-height: 560px; border-radius: 8px; overflow: hidden; background: var(--iw-card-bg, #fff); box-shadow: 0 0 0 1px var(--pg-line); }
.iwpg-greeting--s6 .pg-side { background: var(--ac); color: #fff; padding: 72px 52px; display: flex; flex-direction: column; }
.iwpg-greeting--s6 .eb.pg-lb { color: var(--iw-label-color, rgba(255,255,255,.72)); }
.iwpg-greeting--s6 h3.pg-tt { color: var(--iw-title-color, #fff); font-size: var(--iw-title-size, clamp(26px, 2.4vw, 36px)); }
.iwpg-greeting--s6 .pg-side .pg-ph { margin-top: auto; width: 148px; aspect-ratio: 1; border-radius: 50%; border: 4px solid rgba(255,255,255,.25); }
.iwpg-greeting--s6 .pg-main { padding: 72px 64px; align-self: center; max-width: 720px; }

/* s7 편지 */
.iwpg-greeting--s7 { background-color: var(--pg-soft); }
.iwpg-greeting--s7 .pg-paper { max-width: 820px; margin: 0 auto; background: #fff; padding: 76px 84px; border: 1px solid var(--pg-mid); border-radius: 4px; }
.iwpg-greeting--s7 .pg-paper::after { content: ""; display: table; clear: both; }
.iwpg-greeting--s7 .pg-ph { float: right; width: 112px; aspect-ratio: 4/5; border-radius: 4px; margin: 0 0 20px 32px; }
.iwpg-greeting--s7 h3.pg-tt { font-family: var(--iw-font, "Gowun Batang", "Nanum Myeongjo", serif); font-size: var(--iw-title-size, clamp(24px, 2.2vw, 34px)); font-weight: var(--iw-title-weight, 700); }
.iwpg-greeting--s7 .body.pg-bd { font-family: var(--iw-font, "Gowun Batang", "Nanum Myeongjo", serif); font-size: var(--iw-body-size, 17.5px); line-height: var(--iw-body-lh, 2); }
.iwpg-greeting--s7 .pg-sg { clear: both; justify-content: flex-end; align-items: center; margin-top: 44px; }
.iwpg-greeting--s7 .pg-sg-n { font-family: "Nanum Pen Script", "Nanum Myeongjo", cursive; font-size: 46px; font-weight: 400; color: var(--ac); letter-spacing: .02em; }

/* s8 매거진 */
.iwpg-greeting--s8 .pg-wide { height: 440px; border-radius: 4px; }
.iwpg-greeting--s8 .pg-box { max-width: 1000px; margin: -130px auto 0; background: var(--iw-card-bg, #fff); position: relative; padding: 58px 64px 0; border-top: 4px solid var(--ac); }
.iwpg-greeting--s8 .pg-bd { column-count: 2; column-gap: 56px; }
.iwpg-greeting--s8.is-nophoto .pg-box { margin-top: 0; }

/* s9 글만 크게 */
.iwpg-greeting--s9 h3.pg-tt { font-size: var(--iw-title-size, clamp(32px, 4vw, 58px)); line-height: var(--iw-title-lh, 1.24); max-width: 960px; margin-bottom: 56px; }
.iwpg-greeting--s9 .pg-cols { display: grid; grid-template-columns: 240px 1fr; gap: 56px; }
.iwpg-greeting--s9 .pg-meta { font-size: 15px; color: var(--pg-mute); line-height: 1.7; display: flex; flex-direction: column; }
.iwpg-greeting--s9 .pg-meta b { font-family: "Nanum Myeongjo", serif; font-size: 28px; font-weight: 800; color: var(--pg-ink); margin-top: 4px; letter-spacing: .06em; }
.iwpg-greeting--s9 .pg-bd { border-left: 2px solid var(--ac); padding-left: 44px; max-width: 720px; }

/* s10 사진 오른쪽 */
.iwpg-greeting--s10 .pg-grid { display: grid; grid-template-columns: 7fr 5fr; gap: 88px; align-items: center; }
.iwpg-greeting--s10 .pg-phw { position: relative; }
.iwpg-greeting--s10 .pg-phw::before { content: ""; position: absolute; inset: 36px -36px -36px 36px; background: var(--pg-mid); border-radius: 6px; }
.iwpg-greeting--s10 .pg-ph { position: relative; aspect-ratio: var(--iw-imgratio, 4/5); border-radius: 6px; }
.iwpg-greeting--s10.is-nophoto .pg-grid { grid-template-columns: 1fr; max-width: 820px; }

/* 태블릿 */
@media (max-width: 1024px) {
  .iwpg-greeting--s1 .pg-grid { gap: 44px; }
  .iwpg-greeting--s6 .pg-split { grid-template-columns: 340px 1fr; }
  .iwpg-greeting--s10 .pg-grid { gap: 56px; }
  .iwpg-greeting--s10 .pg-phw::before { inset: 22px -22px -22px 22px; }   /* v1.1.0 태블릿에서 장식 상자가 6px 넘치던 것 */
}
/* 모바일 */
@media (max-width: 768px) {
  .iwpg-greeting .pg-sg-n { font-size: 22px; }
  .iwpg-greeting--s1 .pg-grid, .iwpg-greeting--s10 .pg-grid { grid-template-columns: 1fr; gap: 32px; }
  .iwpg-greeting--s1 .pg-ph { aspect-ratio: var(--iw-imgratio, 4/3); }
  .iwpg-greeting--s1 .pg-tx { padding-top: 0; }
  .iwpg-greeting--s2 .pg-ph { width: 120px; height: 120px; }
  .iwpg-greeting--s3 .pg-shade { background: linear-gradient(180deg, rgba(9,18,22,.55) 0%, rgba(9,18,22,.88) 55%); }
  .iwpg-greeting--s3 > .iwg-in { padding-top: var(--iw-pad-y, 220px); padding-bottom: var(--iw-pad-y, 56px); }
  .iwpg-greeting--s4 { background-image: linear-gradient(var(--ac) 0, var(--ac) 260px, transparent 260px); }
  .iwpg-greeting--s4 .pg-card { grid-template-columns: 1fr; padding: var(--iw-card-pad, 32px 24px); gap: 28px; }
  .iwpg-greeting--s4 .pg-ph { order: -1; aspect-ratio: var(--iw-imgratio, 4/3); }
  .iwpg-greeting--s5 .pg-q { font-size: 90px; height: 44px; }
  .iwpg-greeting--s5 h3.pg-tt { margin-bottom: 30px; }
  .iwpg-greeting--s5 .pg-bd, .iwpg-greeting--s8 .pg-bd { column-count: 1; }
  .iwpg-greeting--s6 .pg-split { grid-template-columns: 1fr; min-height: 0; }
  .iwpg-greeting--s6 .pg-side { padding: 48px 24px; }
  .iwpg-greeting--s6 .pg-side .pg-ph { margin-top: 28px; width: 110px; }
  .iwpg-greeting--s6 .pg-main { padding: 40px 24px 48px; }
  .iwpg-greeting--s7 .pg-paper { padding: 40px 24px; }
  .iwpg-greeting--s7 .pg-ph { width: 84px; margin-left: 18px; }
  .iwpg-greeting--s7 .pg-sg-n { font-size: 38px; }
  .iwpg-greeting--s8 .pg-wide { height: 240px; }
  .iwpg-greeting--s8 .pg-box { margin: -60px 12px 0; padding: 32px 22px 0; }
  .iwpg-greeting--s9 h3.pg-tt { margin-bottom: 34px; }
  .iwpg-greeting--s9 .pg-cols { grid-template-columns: 1fr; gap: 26px; }
  .iwpg-greeting--s9 .pg-meta { order: 2; }
  .iwpg-greeting--s9 .pg-bd { padding-left: 20px; }
  .iwpg-greeting--s10 .pg-phw { order: -1; margin: 0 22px 18px 0; }
  .iwpg-greeting--s10 .pg-phw::before { inset: 18px -18px -18px 18px; }
}

/* ============================================================
   7단계 추가 모양 s11~s14 (벤치 형태 참고 — 소스·문구 사용 안 함)
   ============================================================ */
/* s11 알약 배너 */
.iwpg-greeting--s11 .pg-pill { position: relative; margin-top: 70px; min-height: 300px; border-radius: 999px; background: var(--pg-soft);
  display: grid; grid-template-columns: 1fr 360px; align-items: center; padding: 0 64px 0 88px; }
.iwpg-greeting--s11 .pg-pill-tx { padding: 56px 0; }
.iwpg-greeting--s11 .pg-pill h3.pg-tt { margin: 0; font-size: var(--iw-title-size, clamp(26px, 2.4vw, 36px)); }
.iwpg-greeting--s11 .pg-pill .pg-ph { align-self: end; justify-self: center; width: 300px; height: 370px; margin-top: -70px;
  border-radius: 150px 150px 0 0; background-position: var(--iw-focus, center top); }
.iwpg-greeting--s11 > .iwg-in > .pg-tx { max-width: 1060px; margin: 64px auto 0; }
.iwpg-greeting--s11 .pg-sg { justify-content: flex-end; }
.iwpg-greeting--s11.is-nophoto .pg-pill { grid-template-columns: 1fr; margin-top: 0; min-height: 220px; }

/* s12 원형 사진 좁은 칸 */
.iwpg-greeting--s12 .pg-grid { display: grid; grid-template-columns: 260px 1fr; gap: 96px; align-items: start; }
.iwpg-greeting--s12 .pg-side { display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: 8px; }
.iwpg-greeting--s12 .pg-side .pg-ph { width: 220px; aspect-ratio: 1; border-radius: 50%; box-shadow: 0 0 0 10px var(--pg-soft); }
.iwpg-greeting--s12 .pg-side .pg-sg { margin-top: 34px; flex-direction: column; align-items: center; gap: 6px; }
.iwpg-greeting--s12 .pg-tx { max-width: 860px; border-top: 1px solid var(--pg-line); padding-top: 44px; }
.iwpg-greeting--s12 h3.pg-tt { font-size: var(--iw-title-size, clamp(28px, 2.8vw, 42px)); }
.iwpg-greeting--s12.is-nophoto .pg-side { padding-top: 52px; }

/* s13 계단 배치 */
.iwpg-greeting--s13 .pg-grid { display: grid; grid-template-columns: 5fr 6fr; gap: 80px; align-items: start; }
.iwpg-greeting--s13 .pg-lead h3.pg-tt { font-size: var(--iw-title-size, clamp(32px, 3.4vw, 52px)); line-height: var(--iw-title-lh, 1.28); margin-bottom: 48px; }
.iwpg-greeting--s13 .pg-lead .pg-ph { aspect-ratio: var(--iw-imgratio, 4/3); border-radius: 4px; width: 88%; }
.iwpg-greeting--s13 > .iwg-in .pg-tx { margin-top: 210px; padding-left: 40px; border-left: 1px solid var(--pg-line); }
.iwpg-greeting--s13 .pg-sg { justify-content: flex-end; }
.iwpg-greeting--s13.is-nophoto > .iwg-in .pg-tx { margin-top: 120px; }

/* s14 어두운 띠 + 아래 본문 */
.iwpg-greeting--s14 .pg-dark { position: relative; overflow: hidden; background: #161c21; border-radius: 4px; min-height: 340px;
  display: grid; grid-template-columns: 1fr 38%; align-items: center; }
.iwpg-greeting--s14 .pg-dark-tx { padding: 64px 72px; position: relative; z-index: 1; }
.iwpg-greeting--s14 .pg-dark .eb.pg-lb { color: var(--iw-label-color, color-mix(in srgb, var(--ac) 50%, #fff)); }
.iwpg-greeting--s14 .pg-dark h3.pg-tt { color: var(--iw-title-color, #fff); margin: 0; font-size: var(--iw-title-size, clamp(26px, 2.5vw, 38px)); }
.iwpg-greeting--s14 .pg-dark .pg-ph { align-self: stretch; min-height: 340px; filter: grayscale(1) contrast(1.05); background-position: var(--iw-focus, center top);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 34%); mask-image: linear-gradient(90deg, transparent 0, #000 34%); }
.iwpg-greeting--s14 > .iwg-in > .pg-tx { margin-top: 60px; }
.iwpg-greeting--s14 > .iwg-in > .pg-tx .pg-bd { column-count: 2; column-gap: 64px; }
.iwpg-greeting--s14 .pg-sg { justify-content: flex-end; }
.iwpg-greeting--s14.is-nophoto .pg-dark { grid-template-columns: 1fr; min-height: 240px; }

@media (max-width: 1024px) {
  .iwpg-greeting--s11 .pg-pill { grid-template-columns: 1fr 260px; padding: 0 36px 0 52px; }
  .iwpg-greeting--s11 .pg-pill .pg-ph { width: 230px; height: 300px; }
  .iwpg-greeting--s12 .pg-grid { grid-template-columns: 200px 1fr; gap: 52px; }
  .iwpg-greeting--s12 .pg-side .pg-ph { width: 180px; }
  .iwpg-greeting--s13 .pg-grid { gap: 44px; }
  .iwpg-greeting--s13 > .iwg-in .pg-tx { margin-top: 150px; padding-left: 28px; }
  .iwpg-greeting--s14 .pg-dark-tx { padding: 52px 44px; }
}
@media (max-width: 768px) {
  .iwpg-greeting--s11 .pg-pill { grid-template-columns: 1fr; border-radius: 28px; padding: 0 24px; margin-top: 40px; min-height: 0; }
  .iwpg-greeting--s11 .pg-pill .pg-ph { order: -1; width: 180px; height: 220px; margin-top: -40px; border-radius: 90px 90px 0 0; }
  .iwpg-greeting--s11 .pg-pill-tx { padding: 28px 0 36px; }
  .iwpg-greeting--s11 > .iwg-in > .pg-tx { margin-top: 40px; }
  .iwpg-greeting--s11.is-nophoto .pg-pill { margin-top: 0; }
  .iwpg-greeting--s12 .pg-grid { grid-template-columns: 1fr; gap: 36px; }
  .iwpg-greeting--s12 .pg-side { flex-direction: row; text-align: left; gap: 20px; padding-top: 0; }
  .iwpg-greeting--s12 .pg-side .pg-ph { width: 96px; flex: none; box-shadow: 0 0 0 6px var(--pg-soft); }
  .iwpg-greeting--s12 .pg-side .pg-sg { margin-top: 0; align-items: flex-start; }
  .iwpg-greeting--s12 .pg-tx { padding-top: 30px; }
  .iwpg-greeting--s12.is-nophoto .pg-side { padding-top: 0; }
  .iwpg-greeting--s13 .pg-grid { grid-template-columns: 1fr; gap: 32px; }
  .iwpg-greeting--s13 .pg-lead h3.pg-tt { margin-bottom: 28px; }
  .iwpg-greeting--s13 .pg-lead .pg-ph { width: 100%; }
  .iwpg-greeting--s13 > .iwg-in .pg-tx { margin-top: 0; padding-left: 18px; }
  .iwpg-greeting--s13.is-nophoto > .iwg-in .pg-tx { margin-top: 0; }
  .iwpg-greeting--s14 .pg-dark { grid-template-columns: 1fr; min-height: 0; }
  .iwpg-greeting--s14 .pg-dark .pg-ph { order: -1; min-height: 220px; -webkit-mask-image: linear-gradient(0deg, transparent 0, #000 45%); mask-image: linear-gradient(0deg, transparent 0, #000 45%); }
  .iwpg-greeting--s14 .pg-dark-tx { padding: 8px 24px 40px; }
  .iwpg-greeting--s14 > .iwg-in > .pg-tx { margin-top: 40px; }
  .iwpg-greeting--s14 > .iwg-in > .pg-tx .pg-bd { column-count: 1; }
}
.iwpg-greeting--s14 .pg-dark .pg-ph.is-empty { background-color: #3a4248; }
