*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:18px; overflow-x:hidden; }

:root {
  --ink:    #3B0A1F;
  --ink2:   #6B1F3A;
  --wine:   #C8304A;
  --wine2:  #A01F38;
  --wine3:  #E86080;        /* 밝은 핑크레드 — 그라데이션용 */
  --dust:   #C0506A;        /* 더 진하게 — 핑크 배경 위 가독성 */
  --paper:  #FDEEF2;        /* 연한 블러시핑크 — 진하지 않게 */
  --paper2: #FAE0E8;        /* 중간 핑크 */
  --paper3: #F0BECE;        /* 테두리용 */
  --fog:    #6B1F3A;        /* ink2와 동일 — 핑크 배경 위 충분한 대비 */
  --fog2:   #8A2848;        /* 더 진하게 */
  --serif:      'Noto Serif KR', serif;
  --sans:       'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
  --dis:        'Cormorant', serif;
  --font-serif: var(--serif);
  --font-sans:  var(--sans);

  /* 그라데이션 토큰 */
  --grad-hero:   linear-gradient(135deg, #FDEEF2 0%, #F5C8D8 50%, #F0BECE 100%);
  --grad-wine:   linear-gradient(135deg, #C8304A 0%, #A01F38 60%, #7A1228 100%);
  --grad-warm:   linear-gradient(160deg, #FAE0E8 0%, #F0BECE 100%);
  --grad-dark:   linear-gradient(160deg, #3B0A1F 0%, #5A1530 50%, #3B0A1F 100%);
  --grad-card:   linear-gradient(160deg, #FDEEF2 0%, #FAE0E8 100%);

  /* SVG 노이즈 질감 (매우 섬세) */
  --noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 400;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* 전체 노이즈 질감 오버레이 */
body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
  opacity:.4; mix-blend-mode:multiply;
}

/* ─── NAV ─── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  padding: 16px 48px;
  display:flex; justify-content:space-between; align-items:center;
  background: rgba(253,248,244,0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(200,120,150,0.5);
  box-shadow: 0 1px 0 rgba(181,73,58,0.06), 0 8px 24px rgba(61,43,26,0.04);
  opacity:0; animation: appear .8s ease forwards .1s;
}
.nav-logo { font-family:var(--serif); font-size:1.4rem; font-weight:700; color:var(--ink); letter-spacing:3px; text-decoration:none; }
.nav-right { display:flex; align-items:center; gap:32px; }
.nav-tag { font-family:var(--font-sans); font-style:normal; font-size:1.4rem; letter-spacing:2px; color:var(--fog); }
.nav-cta {
  font-family:var(--sans); font-size:1.25rem; font-weight:500; letter-spacing:3px;
  color:var(--wine); text-decoration:none;
  border-bottom:1.5px solid var(--wine); padding-bottom:2px; transition:opacity .2s;
}
.nav-cta:hover { opacity:.6; }

/* ─────────────────────────────────────────────
   1. HERO — 가로 (텍스트 좌 55% | 이미지 우 45%)
───────────────────────────────────────────── */
.hero {
  min-height: 90vh;
  padding-top: 76px;
  display: grid;
  grid-template-columns: 65% 35%;
  position: relative;
  overflow: hidden;
  background: var(--grad-hero);
}
.hero-r {
  margin-top: -76px;
  position: relative;
  overflow: hidden;
}

.hero-wm {
  position:absolute; font-family:var(--serif); font-size:50vw; font-weight:900;
  color:rgba(107,31,42,.03); line-height:1; right:-3vw; bottom:-8vw;
  pointer-events:none; z-index:0; letter-spacing:-4vw;
}

/* 좌: 텍스트 */
.hero-l {
  display:flex; flex-direction:column; justify-content:center;
  padding: 100px 60px 100px 72px;
  position:relative; z-index:2;
}

.h-eyebrow {
  display:flex; align-items:center; gap:16px; margin-bottom:28px;
  opacity:0; animation: su .9s cubic-bezier(.16,1,.3,1) forwards .3s;
}
.h-el { width:32px; height:1px; background:var(--dust); }
.h-et { font-family:var(--font-sans); font-style:normal; font-size:1.4rem; letter-spacing:4px; color:var(--dust); }

.h-h1 {
  font-family:var(--serif); font-size:clamp(52px,6.5vw,96px);
  font-weight:200; line-height:1.1; letter-spacing:-3px; color:var(--ink);
  opacity:0; animation: su .9s cubic-bezier(.16,1,.3,1) forwards .44s;
}
.h-h1 .ac { font-weight:900; color:var(--wine); display:block; letter-spacing:-3px; }

.h-rule { display:none; }

.h-sub {
  font-family:var(--serif); font-size:1.1rem; font-weight:300;
  line-height:2; color:var(--fog);
  max-width:400px; margin-bottom:52px;
  opacity:0; animation:su .9s cubic-bezier(.16,1,.3,1) forwards .7s;
}

.h-acts { display:flex; flex-direction:column; gap:18px; opacity:0; animation:su .9s cubic-bezier(.16,1,.3,1) forwards .82s; }

.btn-p {
  display:inline-flex; align-items:center; gap:14px;
  background: linear-gradient(135deg, var(--wine) 0%, var(--wine2) 100%);
  color:#fff; text-decoration:none; border:none; cursor:pointer;
  padding:18px 48px; font-family:var(--sans); font-size:1rem;
  font-weight:400; letter-spacing:3px;
  position:relative; overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1); width:fit-content;
  box-shadow: 0 4px 20px rgba(181,73,58,0.3);
}
.btn-p::after { content:''; position:absolute; inset:0; background:var(--wine2); transform:translateX(-100%); transition:transform .4s cubic-bezier(.16,1,.3,1); }
.btn-p:hover::after { transform:translateX(0); }
.btn-p span { position:relative; z-index:1; }
.btn-p:hover { transform:translateY(-2px); box-shadow:0 14px 36px rgba(107,31,42,.3); }

.h-pnote { font-family:var(--font-sans); font-style:italic; font-size:1.4rem; color:var(--fog); letter-spacing:1px; }

/* 우: 이미지 */
.hero-r { position:relative; overflow:hidden; background: linear-gradient(160deg, #2A0F1A 0%, #4A1828 50%, #1E0A12 100%); }
.hero-r-img {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position: center 30%;
  display:block;
}
.hero-r-overlay {
  position:absolute; inset:0;
  background: linear-gradient(
    to right,
    rgba(253,238,242,0.18) 0%,
    transparent 40%
  ), linear-gradient(
    to top,
    rgba(59,10,31,0.35) 0%,
    transparent 55%
  );
  z-index:2;
}
.hero-r-tag {
  position: absolute; bottom: 36px; left: 50%; z-index: 3;
  transform: translateX(-50%);
  writing-mode: horizontal-tb;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 22px;
  font-family: var(--font-sans); font-style: italic;
  font-size: .72rem; letter-spacing: 3px;
  color: rgba(255,255,255,0.92); text-transform: uppercase;
  text-shadow: 0 1px 6px rgba(0,0,0,0.45);
  background: rgba(59,10,31,0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 40px;
  white-space: nowrap;
}

.hero-img-wrap { position:relative; z-index:4; display:flex; flex-direction:column; align-items:center; gap:24px; opacity:0; animation:su .9s cubic-bezier(.16,1,.3,1) forwards .5s; }
.hero-bottle-img {
  width:180px; height:auto; max-height:340px; object-fit:contain;
  animation:float 6s ease-in-out infinite; filter:drop-shadow(0 20px 40px rgba(181,73,58,.18));
}

.ph-icon { font-size:2rem; opacity:.5; }
.ph-lbl  { font-family:var(--font-sans); font-style:italic; font-size:1.4rem; letter-spacing:3px; color:var(--dust); }
.ph-sub  { font-family:var(--sans); font-size:1rem; letter-spacing:1px; color:var(--fog2); text-align:center; padding:0 16px; line-height:1.6; }

/* ─────────────────────────────────────────────
   2. STATS — 수치 3열 가로 + 리뷰 3열 가로
───────────────────────────────────────────── */
.stats {
  background: #FDEEF2;
  position:relative; overflow:hidden;
  border-top: none;
  margin-top: -1px;
}
.stats-wm { display:none; }

/* 수치 카드 — 구조 공통 */
.sc-n {
  font-family:var(--font-serif); font-size:64px; font-weight:600;
  color:var(--wine); line-height:1; letter-spacing:-2px; margin-bottom:10px;
}
.sc--center .sc-n { font-size:80px; }
.sc-pct { font-size:32px; font-weight:400; opacity:.75; }
.sc--center .sc-pct { font-size:40px; }
.sc-d {
  font-family:var(--sans); font-size:.9rem; font-weight:500;
  color:var(--ink); line-height:1.6; letter-spacing:.3px;
}
.sc--center .sc-d { font-size:1rem; font-weight:600; }
.sc-src {
  font-family:var(--sans); font-size:.7rem; font-weight:300;
  color:var(--fog); letter-spacing:.3px;
  margin-top:10px; padding-top:10px;
  border-top:1px solid var(--paper3); line-height:1.6; text-align:center;
}
.sc-n-val {
  font-family:var(--font-sans); font-style:italic;
  font-size:.78rem; color:var(--dust); letter-spacing:1px; font-weight:500;
}

/* 채팅 말풍선 리뷰 */
.rv-header { margin-bottom:36px; }
.rv-label { display:flex; align-items:center; gap:12px; }
.rv-ll { width:22px; height:1px; background:var(--wine); opacity:.7; }
.rv-lt { font-family:var(--font-sans); font-style:italic; font-size:.9rem; letter-spacing:3px; color:var(--ink2); }

/* 채팅 UI */
.rv-chat { display:flex; flex-direction:column; gap:18px; max-width:800px; margin:0 auto; }

.rv-bubble-wrap--right { flex-direction:row-reverse; }

.rv-bubble p {
  font-family:var(--sans); font-size:.92rem; font-weight:300;
  line-height:1.75; color:var(--ink2); margin:0;
}
.rv-bubble-wrap--right .rv-bubble p { color:rgba(255,255,255,.92); }

/* ─────────────────────────────────────────────
   3. EMPATHY — 가로 (이미지+카드 좌 45% | 텍스트 우 55%)
───────────────────────────────────────────── */
.empathy { display:grid; grid-template-columns:48% 52%; min-height:92vh; }

.emp-l { background: linear-gradient(160deg, #F0BECE 0%, #E2D0C0 100%); position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; padding:0; }
.emp-l-wm { position:absolute; font-family:var(--serif); font-size:30vw; font-weight:900; color:rgba(107,31,42,.06); bottom:-5vw; right:-2vw; line-height:1; pointer-events:none; z-index:2; }

.emp-real-img {
  position:absolute; inset:0; z-index:1; width:100%; height:100%;
  object-fit:cover;
}

.ec-tag { font-family:var(--font-sans); font-style:italic; font-size:1.25rem; letter-spacing:3px; color:var(--wine); display:block; margin-bottom:16px; }
.ec-body { font-family:var(--serif); font-size:1.25rem; font-weight:300; line-height:2.1; color:var(--ink2); }
.ec-body b { font-weight:700; color:var(--wine); }
.ec-src { margin-top:20px; font-size:1.4rem; font-family:var(--sans); font-weight:400; color:var(--fog); letter-spacing:.3px; line-height:1.9; }

.emp-r { background: linear-gradient(160deg, #FDEEF2 0%, #F4EBE0 100%); padding:72px 64px; display:flex; flex-direction:column; justify-content:center; font-weight:400; }

/* 공통 섹션 레이블 */
.sl { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.sll { width:28px; height:1px; background:var(--wine2); flex-shrink:0; }
.slt { font-family:var(--font-sans); font-style:italic; font-size:1.25rem; letter-spacing:3px; color:var(--wine2); }

/* 공통 섹션 헤딩 */
.s-h2 {
  font-family:var(--serif); font-size:clamp(30px,3.5vw,50px);
  font-weight:200; line-height:1.4; letter-spacing:-1px; color:var(--ink); margin-bottom:32px;
}
.s-h2 strong { font-weight:900; color:var(--wine); display:block; }
h3 { font-family:var(--font-serif); font-weight:400; color:var(--ink); }
h4 { font-family:var(--font-serif); font-weight:400; color:var(--ink); }

/* 공통 본문 */
.s-p {
  font-family:var(--serif); font-size:1.1rem; font-weight:300;
  line-height:2.1; color:var(--fog); margin-bottom:24px;
}
.s-tag { display:inline-block; border:1px solid var(--ink2); padding:10px 22px; font-family:var(--sans); font-size:1.4rem; font-weight:400; letter-spacing:2px; color:var(--ink2); margin-top:28px; text-transform:uppercase; }

/* ─────────────────────────────────────────────
   4. LIFESTYLE STRIP — 가로 3컷
───────────────────────────────────────────── */
.life-strip { display:grid; grid-template-columns:2fr 1fr 1fr; height:420px; background:var(--paper3); gap:2px; }
.life-ph { background:var(--paper2); position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.life-img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.16,1,.3,1); }

.life-ph::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 55%); pointer-events:none; }

/* ─────────────────────────────────────────────
   5. USP — 헤더 2분할 + 카드 3열
───────────────────────────────────────────── */
.usp {
  background: var(--grad-dark);
  position:relative; overflow:hidden;
}
.usp-wm { position:absolute; font-family:var(--font-serif); font-size:22vw; font-weight:700; color:rgba(255,255,255,.025); bottom:-3vw; right:-1vw; line-height:1; pointer-events:none; }

.usp-head { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:96px 72px 72px; border-bottom:1px solid rgba(255,255,255,.08); align-items:end; }
.usp-ht { font-family:var(--serif); font-size:clamp(36px,4.5vw,62px); font-weight:200; color:#fff; line-height:1.25; letter-spacing:-2px; }
.usp-ht strong { font-weight:900; color:var(--wine3); display:block; }

/* USP 본문 — 밝게 */
.usp-hp { font-family:var(--serif); font-size:1.25rem; font-weight:300; line-height:2.2; color:#fff; }

.usp-cards { display:grid; grid-template-columns:repeat(3,1fr); }
.usp-c { padding:60px 52px; border-right:1px solid rgba(255,255,255,.08); position:relative; overflow:hidden; transition:background .4s; }
.usp-c:last-child { border-right:none; }
.usp-c:hover { background:rgba(255,255,255,.04); }
.usp-cn {
  position:absolute; top:20px; right:24px;
  font-family:var(--font-serif); font-size:4rem; font-weight:600;
  color:rgba(255,255,255,.22); line-height:1; pointer-events:none;
  letter-spacing:-1px;
}
.usp-ci { width:48px; height:48px; border:1px solid rgba(184,144,106,.35); display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:28px; }

/* USP 카드 타이틀 */
.usp-ct { font-family:var(--serif); font-size:1.4rem; font-weight:600; color:#fff; line-height:1.5; margin-bottom:20px; }
/* USP 카드 본문 */
.usp-cb { font-family:var(--sans); font-size:1.15rem; font-weight:300; line-height:2.3; color:rgba(255,255,255,.88); }

/* ─────────────────────────────────────────────
   6. INGREDIENTS — 사이드바 좌 | 2×2 그리드 우
───────────────────────────────────────────── */
/* ── INGREDIENTS — 새 레이아웃 ── */
.ing-wrap { background: linear-gradient(180deg, #FDEEF2 0%, #FAE0E8 100%); padding:0; }
.ing-header {
  display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end;
  padding:80px 72px 56px; border-bottom:1px solid var(--paper3);
}
.ing-h {
  font-family:var(--serif); font-size:clamp(22px,2.6vw,36px);
  font-weight:200; line-height:1.4; letter-spacing:-1px; color:var(--ink);
}
.ing-h strong { font-weight:900; color:var(--wine); }
.ing-p { font-family:var(--serif); font-size:.95rem; font-weight:300; line-height:1.9; color:var(--fog); letter-spacing:-.01em; }

.ing-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--paper3); }
.ing-card {
  background:var(--paper); display:flex; flex-direction:column;
  position:relative; overflow:hidden; transition:background .3s;
  min-height:580px;
}
.ing-card:hover { background:#fff; }
.ing-photo {
  width:100%;
  aspect-ratio: 1 / 1;
  overflow:hidden; flex-shrink:0;
  position:relative;
}
.ing-photo img, .ing-photo svg {
  width:100%; height:100%;
  object-fit: cover;
  object-position: center center;
  display:block;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.ing-card:hover .ing-photo img { transform: scale(1.04); }
/* 카드별 배경색 + object-position 미세 조정 */
.ing-card:nth-child(1) .ing-photo { background: #e8ebe5; }
.ing-card:nth-child(1) .ing-photo img { object-position: center 40%; } /* 상추: 잎 중심 */
.ing-card:nth-child(2) .ing-photo { background: #f0ebe3; }
.ing-card:nth-child(2) .ing-photo img { object-position: center 45%; } /* 체리: 정중앙 */
.ing-card:nth-child(3) .ing-photo { background: #f5e8e8; }
.ing-card:nth-child(3) .ing-photo img { object-position: center 55%; } /* 오미자: 열매 중심 */
.ing-card:nth-child(4) .ing-photo { background: #ede6db; }
.ing-card:nth-child(4) .ing-photo img { object-position: center 50%; } /* 대추: 정중앙 */
.ing-photo-label {
  font-family:var(--sans); font-size:.65rem; font-weight:400;
  letter-spacing:2px; color:rgba(255,255,255,.9); text-align:center;
  position:absolute; bottom:0; left:0; right:0;
  padding:6px 8px;
  background:linear-gradient(transparent, rgba(0,0,0,.25));
}
.ing-body { padding:20px 20px 24px; display:flex; flex-direction:column; flex:1; }
.ing-cn { position:absolute; top:8px; right:12px; font-family:var(--font-serif); font-size:2.8rem; font-weight:700; color:rgba(107,31,42,.06); line-height:1; pointer-events:none; }
.ing-name { font-family:var(--serif); font-size:1.1rem; font-weight:700; color:var(--ink); display:block; margin-bottom:3px; }

.ing-txt { font-family:var(--sans); font-size:.95rem; font-weight:300; line-height:1.9; color:var(--fog); margin-bottom:0; flex:1; }

/* ─────────────────────────────────────────────
   7. PACKAGE — 텍스트+가격 좌 | 이미지 우
───────────────────────────────────────────── */
/* ── PACKAGE — 새 디자인 ── */
.pkg-wrap {
  background: var(--ink);
  position: relative;
  overflow: hidden;
}
.pkg-wrap-inner {
  display: grid;
  grid-template-columns: 58% 42%;
  min-height: 700px;
  position: relative;
  z-index: 1;
}
.pkg-wm {
  position: absolute;
  font-family: var(--serif); font-size: 28vw; font-weight: 900;
  color: rgba(255,255,255,.025); bottom: -4vw; right: -2vw;
  line-height: 1; pointer-events: none; letter-spacing: -4px;
  z-index: 0;
}

/* 좌: 텍스트 */
.pkg-l {
  padding: 80px 64px;
  display: flex; flex-direction: column; justify-content: center;
  border-right: 1px solid rgba(255,255,255,.08);
  position: relative; z-index: 1;
}
.pkg-l .sl .sll { background: rgba(232,96,128,.5) !important; }
.pkg-l .sl .slt { color: rgba(232,96,128,.85) !important; }

.pkg-h {
  font-family: var(--serif); font-size: clamp(28px,3.3vw,46px);
  font-weight: 200; line-height: 1.35; letter-spacing: -1px;
  color: #fff; margin-bottom: 16px;
}
.pkg-h strong { font-weight: 900; color: var(--wine3); display: block; }
.pkg-p {
  font-family: var(--serif); font-size: 1rem; font-weight: 300;
  line-height: 2; color: rgba(255,255,255,.85); margin-bottom: 36px;
}

/* 가격 블록 */
.pkg-price {
  padding: 24px 0; margin-bottom: 28px;
  border-top: 1px solid rgba(255,255,255,.1);
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.pkg-pl {
  font-family: var(--font-sans); font-style: italic;
  font-size: .85rem; letter-spacing: 3px;
  color: rgba(255,255,255,.6); display: block; margin-bottom: 8px;
}
.pkg-pn {
  font-family: var(--font-serif); font-size: clamp(44px,5vw,64px);
  font-weight: 600; color: #fff; line-height: 1; letter-spacing: -2px;
}
.pkg-pw {
  font-family: var(--serif); font-size: 1rem;
  font-weight: 300; color: rgba(255,255,255,.8);
}
.pkg-ps {
  font-family: var(--sans); font-size: .82rem; font-weight: 400;
  letter-spacing: 1px; color: rgba(255,255,255,.65);
  display: block; margin-top: 6px;
}

/* 가격 비교표 */
.pkg-compare {
  display: flex; flex-direction: column; gap: 0;
  margin-bottom: 32px;
  border: 1px solid rgba(255,255,255,.2); overflow: hidden;
}

/* CTA 버튼 */
.btn-o {
  display: inline-flex; align-items: center; gap: 12px;
  background: var(--wine); border: none;
  padding: 18px 44px;
  font-family: var(--sans); font-size: .88rem;
  font-weight: 400; letter-spacing: 3px;
  color: #fff; text-decoration: none; width: fit-content;
  text-transform: uppercase;
  transition: all .4s cubic-bezier(.16,1,.3,1);
  box-shadow: 0 4px 20px rgba(200,48,74,.3);
}
.btn-o:hover {
  background: var(--wine2); transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(200,48,74,.35);
}

/* 구성 리스트 */
.pkg-rows { display: flex; flex-direction: column; margin-top: 28px; }
.pkg-row {
  display: flex; gap: 16px; align-items: flex-start;
  padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.15);
}
.pkg-row:first-child { border-top: 1px solid rgba(255,255,255,.15); }
.pkg-ri { font-size: 1.2rem; flex-shrink: 0; margin-top: 2px; width: 24px; }
.pkg-rs {
  font-family: var(--serif); font-size: .95rem;
  font-weight: 600; color: #fff; display: block; margin-bottom: 3px;
}
.pkg-rp {
  font-family: var(--sans); font-size: .82rem;
  font-weight: 300; color: rgba(255,255,255,.85); line-height: 1.7;
}

/* 우: 이미지 패널 */
.pkg-r {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 24px 20px;
  gap: 12px;
  background: linear-gradient(160deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.0) 100%);
  position: relative; z-index: 1;
  border-left: 1px solid rgba(255,255,255,.06);
}
.pkg-img-ph {
  background: transparent;
  border: none;
  position: relative; overflow: hidden;
  width: 100%;
  flex-shrink: 0;
}

.pkg-img-ph:last-child  {
  flex: 0 0 42%;
  aspect-ratio: 2/3;
  border-radius: 20px;
  overflow: hidden;
  box-shadow:
    0 40px 100px rgba(0,0,0,0.6),
    0 0 0 1px rgba(255,255,255,.07);
}
.pkg-real-img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  transition: transform .6s cubic-bezier(.16,1,.3,1); display: block;
}
.pkg-img-ph:hover .pkg-real-img { transform: scale(1.04); }


/* 박스 이미지 */
.pkg-img-box {
  flex: 1 1 0;
  min-width: 0;
  aspect-ratio: 1/1;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,.06);
}
.pkg-img-box img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.pkg-img-ph img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.pkg-img-box:hover img { transform: scale(1.03); }

/* 반응형 */

/* ─────────────────────────────────────────────
   8. CTA
───────────────────────────────────────────── */
.cta-final {
  background: var(--grad-wine); min-height:78vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  position:relative; overflow:hidden; text-align:center; padding:180px 80px;
}
.cta-wm { position:absolute; font-family:var(--serif); font-size:32vw; font-weight:900; color:rgba(107,31,42,.028); top:50%; left:50%; transform:translate(-50%,-50%); white-space:nowrap; pointer-events:none; letter-spacing:-5vw; line-height:1; }

.cta-lbl { display:flex; align-items:center; gap:22px; margin-bottom:36px; position:relative; }
.cta-ll { width:52px; height:1px; background:rgba(255,255,255,0.4); }
.cta-lt { font-family:var(--font-sans); font-style:italic; font-size:1.25rem; letter-spacing:5px; color:rgba(255,255,255,0.6); }

.cta-h { font-family:var(--serif); font-size:clamp(48px,7vw,100px); font-weight:200; line-height:1.2; letter-spacing:-3px; color:#fff; position:relative; margin-bottom:8px; }
.cta-h strong { font-weight:900; color:rgba(255,220,200,1); display:block; letter-spacing:-4px; }
.cta-s { font-family:var(--serif); font-size:1.4rem; font-weight:300; color:rgba(255,255,255,0.85); line-height:2.1; margin:28px 0 56px; position:relative; }

.cta-btn {
  display:inline-flex; align-items:center; gap:16px;
  background:#fff; color:var(--wine2); text-decoration:none;
  padding:22px 68px; font-family:var(--sans); font-size:1.4rem; font-weight:600; letter-spacing:4px;
  text-transform:uppercase; transition:all .4s cubic-bezier(.16,1,.3,1);
  position:relative; overflow:hidden;
}
.cta-btn::after { content:''; position:absolute; inset:0; background:rgba(255,230,220,1); transform:translateX(-100%); transition:transform .4s cubic-bezier(.16,1,.3,1); }
.cta-btn:hover::after { transform:translateX(0); }
.cta-btn span { position:relative; z-index:1; }
.cta-btn:hover { transform:translateY(-3px); box-shadow:0 20px 50px rgba(107,31,42,.3); }
.cta-launch { margin-top:20px; margin-bottom:0; font-family:var(--font-sans); font-style:italic; font-size:1.1rem; color:rgba(255,255,255,0.85); letter-spacing:2px; position:relative; }
.cta-disc { margin-top:20px; font-size:.78rem; color:rgba(255,255,255,0.5); letter-spacing:.3px; position:relative; line-height:1.8; }

/* FOOTER */
footer { background:var(--ink); padding:56px 60px; display:flex; justify-content:space-between; align-items:center; }
.fb  { font-family:var(--serif); font-size:1.4rem; font-weight:700; color:rgba(255,255,255,.85); letter-spacing:3px; }
.fbs { font-family:var(--font-sans); font-style:italic; font-size:1.4rem; letter-spacing:3px; color:rgba(255,255,255,.85); display:block; margin-top:5px; }
.fr  { font-family:var(--sans); font-size:1.4rem; font-weight:300; color:rgba(255,255,255,.92); text-align:right; line-height:2.2; }

/* REVEAL — 기본값 보임, JS 로드 후 애니메이션 활성 */
.js-ready .r { opacity:0; transform:translateY(32px); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1); }
.js-ready .r.on { opacity:1 !important; transform:none !important; }
.d1{transition-delay:.1s} .d2{transition-delay:.2s} .d3{transition-delay:.3s} .d4{transition-delay:.4s}

/* ── HOW TO USE ── */
.howto { background: linear-gradient(175deg, #FDEEF2 0%, #F8D4E0 50%, #F0BECE 100%); padding:120px 60px 100px; }

.howto-head { margin-bottom:48px; }

.howto-steps {
  display:grid; grid-template-columns:1fr 36px 1fr 36px 1fr;
  align-items:stretch; gap:0; margin-bottom:56px;
}

.step-icon { font-size:1.8rem; margin-bottom:14px; display:block; }

.step-body { font-family:var(--sans); font-size:1.05rem; font-weight:300; color:rgba(255,255,255,.92); line-height:1.85; }

.step-divider { display:flex; align-items:center; justify-content:center; }
.step-divider span { display:block; width:1px; height:48px; background:rgba(255,255,255,.15); }

.howto-img-wrap { display:flex; align-items:center; gap:32px; padding-top:48px; border-top:1px solid var(--paper3); }
.howto-bottle { width:80px; height:auto; object-fit:contain; opacity:.85; }
.howto-note { font-family:var(--sans); font-size:.88rem; font-weight:300; color:var(--fog2); line-height:1.8; }

/* ── FAQ ── */
.faq-section { background:#FDEEF2; padding:120px 60px 100px; }
.faq-inner { max-width:860px; margin:0 auto; }
.faq-head { margin-bottom:64px; }
.faq-h { font-family:var(--serif); font-size:clamp(30px,3.5vw,48px); font-weight:200; color:var(--ink); letter-spacing:-1px; line-height:1.3; }

.faq-list { display:flex; flex-direction:column; gap:0; }
.faq-item {
  border-bottom:1px solid var(--paper3); cursor:pointer;
  transition:background .3s;
}
.faq-item:first-child { border-top:1px solid var(--paper3); }
.faq-item:hover { background:var(--paper2); }
.faq-q {
  display:flex; justify-content:space-between; align-items:center;
  padding:28px 4px; font-family:var(--serif); font-size:1.15rem; font-weight:500;
  color:var(--ink); line-height:1.5; gap:16px;
}
.faq-arrow {
  font-family:var(--font-sans); font-size:1.8rem; font-weight:300; color:var(--wine);
  flex-shrink:0; transition:transform .3s cubic-bezier(.16,1,.3,1); line-height:1;
}
.faq-a {
  font-family:var(--serif); font-size:1.05rem; font-weight:300; color:var(--fog);
  line-height:2.2; padding:0 4px; max-height:0; overflow:hidden;
  transition:max-height .4s cubic-bezier(.16,1,.3,1), padding .4s;
}
.faq-item.open .faq-arrow { transform:rotate(45deg); }
.faq-item.open .faq-a { max-height:480px; padding:0 4px 32px; }

/* responsive 추가 */

/* ── 핵심 강조 스타일 ── */
/* pull-quote: 핵심 한 줄 큰 인용 */
.pull {
  font-family:var(--serif); font-size:clamp(22px,2.8vw,38px);
  font-weight:200; line-height:1.6; letter-spacing:-.5px;
  color:var(--wine); border-left:3px solid var(--wine);
  padding:16px 0 16px 28px; margin:28px 0 24px;
  position:relative;
}
/* 인라인 하이라이트 */
.hl {
  background:linear-gradient(0deg, rgba(181,73,58,.13) 15%, rgba(181,73,58,.13) 85%);
  padding:1px 5px 2px; border-radius:3px;
  color:var(--wine); font-weight:700;
  box-decoration-break:clone; -webkit-box-decoration-break:clone;
  display:inline;
}
/* 다크 섹션용 하이라이트 */
.hl-w {
  background:rgba(255,255,255,.12);
  padding:2px 6px; border-radius:2px;
  color:#fff; font-weight:600;
}
/* 큰 숫자 단독 강조 */
.big-stat {
  display:block; font-family:var(--font-serif); font-size:clamp(56px,8vw,120px);
  font-weight:600; color:var(--wine); line-height:1; letter-spacing:-4px;
  margin-bottom:8px;
}
.big-stat-unit { font-size:.45em; font-weight:300; opacity:.7; }
.big-stat-label {
  font-family:var(--sans); font-size:1.1rem; font-weight:400;
  color:var(--fog); letter-spacing:.5px; display:block; margin-top:8px;
}
/* 강조 구분선 */
.accent-rule { width:48px; height:3px; background:var(--wine); margin:36px 0; display:block; }

/* ── HERO TRUST BADGES ── */
.h-trust {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  opacity:0; animation:su .9s cubic-bezier(.16,1,.3,1) forwards .88s;
}
.h-trust-item {
  display:flex; align-items:center; gap:5px;
  font-family:var(--sans); font-size:.8rem; font-weight:400;
  color:var(--fog2); letter-spacing:.5px;
}
.h-trust-icon { color:var(--wine); font-weight:700; }
.h-trust-sep { color:var(--paper3); font-size:.9rem; }

/* ── HERO PRICE HINT ── */
.h-price-hint {
  display:flex; align-items:baseline; gap:6px; flex-wrap:wrap;
  padding:12px 0 0; border-top:1px solid var(--paper3);
  opacity:0; animation:su .9s cubic-bezier(.16,1,.3,1) forwards .95s;
}
.h-price-from {
  font-family:var(--font-sans); font-style:italic; font-size:1rem;
  color:var(--fog); letter-spacing:2px;
}
.h-price-num {
  font-family:var(--font-serif); font-size:1.8rem; font-weight:600;
  color:var(--wine); letter-spacing:-1px; line-height:1;
}
.h-price-unit {
  font-family:var(--serif); font-size:.9rem; font-weight:300;
  color:var(--fog); letter-spacing:.5px;
}
.h-price-note {
  font-family:var(--sans); font-size:.78rem; color:var(--fog2);
  background:var(--paper3); padding:3px 8px; border-radius:2px;
  letter-spacing:.5px; align-self:center;
}

/* ── HERO PRICE BAR (모바일 전용) ── */
.hero-price-bar {
  display: none;
}

/* ── FOUNDER STORY ── */
.founder {
  background:#FAE0E8;
  padding:100px 72px;
  border-top:1px solid var(--paper3);
}
.founder .slt { color: var(--ink2) !important; }
.founder .sll { background: var(--ink2) !important; }
.founder-inner {
  max-width:800px; margin:0 auto;
}
.founder-img-wrap {
  display:flex; flex-direction:column; align-items:center; gap:16px;
}
.founder-badge {
  font-family:var(--font-sans); font-style:italic; font-size:1rem;
  letter-spacing:3px; color:var(--ink2);
}
.founder-h {
  font-family:var(--serif); font-size:clamp(26px,3vw,40px);
  font-weight:200; line-height:1.4; letter-spacing:-1px; color:var(--ink);
  margin-bottom:20px;
}
.founder-h strong { font-weight:900; color:var(--wine); display:block; }
.founder-p {
  font-family:var(--serif); font-size:1.1rem; font-weight:300;
  line-height:2.3; color:var(--ink2); margin-bottom:20px;
}
.founder-sig { margin-top:32px; padding-top:24px; border-top:1px solid var(--paper3); }
.founder-name {
  font-family:var(--serif); font-size:1.1rem; font-weight:700;
  color:var(--ink); display:block;
}
.founder-role {
  font-family:var(--font-sans); font-style:italic; font-size:1rem;
  letter-spacing:2px; color:var(--ink2); display:block; margin-top:4px;
}

/* ── BEFORE / AFTER ── */
.before-after {
  background:var(--paper); padding:100px 60px;
  border-top:1px solid var(--paper3);
}
.ba-inner { max-width:1100px; margin:0 auto; }
.ba-head { margin-bottom:56px; }
.ba-h {
  font-family:var(--serif); font-size:clamp(28px,3.5vw,48px);
  font-weight:200; color:var(--ink); letter-spacing:-1px; line-height:1.3;
}
.ba-h strong { font-weight:900; color:var(--wine); display:block; }

.ba-grid {
  display:grid; grid-template-columns:1fr 48px 1fr; gap:0;
  align-items:stretch; margin-bottom:56px;
}
/* ba 구 정의 제거됨 */

/* ── GUARANTEE ── */
.guarantee {
  display:flex; align-items:center; gap:32px;
  background:var(--ink); padding:40px 48px;
}
.guar-icon { font-size:2.5rem; flex-shrink:0; }
.guar-text { flex:1; }
.guar-title {
  font-family:var(--serif); font-size:1.2rem; font-weight:700;
  color:#fff; display:block; margin-bottom:8px; letter-spacing:.5px;
}
.guar-desc {
  font-family:var(--sans); font-size:.9rem; font-weight:300;
  color:rgba(255,255,255,.88); line-height:1.8;
}
.guar-btn {
  background:transparent; border:1.5px solid rgba(255,255,255,.5);
  color:#fff; cursor:pointer; padding:14px 36px; flex-shrink:0;
  font-family:var(--sans); font-size:.88rem; font-weight:400; letter-spacing:3px;
  text-transform:uppercase; transition:all .3s cubic-bezier(.16,1,.3,1);
  white-space:nowrap;
}
.guar-btn:hover { background:rgba(255,255,255,.1); border-color:#fff; }
.guar-btn span { position:relative; z-index:1; }

/* ── INLINE CTA: sub text ── */
.icta-left { flex:1; }
.icta-sub {
  font-family:var(--sans); font-size:.82rem; font-weight:300;
  color:rgba(255,255,255,.9); letter-spacing:.5px; margin-top:4px;
}

/* sc-src — 위 정의 사용 */

/* ── HERO BADGE ROW (카드형 신뢰 배지) ── */
.h-badge-row {
  display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px;
  opacity:0; animation:su .9s cubic-bezier(.16,1,.3,1) forwards .72s;
}
.h-badge {
  display:flex; align-items:center; gap:8px;
  background:var(--paper2); border:1px solid rgba(160,31,56,.25);
  padding:9px 16px; border-radius:2px;
  transition:border-color .3s;
}
.h-badge:hover { border-color:var(--dust); }
.h-badge-icon { font-size:1rem; line-height:1; }
.h-badge-label {
  font-family:var(--sans); font-size:.82rem; font-weight:400;
  color:var(--ink2); letter-spacing:.5px; white-space:nowrap;
}

/* ── INGREDIENTS: effect-first ── */
.ing-effect {
  font-family:var(--serif); font-size:1.1rem; font-weight:700;
  color:var(--wine); display:block; margin-bottom:8px; letter-spacing:.5px;
}
.ing-en {
  font-family:var(--font-sans); font-style:italic; font-size:.85rem;
  letter-spacing:1.5px; color:var(--fog2); display:block; margin-bottom:16px;
}

/* ── FOUNDER: Q&A summary ── */
.founder-summary {
  display:flex; flex-direction:column; gap:14px;
  padding:24px 28px; background:var(--paper3); margin-bottom:4px;
}
.fs-item { display:flex; flex-direction:column; gap:5px; }
.fs-q {
  font-family:var(--sans); font-size:.72rem; font-weight:500;
  color:var(--fog2); letter-spacing:2px; text-transform:uppercase;
}
.fs-a {
  font-family:var(--serif); font-size:1.05rem; font-weight:600;
  color:var(--ink); line-height:1.5;
}

.usp-compare-table {
  width:100%; border-collapse:collapse;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.uct-row {
  display:grid; grid-template-columns:1fr 1.4fr 1.4fr;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.uct-row:last-child { border-bottom:none; }
.uct-head { background:rgba(255,255,255,.06); }
.uct-cell {
  padding:13px 18px;
  font-family:var(--sans); font-size:.85rem; font-weight:300;
  color:rgba(255,255,255,.88); line-height:1.5;
}
.uct-label { color:rgba(255,255,255,.8); font-size:.78rem; letter-spacing:.5px; }
.uct-head .uct-them { color:rgba(255,255,255,.8); font-size:.75rem; letter-spacing:2px; text-transform:uppercase; }
.uct-head .uct-us  { color:var(--wine3); font-size:.75rem; letter-spacing:2px; text-transform:uppercase; font-weight:500; }
.uct-them { color:rgba(255,255,255,.8); }
.uct-us   { color:var(--wine3); font-weight:500; }

/* ── BEFORE/AFTER ICONS ── */
.ba-list li { display:flex; align-items:flex-start; gap:12px; }
.ba-icon { font-size:1.2rem; flex-shrink:0; line-height:1.5; }

/* ── INLINE CTA DUAL BUTTONS ── */
.icta-btns {
  display:flex; flex-direction:column; gap:10px; flex-shrink:0;
}
.icta-btn-sec {
  text-align:center; padding:10px 24px;
  font-family:var(--sans); font-size:.82rem; font-weight:400; letter-spacing:2px;
  color:rgba(255,255,255,.9); text-decoration:none; text-transform:uppercase;
  border:1px solid rgba(255,255,255,.2); transition:all .3s;
  white-space:nowrap;
}
.icta-btn-sec:hover { color:#fff; border-color:rgba(255,255,255,.5); }

/* ══ EMPATHY 인포그래픽 ══ */
.emp-infographic {
  border: none !important;
  background: linear-gradient(160deg, rgba(59,10,31,.72) 0%, rgba(90,21,48,.65) 100%) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  align-items: stretch !important;
  padding: 0 !important;
}
.emp-ig-inner {
  width: 100%;
  padding: 28px 32px 20px;
  display: flex; flex-direction: column; gap: 16px;
}
.emp-ig-eyebrow {
  font-family: var(--sans); font-style: italic;
  font-size: .62rem; letter-spacing: 3px;
  color: rgba(232,96,128,.6); text-transform: uppercase;
  display: block; margin-bottom: 8px;
}
.emp-ig-header { flex-shrink: 0; }
.emp-ig-label {
  font-family: var(--sans); font-size: 1.05rem; font-weight: 600; font-weight: 700;
  letter-spacing: .5px; color: rgba(255,255,255,.45);
  display: block; margin-bottom: 2px;
}
.emp-ig-total {
  display: flex; align-items: baseline; gap: 4px;
  margin-bottom: 2px;
}
.emp-ig-num {
  font-family: var(--serif); font-size: clamp(30px, 4vw, 44px);
  font-weight: 900; color: #fff; letter-spacing: -1.5px; line-height: 1;
}
.emp-ig-unit {
  font-family: var(--serif); font-size: .9rem; font-weight: 300;
  color: rgba(255,255,255,.55);
}
.emp-ig-sub {
  font-family: var(--serif); font-size: 1rem; font-weight: 600; font-weight: 600;
  color: rgba(255,255,255,.55); letter-spacing: .3px;
}

/* 차트 + 범례 row */
.emp-ig-body {
  display: flex; align-items: center; gap: 28px;
  flex: 1;
}
.emp-ig-donut {
  position: relative; flex-shrink: 0;
  width: 230px; height: 230px;
}
.emp-ig-donut svg { display: block; }
.emp-ig-donut-center {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none;
}
.emp-ig-moon { font-size: 1.3rem; line-height: 1; }

/* 세그먼트 애니메이션 */
@keyframes igDashIn { from { stroke-dashoffset: 364; } }
.ig-seg-female {
  stroke-dashoffset: -142.1;
}
.ig-seg-female { animation: igFemale .9s cubic-bezier(.16,1,.3,1) .2s both; }
.ig-seg-male   { animation: igMale   .9s cubic-bezier(.16,1,.3,1) .1s both; }
@keyframes igFemale {
  from { stroke-dasharray: 0 364.4; stroke-dashoffset: -142.1; }
  to   { stroke-dasharray: 218.3 364.4; stroke-dashoffset: -142.1; }
}
@keyframes igMale {
  from { stroke-dasharray: 0 364.4; }
  to   { stroke-dasharray: 138.1 364.4; }
}

/* 범례 */
.emp-ig-legend {
  flex: 1; display: flex; flex-direction: column; gap: 16px;
}
.emp-ig-card {
  padding: 14px 20px 14px;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
.emp-ig-card::before {
  content: ''; position: absolute;
  left: 0; top: 0; bottom: 0; width: 3px;
  border-radius: 6px 0 0 6px;
}
.emp-ig-card--f {
  background: linear-gradient(135deg, rgba(200,48,74,.22) 0%, rgba(160,31,56,.15) 100%);
  border: 1px solid rgba(200,48,74,.35);
}
.emp-ig-card--f::before { background: linear-gradient(to bottom, #E86080, #C8304A); }
.emp-ig-card--m {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
}
.emp-ig-card--m::before { background: rgba(255,255,255,.2); }

.emp-ig-card-tag {
  font-family: var(--sans); font-size: .85rem; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  display: block; margin-bottom: 6px;
}
.emp-ig-card--f .emp-ig-card-tag { color: #E86080; }
.emp-ig-card--m .emp-ig-card-tag { color: rgba(255,255,255,.4); }

.emp-ig-card-pct {
  display: flex; align-items: baseline; gap: 2px;
  margin-bottom: 1px;
}
.emp-ig-card-pct strong {
  font-family: var(--serif); font-weight: 900; line-height: 1;
  letter-spacing: -1px;
}
.emp-ig-card--f .emp-ig-card-pct strong { font-size: 2.6rem; color: #fff; }
.emp-ig-card--m .emp-ig-card-pct strong { font-size: 2.1rem; color: rgba(255,255,255,.7); }
.emp-ig-card-pct span {
  font-family: var(--serif); font-size: .85rem; font-weight: 300;
  color: rgba(255,255,255,.5);
}
.emp-ig-card-count {
  font-family: var(--sans); font-size: .88rem; font-weight: 400;
  letter-spacing: .5px; margin-top: 4px; display: block;
}
.emp-ig-card--f .emp-ig-card-count { color: rgba(255,200,210,.5); }
.emp-ig-card--m .emp-ig-card-count { color: rgba(255,255,255,.3); }

/* 출처 */
.emp-ig-source {
  font-family: var(--sans); font-size: .68rem; font-weight: 300;
  color: rgba(255,255,255,.45); letter-spacing: .3px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.1);
}


/* 박스 이미지 */
.pkg-img-box {
  flex: 1 1 0;
  min-width: 0;
  aspect-ratio: 1/1;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,.06);
}
.pkg-img-box img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.pkg-img-ph img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.pkg-img-box:hover img { transform: scale(1.03); }

/* 반응형 */
@media (max-width: 768px) {
  .emp-ig-donut { width: 110px; height: 110px; }
  .emp-ig-donut svg { width: 110px; height: 110px; }
  .emp-ig-inner { padding: 20px 20px 16px; gap: 12px; }
  .emp-ig-card--f .emp-ig-card-pct strong { font-size: 2rem; }
  .emp-ig-card--m .emp-ig-card-pct strong { font-size: 1.6rem; }
}


@keyframes appear { from{opacity:0} to{opacity:1} }
@keyframes su { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:none} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-18px)} }

/* ── TRUST BAR (히어로 아래 신뢰 지표 띠) ── */
.trust-bar {
  background: var(--ink);
  padding: 14px 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.trust-bar::-webkit-scrollbar { display: none; }
.trust-bar-items {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.trust-bar-item {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 24px;
  border-right: 1px solid rgba(255,255,255,.12);
}
.trust-bar-item:last-child { border-right: none; }
.trust-bar-icon { font-size: 1rem; line-height: 1; flex-shrink: 0; }
.trust-bar-text {
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 400;
  letter-spacing: .8px;
  color: rgba(255,255,255,.92);
}
.trust-bar-text strong { font-weight: 600; color: #fff; }

@media (max-width: 768px) {
  .trust-bar {
    padding: 0;
    overflow-x: visible;
  }
  .trust-bar-items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    flex-wrap: unset;
    white-space: normal;
    width: 100%;
    gap: 0;
  }
  .trust-bar-item {
    padding: 12px 16px;
    border-right: 1px solid rgba(255,255,255,.1);
    border-bottom: 1px solid rgba(255,255,255,.1);
    gap: 8px;
    align-items: center;
  }
  .trust-bar-item:nth-child(even) { border-right: none; }
  .trust-bar-item:nth-last-child(-n+2) { border-bottom: none; }
  .trust-bar-text { font-size: .78rem; letter-spacing: .4px; white-space: normal; }
  .trust-bar-icon { font-size: .95rem; }
}

/* ── HERO SOLVE LINE ── */
.h-solve {
  font-family:var(--serif); font-size:1.1rem; font-weight:300;
  line-height:1.9; color:var(--ink2); margin-bottom:24px;
  opacity:0; animation: su .9s cubic-bezier(.16,1,.3,1) forwards .58s;
}
.h-solve strong { font-weight:700; color:var(--wine); }

/* ── USP DIFF BADGE ── */
.usp-diff {
  display:inline-block; background:var(--wine3); color:#fff;
  font-family:var(--sans); font-size:.7rem; font-weight:500;
  letter-spacing:2px; padding:4px 10px; margin-bottom:14px;
  text-transform:uppercase;
}

/* ── INLINE CTA BAR ── */
.inline-cta {
  background: linear-gradient(135deg, var(--wine) 0%, var(--wine2) 100%); padding:32px 60px;
  display:flex; align-items:center; justify-content:space-between; gap:32px;
  position: relative;
}
.icta-msg {
  font-family:var(--serif); font-size:1.25rem; font-weight:300;
  color:#fff; letter-spacing:.5px;
  text-shadow: 0 1px 2px rgba(0,0,0,.15);
}
.icta-btn {
  background:rgba(255,255,255,.1); border:1.5px solid rgba(255,255,255,.9);
  color:#fff; cursor:pointer; padding:14px 40px;
  font-family:var(--sans); font-size:.95rem; font-weight:400; letter-spacing:3px;
  text-transform:uppercase; white-space:nowrap;
  transition:all .3s cubic-bezier(.16,1,.3,1); flex-shrink:0;
}
.icta-btn:hover { background:rgba(255,255,255,.15); border-color:#fff; transform:translateY(-2px); }
.icta-btn span { position:relative; z-index:1; }

/* ── PRICE COMPARE ── */
.pkg-compare {
  display:flex; flex-direction:column; gap:0; margin-bottom:28px;
  border:1px solid rgba(160,31,56,.25); overflow:hidden;
}
.pc-item {
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 20px; border-bottom:1px solid rgba(255,255,255,.12);
  font-family:var(--sans); font-size:.9rem; color:#fff;
}
.pc-item:last-child { border-bottom:none; }
.pc-item--winner {
  background:rgba(232,96,128,.15); color:#fff;
}
.pc-label { font-weight:400; }
.pc-price { font-family:var(--font-serif); font-size:1.1rem; font-weight:600; color:#fff; }
.pc-item--winner .pc-price { color:var(--wine3); }
.line-through { text-decoration:line-through; opacity:.6; }

/* responsive for new elements */
/* RESPONSIVE */

/* ─────────────────────────────────────────────
   MOBILE RESPONSIVE (max-width: 768px)
───────────────────────────────────────────── */

/* ── SUCCESS TOAST ── */
.success-toast {
  position: fixed; bottom: 32px; left: 50%; transform: translateX(-50%) translateY(24px);
  z-index: 9000;
  display: flex; align-items: center; gap: 14px;
  background: var(--ink);
  color: #fff;
  padding: 16px 28px;
  border-radius: 4px;
  box-shadow: 0 8px 40px rgba(0,0,0,.25);
  opacity: 0; visibility: hidden;
  transition: opacity .4s cubic-bezier(.16,1,.3,1), transform .4s cubic-bezier(.16,1,.3,1), visibility .4s;
  white-space: nowrap;
  pointer-events: none;
}
.success-toast.show {
  opacity: 1; visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.success-toast-icon { font-size: 1.4rem; line-height: 1; }
.success-toast-body {
  display: flex; flex-direction: column; gap: 2px;
}
.success-toast-body strong {
  font-family: var(--serif); font-size: 1rem; font-weight: 700;
  color: #fff;
}
.success-toast-body span {
  font-family: var(--sans); font-size: .82rem; font-weight: 300;
  color: rgba(255,255,255,.92); letter-spacing: .3px;
}

/* ── 신청자 수 카운터 ── */
.h-counter {
  display: flex; align-items: center; gap: 8px;
}
.h-counter-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--wine);
  box-shadow: 0 0 0 0 rgba(200,48,74,.4);
  animation: pulse-dot 2s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes pulse-dot {
  0%   { box-shadow: 0 0 0 0 rgba(200,48,74,.4); }
  70%  { box-shadow: 0 0 0 7px rgba(200,48,74,0); }
  100% { box-shadow: 0 0 0 0 rgba(200,48,74,0); }
}
.h-counter-text {
  font-family: var(--sans); font-size: .85rem;
  font-weight: 300; color: var(--fog2); letter-spacing: .3px;
}
.h-counter-text strong {
  font-weight: 600; color: var(--wine);
}

/* ── SECTION FOOTNOTES ── */
sup.fnref {
  font-family: var(--sans);
  font-size: .65rem;
  color: var(--fog2);
  vertical-align: super;
  line-height: 0;
  margin-left: 2px;
  font-style: normal;
}
.section-fn {
  background: var(--paper2);
  border-top: 1px solid var(--paper3);
  padding: 16px 72px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.section-fn--light {
  background: rgba(253,238,242,.6);
}
.section-fn p {
  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 300;
  color: var(--fog2);
  line-height: 1.7;
  letter-spacing: .2px;
}
.section-fn em { font-style: italic; }

/* ── FOOTNOTES (footer) ── */
.footnotes {
  background:var(--paper2);
  border-top:1px solid var(--paper3);
  padding:28px 72px;
  display:flex; flex-direction:column; gap:8px;
}
.footnotes p {
  font-family:var(--sans); font-size:.72rem; font-weight:300;
  color:var(--fog2); line-height:1.7; letter-spacing:.2px;
}
.footnotes em { font-style:italic; }

/* ── PRIVACY MODAL ── */
.privacy-modal-overlay {
  position:fixed; inset:0; background:rgba(20,12,4,.7);
  display:none; align-items:center; justify-content:center;
  z-index:9000;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.privacy-modal-overlay.open { display:flex; }
.privacy-modal-box {
  background:var(--paper);
  padding:48px 44px 44px;
  width:min(640px, 92vw);
  max-height:85vh;
  overflow-y:auto;
  position:relative;
  border-radius:4px;
  animation:su .4s cubic-bezier(.16,1,.3,1) forwards;
}
.privacy-modal-box h2 {
  font-family:var(--serif); font-size:1.4rem; font-weight:700;
  color:var(--ink); margin-bottom:20px; letter-spacing:-0.5px;
}
.privacy-modal-box h3 {
  font-family:var(--serif); font-size:1rem; font-weight:600;
  color:var(--ink2); margin:20px 0 8px; letter-spacing:.2px;
}
.privacy-modal-box p, .privacy-modal-box li {
  font-family:var(--sans); font-size:.88rem; font-weight:300;
  color:var(--fog); line-height:1.9; letter-spacing:.2px;
}
.privacy-modal-box ul { padding-left:18px; margin-bottom:8px; }
.privacy-modal-close {
  position:absolute; top:20px; right:24px;
  background:none; border:none; cursor:pointer;
  font-family:var(--font-sans); font-size:2rem; color:var(--fog);
  line-height:1; padding:4px; transition:color .2s;
}
.privacy-modal-close:hover { color:var(--wine); }
.privacy-updated {
  font-family:var(--sans); font-size:.75rem; color:var(--fog2);
  margin-bottom:24px; padding-bottom:16px;
  border-bottom:1px solid var(--paper3);
}

.modal-overlay {
  position:fixed; inset:0; background:rgba(20,12,4,.6);
  display:none; align-items:flex-start; justify-content:center;
  z-index:8000;
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  overflow-y:auto; -webkit-overflow-scrolling:touch;
  padding:40px 20px;
}
.modal-overlay.open { display:flex; }
.modal-box {
  background:var(--paper);
  padding:48px 44px 44px;
  width:min(500px, 90vw);
  position:relative;
  border-radius:4px;
  animation:su .5s cubic-bezier(.16,1,.3,1) forwards;
  margin: auto;
  flex-shrink: 0;
  z-index:1;
}
.modal-close {
  width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--paper2); border:1px solid rgba(160,31,56,.25);
  position:absolute; top:20px; right:24px;
  background:none; border:none; cursor:pointer;
  font-family:var(--font-sans); font-size:2rem; color:var(--fog);
  line-height:1; padding:4px;
  transition:color .2s;
  z-index:10; pointer-events:auto;
}
.modal-close:hover { color:var(--wine); }
.modal-tag { font-family:var(--font-sans); font-style:italic; font-size:1rem; letter-spacing:4px; color:var(--wine); display:block; margin-bottom:12px; }
.modal-h { font-family:var(--serif); font-size:1.5rem; font-weight:200; color:var(--ink); line-height:1.4; margin-bottom:6px; }
.modal-h strong { font-weight:900; color:var(--wine); }
.modal-sub { font-family:var(--sans); font-size:.9rem; color:var(--fog); line-height:1.8; margin-bottom:24px; }
.form-row { margin-bottom:16px; }
.form-label { font-family:var(--sans); font-size:.85rem; font-weight:500; letter-spacing:1.5px; color:var(--ink2); display:block; margin-bottom:8px; text-transform:uppercase; }
.form-input {
  width:100%; border:none; border-bottom:1.5px solid var(--paper3);
  background:transparent; padding:10px 0;
  font-family:var(--serif); font-size:1.1rem; color:var(--ink);
  outline:none; transition:border-color .3s;
}
.form-input:focus { border-color:var(--wine); }
.form-input::placeholder { color:var(--fog); opacity:.6; }
.form-check { display:flex; align-items:flex-start; gap:12px; margin-bottom:20px; }
.form-check input[type="checkbox"] { margin-top:3px; accent-color:var(--wine); flex-shrink:0; }
.form-check label { font-family:var(--sans); font-size:.88rem; color:var(--fog); line-height:1.7; }
.form-check a { color:var(--wine); }
.form-submit {
  width:100%; background:var(--wine); color:#fff; border:none; cursor:pointer;
  padding:18px 32px; font-family:var(--sans); font-size:1rem; font-weight:400; letter-spacing:3px;
  text-transform:uppercase; position:relative; overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1);
}
.form-submit::after { content:''; position:absolute; inset:0; background:var(--wine2); transform:translateX(-100%); transition:transform .4s cubic-bezier(.16,1,.3,1); }
.form-submit:hover::after { transform:translateX(0); }
.form-submit span { position:relative; z-index:1; }
.form-submit:hover { transform:translateY(-2px); box-shadow:0 14px 36px rgba(107,31,42,.3); }
.form-success {
  text-align:center; padding:24px 0;
}
.form-success-icon { font-size:2.5rem; margin-bottom:16px; display:block; }
.form-success-h { font-family:var(--serif); font-size:1.4rem; font-weight:200; color:var(--ink); line-height:1.5; }
.form-success-h strong { font-weight:900; color:var(--wine); }
.form-success-p { font-family:var(--sans); font-size:.9rem; color:var(--fog); margin-top:12px; line-height:1.8; }
/* ── 3초 이해 블록 ── */
.h-clarity {
  display:flex; flex-direction:column; gap:6px;
  padding:14px 18px; background:var(--paper2);
  border-left:3px solid var(--wine); margin-bottom:28px;
  opacity:0; animation:su .9s cubic-bezier(.16,1,.3,1) forwards .65s;
}
.h-cl-item {
  font-family:var(--sans); font-size:.82rem; font-weight:300;
  color:var(--fog); line-height:1.6; letter-spacing:.3px;
}
.h-cl-item strong { font-weight:600; color:var(--ink); margin-right:4px; }

/* ── howto 주의문 상단 배치 ── */
.howto-note-top {
  font-family:var(--sans); font-size:.8rem; font-weight:300;
  color:var(--fog2); letter-spacing:.3px; line-height:1.8;
  padding:0 60px 20px; max-width:1100px; margin:0 auto;
}

/* ══ LIFESTYLE + BEFORE/AFTER 통합 섹션 ══ */
/* ══ LIFE + BA 통합 섹션 ══ */
.life-ba-section {
  background: linear-gradient(175deg, #FDEEF2 0%, #F5C8D8 100%);
  padding:80px 0 0;
}
.life-ba-header { padding:0 72px 52px; }
.life-ba-h {
  font-family:var(--serif);
  font-size:clamp(18px,2.2vw,30px);
  font-weight:200; line-height:1.5; letter-spacing:-.5px;
  color:var(--ink); max-width:580px;
}
.life-ba-h strong {
  font-weight:900; color:var(--wine);
  display:block; margin-top:6px; letter-spacing:-1px;
}

/* ── 라이프스타일 좌 컬럼 ── */
.life-ph {
  background:var(--paper2);
  position:relative; overflow:hidden;
}
.life-ph .life-img {
  width:100%; height:100%; object-fit:cover;
  display:block;
  transition:transform .7s cubic-bezier(.16,1,.3,1);
}
.life-ph:hover .life-img { transform:scale(1.04); }
.life-two-row {
  display:grid; grid-template-columns:1fr 1fr; gap:3px;
}
.life-two-row .life-ph { min-height:0; }
.life-caption {
  position:absolute; bottom:0; left:0; right:0;
  padding:40px 22px 18px;
  background:linear-gradient(transparent, rgba(30,15,8,.55));
  display:flex; flex-direction:column; gap:3px;
}
.lc-em {
  font-family:var(--serif); font-size:1rem; font-weight:700;
  color:#fff; display:block; letter-spacing:.5px;
}
.life-caption span:not(.lc-em) {
  font-family:var(--sans); font-size:.75rem; font-weight:300;
  color:rgba(255,255,255,.7); letter-spacing:.5px;
}

/* ── Before / After 우 컬럼 ── */
/* Before 블록 */
.ba-col { padding:0; }
.ba-before {
  background:rgba(90,69,53,.03);
  border:1px solid rgba(90,69,53,.1);
  border-radius:6px;
  padding:20px 20px 22px;
  margin-bottom:0;
}
/* After 블록 */
.ba-after {
  background: linear-gradient(135deg, rgba(181,73,58,.07) 0%, rgba(138,50,40,.04) 100%);
  border:1px solid rgba(181,73,58,.2);
  border-radius:6px;
  padding:20px 20px 22px;
}

/* 구분선 */
.ba-divider {
  display:flex; align-items:center; gap:10px;
  padding:14px 4px; color:var(--wine);
  font-family:var(--sans); font-size:.72rem;
  font-weight:500; letter-spacing:3px; text-transform:uppercase;
  opacity:.7;
}
.ba-divider::before, .ba-divider::after {
  content:''; flex:1; height:1px;
  background:rgba(181,73,58,.2);
}

/* 뱃지 */
.ba-badge {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--sans); font-size:.62rem;
  font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
  background:rgba(90,69,53,.08); color:var(--fog2);
  padding:4px 10px; margin-bottom:14px; border-radius:20px;
}
.ba-badge--after {
  background: linear-gradient(135deg, var(--wine) 0%, var(--wine2) 100%);
  color:#fff;
}

/* 리스트 */
.ba-list { list-style:none; display:flex; flex-direction:column; gap:7px; }
.ba-list li { display:flex; align-items:flex-start; gap:9px; }
.ba-icon { font-size:.9rem; flex-shrink:0; line-height:1.75; }
.ba-before .ba-list li span:not(.ba-icon) {
  font-family:var(--sans); font-size:.83rem; font-weight:300;
  color:var(--fog); line-height:1.6;
}
.ba-after .ba-list li span:not(.ba-icon) {
  font-family:var(--sans); font-size:.85rem; font-weight:500;
  color:var(--ink2); line-height:1.6;
}

/* ══ STEP 번호 — 더 잘 보이게 ══ */
.stats-top {
  display:grid; grid-template-columns:1fr 1.35fr 1fr;
  gap:20px; padding:72px 72px 0;
  align-items:center;
}
.sc {
  background: #fff;
  border:1.5px solid rgba(160,31,56,.2); border-radius:8px;
  box-shadow: 0 4px 24px rgba(160,31,56,.10);
  padding:36px 28px; display:flex; flex-direction:column;
  align-items:center; text-align:center;
  transition:box-shadow .3s, transform .3s;
  box-shadow: 0 2px 12px rgba(61,43,26,0.05);
}
.sc:hover { box-shadow:0 12px 40px rgba(107,31,42,.1); transform:translateY(-2px); }
.sc--center {
  padding:52px 36px;
  background: linear-gradient(160deg, #fff 0%, #FDEEF2 100%);
  border:1.5px solid rgba(200,48,80,.4);
  box-shadow: 0 8px 40px rgba(160,31,56,58,.15), 0 2px 8px rgba(181,73,58,.08);
  border-radius:12px;
}

.stats-note {
  text-align:center; padding:24px 72px 0;
  font-family:var(--sans); font-size:.75rem; font-weight:300;
  color:var(--fog); letter-spacing:.8px;
  display:flex; align-items:center; justify-content:center; gap:8px;
}
.stats-note::before, .stats-note::after {
  content:''; display:block; width:32px; height:1px; background:var(--paper3);
}

/* 채팅 말풍선 — 더 예쁘게 */
.stats-reviews { padding:60px 72px 80px; }
.rv-chat { max-width:720px; }
.rv-bubble-wrap { gap:12px; }
.rv-avatar {
  width:38px; height:38px; border-radius:50%;
  background:linear-gradient(135deg, var(--paper2), var(--paper3));
  display:flex; align-items:center; justify-content:center;
  font-size:.9rem; flex-shrink:0;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.rv-bubble {
  background:#fff;
  border-radius:20px 20px 20px 6px;
  padding:14px 20px; max-width:68%;
  box-shadow:0 3px 16px rgba(107,31,42,.07);
}
.rv-bubble-wrap--right .rv-bubble {
  border-radius:20px 20px 6px 20px;
  background:var(--wine);
  box-shadow:0 3px 16px rgba(107,31,42,.2);
}

.sticky-cta {
  display: none !important;
}
.sticky-cta.visible { transform:translateY(0); }
.sticky-cta-inner {
  max-width:1200px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 48px; gap:24px;
}
.sticky-cta-text { display:flex; flex-direction:column; gap:2px; }
.sticky-cta-name {
  font-family:var(--serif); font-size:1rem; font-weight:700;
  color:#fff; letter-spacing:2px; text-shadow:0 1px 3px rgba(0,0,0,.3);
}
.sticky-cta-desc {
  font-family:var(--sans); font-size:.75rem; font-weight:300;
  color:rgba(255,255,255,.9); letter-spacing:.5px;
}
.sticky-cta-actions {
  display:flex; align-items:center; gap:24px; flex-shrink:0;
}
.sticky-trust {
  font-family:var(--sans); font-size:.75rem; font-weight:300;
  color:rgba(255,255,255,.75); letter-spacing:.5px; white-space:nowrap;
}
.sticky-cta-btn {
  background:var(--wine); color:#fff; border:none; cursor:pointer;
  padding:11px 28px; font-family:var(--sans); font-size:.85rem;
  font-weight:400; letter-spacing:3px; text-transform:uppercase;
  transition:background .3s; white-space:nowrap;
}
.sticky-cta-btn:hover { background:var(--wine2); }
.sticky-cta-btn span { position:relative; z-index:1; }

/* ══ STACKED OVERLAPPING BUBBLE REVIEWS ══ */
.rv-stacked {
  position: relative;
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-bottom: 32px;
}
.rv-stk {
  position: relative;
  background: #fff;
  border-radius: 22px;
  padding: 24px 32px 22px;
  max-width: 68%;
  box-shadow: 0 6px 24px rgba(61,43,26,0.10), 0 2px 8px rgba(61,43,26,0.06);
  margin-bottom: -4px;
  z-index: 1;
  border: 1px solid rgba(200,120,150,0.5);
  transition: transform 0.3s, box-shadow 0.3s, z-index 0s;
}
.rv-stk:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 16px 48px rgba(61,43,26,0.15);
  z-index: 10 !important;
}
.rv-stk--1 { z-index: 5; }
.rv-stk--2 { z-index: 4; }
.rv-stk--3 { z-index: 3; }
.rv-stk--4 { z-index: 2; }
.rv-stk--5 { z-index: 1; }
.rv-stk--6 { z-index: 0; }
.rv-stk--left {
  align-self: flex-start;
  border-radius: 22px 22px 22px 6px;
}
.rv-stk--right {
  align-self: flex-end;
  border-radius: 22px 22px 6px 22px;
  background: linear-gradient(135deg, #FDEEF2 0%, #FAE0E8 100%);
}
.rv-stk-tail {
  position: absolute;
  bottom: -10px;
  width: 16px; height: 16px;
  background: inherit;
  border-right: 1px solid rgba(200,120,150,0.5);
  border-bottom: 1px solid rgba(200,120,150,0.5);
}
.rv-stk-tail--left { left: 18px; clip-path: polygon(0 0, 100% 0, 0 100%); }
.rv-stk-tail--right { right: 18px; clip-path: polygon(0 0, 100% 0, 100% 100%); }
.rv-stk-stars {
  font-size: 0.72rem; color: var(--wine); letter-spacing: 2px; margin-bottom: 8px; opacity: 0.9;
}
.rv-stk-text {
  font-family: var(--sans); font-size: 1rem; font-weight: 300;
  color: var(--ink2); line-height: 1.85; margin: 0;
}
.rv-stk-text b { font-weight: 600; color: var(--ink); }
.rv-footnote {
  font-family: var(--sans); font-size: 0.72rem; color: var(--fog2);
  text-align: center; margin-top: 28px; letter-spacing: 0.5px; opacity: 0.7;
}

/* ══ HOW TO USE 강화 — 다크 테마 ══ */
.howto {
  background: linear-gradient(170deg, #3B0A1F 0%, #5A1530 50%, #3B0A1F 100%);
  padding: 80px 60px 72px;
  position: relative;
  overflow: hidden;
}
.howto::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none; opacity: 0.5;
}
.howto-inner { position: relative; z-index: 1; }
.howto-h { color: #fff !important; font-family: var(--serif) !important; font-size: clamp(30px,3.5vw,50px); font-weight: 200; line-height: 1.4; letter-spacing: -1px; }
.howto-h strong { font-family: var(--serif) !important; font-weight: 900; color: var(--wine3) !important; }
.howto .sl .sll { background: rgba(160,31,56,0.5) !important; }
.howto .sl .slt { color: rgba(160,31,56,0.85) !important; }
.howto-step {
  text-align: center; padding: 36px 28px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  transition: background 0.3s, transform 0.3s;
}
.howto-step:hover {
  background: rgba(255,255,255,0.08);
  transform: translateY(-4px);
}
.step-num { color: var(--wine3); -webkit-text-stroke: 0; }
.step-title { color: #fff; font-family: var(--serif); font-weight: 600; font-size: 1.15rem; }
.step-body { color: rgba(255,255,255,0.82); }
.step-divider span {
  background: linear-gradient(to bottom, transparent, rgba(160,31,56,0.4), transparent);
}
.howto-note-top { color: rgba(255,255,255,0.65) !important; }
.howto-img-wrap { border-top: 1px solid rgba(255,255,255,0.1) !important; }
.howto-note { color: rgba(255,255,255,0.7) !important; }
.howto-note .hl { background: rgba(160,31,56,0.15) !important; color: var(--dust) !important; padding:1px 5px 2px !important; }

/* ══ DAILY ROUTINE 사진 비율 ══ */
.life-col {
  display: grid;
  grid-template-rows: 320px 220px;
  gap: 3px;
  background: var(--paper3);
  min-height: unset;
}
.life-two-row .life-ph { min-height: 220px; }

/* 사진 1장 풀높이 컨테이너 */
.life-single-ph {
  position: relative;
  overflow: hidden;
  background: var(--paper3);
  min-height: 420px;
}
.life-single-ph .life-img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .7s cubic-bezier(.16,1,.3,1);
}
.life-single-ph:hover .life-img { transform: scale(1.04); }
.life-single-ph .life-caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 60px 28px 24px;
  background: linear-gradient(transparent, rgba(20,12,4,.58));
  display: flex; flex-direction: column; gap: 4px;
  pointer-events: none;
}

/* life-ba-grid 최종 정의 */
.life-ba-grid {
  display: grid;
  grid-template-columns: 1fr 440px;
  gap: 0;
  min-height: 420px;
}

/* Before/After 우측 패널 */
.ba-col-wrap {
  background: linear-gradient(175deg, #FDEEF2 0%, #FAE0E8 100%);
  display: flex; flex-direction: column; justify-content: center;
  padding: 52px 48px;
  border-left: 1px solid rgba(181,73,58,.12);
}

/* Empathy 우측: 112px 패딩 과도 → 80px */
.emp-r { padding: 80px 72px; }

/* USP 헤더: gap 80px 과도 → 56px, 상단 96→80 */
.usp-head { gap: 56px; padding: 80px 72px 64px; }

/* 성분 헤더 */
.ing-header { gap: 32px; padding: 52px 72px 40px; }

/* 패키지 좌측 */

/* 파운더 */
.founder { padding: 80px 72px !important; }

/* CTA 상하 과도 → 축소 */
.cta-final { padding: 120px 80px; min-height: 70vh; }

/* How To Use 헤더 여백 */
.howto-head { margin-bottom: 52px !important; }

/* FAQ */
.faq-section { padding: 80px 72px; }

/* stats-reviews: 중복 override 중 마지막 값 확정 */
.stats-reviews { padding: 60px 72px 72px !important; }

/* life-ba-header 순서 충돌 — 마지막으로 확정 */
.life-ba-header { padding: 0 72px 52px; }

/* ── Responsive 정비 ── */

/* ── 1. Before/After 사진 레이아웃 ── */
.ba-photo-wrap {
  display: grid;
  grid-template-columns: 1fr 64px 1fr;
  align-items: stretch;
  min-height: 400px;
  position: relative;
}
.ba-ph {
  position: relative;
  overflow: hidden;
  background: var(--paper3);
}
.ba-ph svg {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
}
.ba-ph--before { filter: grayscale(0.85); }
.ba-ph--after  { filter: none; }
.ba-ph-label {
  position: absolute;
  top: 24px; left: 24px;
  font-family: var(--font-serif);
  font-size: 2.2rem; font-weight: 600;
  letter-spacing: 4px;
  color: rgba(20,12,4,.55);
  z-index: 2;
  line-height: 1;
}
.ba-ph-label--after {
  left: auto; right: 24px;
  color: var(--ink2);
}
.ba-arrow-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--paper2);
  position: relative; z-index: 3;
}
.ba-arrow-circle {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid var(--paper3);
  box-shadow: 0 4px 16px rgba(61,43,26,.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; color: var(--wine);
  font-weight: 700;
}
.ba-bottom-text {
  padding: 28px 72px 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--paper3);
  margin-top: 1px;
}
.ba-bottom-desc {
  font-family: var(--serif);
  font-size: 1rem; font-weight: 300;
  color: var(--fog); letter-spacing: .3px;
  margin: 0;
}
.ba-bottom-tag {
  font-family: var(--font-sans);
  font-style: italic;
  font-size: .9rem; letter-spacing: 2px;
  color: var(--fog2);
}

/* ── 2. Empathy 장표 슬롯 ── */
.emp-l {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0;
}
.emp-slide-slot {
  position: relative; z-index: 3;
  margin: 44px 40px 0;
  border: 1.5px dashed rgba(181,73,58,.35);
  border-radius: 4px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(4px);
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}
.emp-slide-inner {
  display: flex; flex-direction: column;
  align-items: center; gap: 8px; padding: 24px;
}
.emp-slide-label {
  font-family: var(--sans);
  font-size: .75rem; font-weight: 500;
  letter-spacing: 3px; text-transform: uppercase;
  color: rgba(181,73,58,.6);
}
.emp-slide-sub {
  font-family: var(--font-sans);
  font-style: italic;
  font-size: .85rem; letter-spacing: 2px;
  color: rgba(90,69,53,.45);
}
.emp-card {
  margin: 0 40px 40px;
  flex-shrink: 0;
  position: relative;
  z-index: 4;
  background: #fff;
  border: 1.5px solid rgba(220,160,175,.4);
  border-radius: 12px;
  padding: 32px 36px;
  box-shadow: 0 2px 16px rgba(160,31,56,.06);
}

/* ── 3. 성분 사진 ── */
.ing-card  { min-height: auto; }

/* ── Responsive v15 ── */

.ba-layout {
  display: flex;
  flex-direction: column;
}

/* 사진 높이 축소 */
.ba-photo-wrap {
  min-height: 300px;
}
.ba-ph svg {
  height: 300px;
  display: block; width: 100%;
}

/* 비교표 래퍼 */
.ba-table-wrap {
  padding: 52px 72px 64px;
  background: linear-gradient(175deg, #FDEEF2 0%, #FAE0E8 100%);
  border-top: 1px solid var(--paper3);
}

.ba-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--paper3);
  overflow: hidden;
}

.ba-table-header,
.ba-table-row {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.2fr;
}

.ba-table-header {
  background: var(--ink);
}

.bat-cell {
  padding: 14px 20px;
  font-family: var(--sans);
  font-size: .88rem;
  font-weight: 300;
  color: var(--fog);
  line-height: 1.6;
  border-right: 1px solid var(--paper3);
}
.bat-cell:last-child { border-right: none; }

.bat-label {
  font-weight: 500;
  color: var(--ink2);
  font-size: .85rem;
}

/* 헤더 셀 */
.bat-before-h,
.bat-after-h {
  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 12px 20px;
  border-right: 1px solid rgba(255,255,255,.1);
}
.bat-before-h {
  color: rgba(255,255,255,.78);
  background: transparent;
}
.bat-after-h {
  color: var(--dust);
  background: rgba(160,31,56,.10);
}

/* 바디 행 */
.ba-table-row {
  border-bottom: 1px solid var(--paper3);
}
.ba-table-row:last-child { border-bottom: none; }
.ba-table-row:nth-child(even) .bat-label { background: var(--paper); }
.ba-table-row:nth-child(even) { background: var(--paper); }

.bat-before {
  color: var(--fog2);
  font-size: .84rem;
}
.bat-after {
  color: var(--ink2);
  font-weight: 500;
  font-size: .84rem;
  background: rgba(160,31,56,.05);
  border-right: none;
}

.ba-table-note {
  font-family: var(--sans);
  font-size: .72rem;
  color: var(--fog2);
  margin-top: 16px;
  letter-spacing: .3px;
  opacity: .8;
}

/* ── BA 카드 레이아웃 ── */
.ba-cards-wrap {
  display: grid;
  grid-template-columns: 1fr 56px 1fr;
  align-items: start;
  padding: 0 72px 0;
  gap: 0;
}
.ba-card {
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--paper3);
}
.ba-card--before { background: #FDEEF2; }
.ba-card--after  { background: linear-gradient(160deg, #FDEEF2 0%, #FAE0E8 100%); }

/* 이미지 슬롯 */
.ba-card-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  position: relative;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.ba-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.ba-card:hover .ba-card-img img { transform: scale(1.03); }
.ba-card-img--before { background: #1a2430; }
.ba-card-img--after  { background: #f5ede6; }

/* 카드 바디 */
.ba-card-body { padding: 24px 28px 28px; }
.ba-card-badge {
  display: inline-flex; align-items: center;
  font-family: var(--sans); font-size: .72rem;
  font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; padding: 5px 12px;
  margin-bottom: 20px; border-radius: 2px;
}
.ba-card-badge--before {
  background: var(--ink); color: rgba(255,255,255,.85);
}
.ba-card-badge--after {
  background: linear-gradient(135deg, var(--wine) 0%, var(--wine2) 100%);
  color: #fff;
}
.ba-card-list {
  list-style: none;
  display: flex; flex-direction: column; gap: 13px;
}
.ba-card-list li {
  display: flex; align-items: flex-start; gap: 10px;
  font-family: var(--sans); font-size: 1rem;
  font-weight: 300; color: var(--ink2); line-height: 1.5;
}
.ba-card-list .ba-icon { font-size: 1.2rem; flex-shrink: 0; line-height: 1.4; }

/* 화살표 가운데 */
.ba-arrow-mid {
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; color: var(--wine); font-weight: 700;
  padding-top: 320px; /* 이미지 슬롯 중앙에 오도록 */
}

.ba-cards-note {
  text-align: right;
  font-family: var(--sans); font-size: .72rem;
  color: var(--fog2); letter-spacing: .3px;
  padding: 16px 72px 56px; margin: 0;
}

/* ── 리뷰 3열 그리드 ── */
.rv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  max-width: 960px;
  margin: 0 auto;
}
.rv-card {
  background: #fff;
  border-radius: 16px;
  padding: 22px 24px 20px;
  border: 1.5px solid rgba(200,48,80,0.22);
  box-shadow: 0 6px 28px rgba(160,31,56,.13), 0 2px 8px rgba(160,31,56,.07);
  display: flex; flex-direction: column; gap: 10px;
}
.rv-card--1, .rv-card--3, .rv-card--5 {
  border-radius: 16px 16px 16px 4px;
}
.rv-card--2, .rv-card--4, .rv-card--6 {
  border-radius: 16px 16px 4px 16px;
  background: #fff;
}

/* ── 장표 디렉팅 스타일 ── */
.emp-slide-directing { width: 100%; padding: 4px; }
.emp-dir-title {
  font-family: var(--sans); font-size: .8rem;
  color: rgba(181,73,58,.75); margin-bottom: 14px; display: block;
}
.emp-dir-title b { color: var(--wine); }
.emp-dir-list {
  list-style: none; display: flex; flex-direction: column; gap: 10px;
  margin-bottom: 14px;
}
.emp-dir-list li {
  font-family: var(--sans); font-size: .78rem;
  color: rgba(90,69,53,.85); line-height: 1.5; font-weight: 400;
}
.emp-dir-list li span {
  font-size: .72rem; color: rgba(90,69,53,.55);
  display: block; margin-top: 2px;
}
.emp-dir-tip {
  font-family: var(--font-sans); font-style: italic;
  font-size: .75rem; color: rgba(181,73,58,.55);
  letter-spacing: .5px; display: block;
  border-top: 1px solid rgba(181,73,58,.15);
  padding-top: 10px;
}
.emp-slide-slot { min-height: 240px; }

/* ── Responsive v17 ── */

/* 폼 필수/선택 배지 */
.form-req {
  display: inline-block;
  font-size: .65rem; font-weight: 600;
  letter-spacing: 1px; padding: 1px 6px;
  border-radius: 2px;
  background: var(--wine); color: var(--paper);
  vertical-align: top; margin-left: 4px; margin-top: 1px;
}
.form-opt {
  display: inline-block;
  font-size: .65rem; font-weight: 400;
  letter-spacing: 1px; padding: 1px 6px;
  border-radius: 2px;
  background: var(--paper3); color: var(--fog);
  vertical-align: middle; margin-left: 4px;
}

/* 히어로 섹션 — 배경 추가 보정 */
.hero { background: var(--grad-hero) !important; }
.usp  { background: linear-gradient(165deg, #3B0A1F 0%, #5A1530 45%, #3B0A1F 100%) !important; }
.stats-reviews { background: transparent !important; }
.life-ba-section { background: linear-gradient(175deg, #FDEEF2 0%, #F5C8D8 100%) !important; }
.ing-wrap { background: linear-gradient(180deg, #FDEEF2 0%, #FAE0E8 100%) !important; }

/* rv-card 흰 배경도 핑크 계열로 */
.rv-card { background: #fff !important; }
.rv-card--2, .rv-card--4, .rv-card--6 {
  background: #fff;
}

/* ba-card-img 이미지 디렉팅 텍스트 가시성 */
.ba-card-img--before { background: linear-gradient(160deg, #C8A0B8 0%, #B890A8 100%) !important; }
.ba-card-img--after  { background: linear-gradient(160deg, #E8809C 0%, #D06080 100%) !important; }

@media (max-width: 1200px) {
.life-ba-grid { grid-template-columns: 1fr 320px !important; }
  .life-col { grid-template-rows: 280px 200px !important; }
}

@media (max-width: 1024px) {
.pkg-wrap-inner { grid-template-columns: 1fr; }
  .pkg-l { padding: 64px 32px !important; border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); }
  .pkg-r { padding: 16px 12px; gap: 10px; }
  .pkg-img-ph { max-width: 180px; }
.howto { padding:80px 32px; }
  .howto-steps { grid-template-columns:1fr; gap:0; }
  .step-divider { display:none; }
  .howto-step { padding:36px 16px; border-bottom:1px solid var(--paper3); }
  .faq-section { padding:80px 32px; }
html { font-size:18px; }
  .inline-cta { padding:28px 32px; flex-direction:column; text-align:center; gap:20px; }
  .icta-btns { flex-direction:row; justify-content:center; }
  .uct-cell { padding:10px 12px; font-size:.8rem; }
  .founder { padding:64px 32px; }
  .founder-inner { grid-template-columns:1fr; gap:40px; text-align:center; }
  .founder-img-wrap svg { width:160px; height:160px; }
  .founder-sig { text-align:left; }
  .before-after { padding:72px 32px; }
  .ba-grid { grid-template-columns:1fr; gap:2px; }
  .ba-arrow { padding:16px; font-size:2rem; transform:rotate(90deg); }
  .guarantee { flex-direction:column; text-align:center; padding:40px 32px; gap:20px; }
  .guar-btn { width:100%; }
  .hero { grid-template-columns:1fr; padding-top:72px; }
  .hero-l { padding:56px 32px 48px; }
  .hero-r { height: 75vw; max-height: 420px; min-height: 260px; overflow: hidden; }
  .hero-r-img { position: static !important; inset: auto !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center 20% !important; display: block !important; }
  .hero-r-overlay { display: none; }
  .stats-top { grid-template-columns:1fr; gap:12px; padding:56px 32px 0; }
  .sc--center { padding:44px 32px; }
  .stats-note { padding:16px 32px 0; }
  .stats-reviews { padding:48px 32px 64px; }
  .rv-bubble { max-width:85%; }
  .empathy { grid-template-columns:1fr; }
  .emp-l { min-height:auto; padding:48px 32px; }
  .emp-r { padding:64px 32px; }
  .life-strip { grid-template-columns:1fr 1fr; height:280px; }
  .usp-head { grid-template-columns:1fr; padding:72px 32px 56px; }
  .usp-cards { grid-template-columns:1fr; }
  .usp-c { border-right:none; border-bottom:1px solid rgba(255,255,255,.08); padding:48px 32px; }
  .ing-wrap { grid-template-columns:1fr; }
  .ing-header { grid-template-columns:1fr; gap:24px; padding:56px 32px 40px; }
  .ing-cards { grid-template-columns:repeat(2,1fr); }
  .ing-card { min-height:auto; }

  .cta-final { padding:100px 32px; }
  footer { padding:40px 32px; flex-direction:column; gap:20px; text-align:center; }
  .fr { text-align:center; }
.life-ba-grid { grid-template-columns: 1fr !important; }
  .life-col { grid-template-rows: 300px 200px !important; }
  .howto { padding: 60px 28px !important; }
  .howto-steps { grid-template-columns: 1fr !important; }
  .step-divider { display: none; }
  .howto-step { border-radius: 0 !important; margin-bottom: 2px; }
.life-ba-grid { grid-template-columns: 1fr !important; }
  .life-single-ph { min-height: 340px; }
  .ba-col-wrap { padding: 44px 40px !important; border-left: none; border-top: 1px solid rgba(181,73,58,.1); }
  .emp-r { padding: 64px 32px !important; }
  .usp-head { gap: 32px !important; padding: 64px 32px 48px !important; }
  .ing-header { padding: 56px 32px 40px !important; }

  .founder { padding: 64px 32px !important; }
  .cta-final { padding: 96px 40px !important; }
  .faq-section { padding: 64px 32px !important; }
  .stats-reviews { padding: 48px 32px 56px !important; }
  .life-ba-header { padding: 0 32px 40px !important; }
.ba-photo-wrap { grid-template-columns: 1fr 48px 1fr; min-height: 300px; }
  .ba-bottom-text { padding: 24px 32px 48px; }
  .emp-slide-slot { margin: 28px 28px 0; min-height: 140px; }
  .emp-card { margin: 0 28px 28px !important; }
.ba-table-wrap { padding: 40px 32px 48px; }
  .bat-cell { padding: 12px 14px; font-size: .82rem; }
.ba-cards-wrap { grid-template-columns: 1fr 40px 1fr; padding: 0 32px; }
  .ba-cards-note { padding: 12px 32px 40px; }
  .ba-arrow-mid { font-size: 1.3rem; padding-top: 200px; }
  .rv-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

@media (max-width: 768px) {
.pkg-l { padding: 48px 20px !important; }
  .pkg-r { padding: 12px 10px; gap: 8px; }
  
html { font-size:16px; }

  /* NAV — 넘침 방지 */
  nav { padding:14px 20px; gap:12px; }
  .nav-tag { display:none; }
  .nav-logo { font-size:1.1rem; letter-spacing:2px; }
  .nav-cta { font-size:.88rem; letter-spacing:1.5px; white-space:nowrap; }
  .nav-right { gap:16px; }

  .h-price-hint { position: relative !important; z-index: 2 !important; animation: none !important; opacity: 1 !important; }

  /* HERO */
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-r { height: 80vw; max-height: 460px; min-height: 280px; overflow: hidden; margin-top: 0; }
  .hero-r-img { position: static !important; inset: auto !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center center !important; display: block !important; }
  .hero-r-overlay { display: none; }
  .hero-l { padding:44px 20px 36px; }
  .h-h1 { font-size:clamp(34px,9.5vw,52px); letter-spacing:-1.5px; line-height:1.15; }
  .h-solve { font-size:1rem; line-height:1.85; }
  .h-rule { margin:36px 0; }
  .h-sub { font-size:.98rem; margin-bottom:40px; line-height:1.9; }
  .h-clarity { padding:12px 14px; }
  .h-cl-item { font-size:.8rem; line-height:1.7; }
  .h-badge-label { font-size:.78rem; }
  .h-badge { padding:8px 13px; }
  .hero-bottle-img { width:130px; }

  /* STATS */
  .stats-top { grid-template-columns:1fr; gap:10px; padding:48px 20px 0; }
  .sc { padding:28px 20px; }
  .sc--center { padding:36px 20px; }
  .sc-n { font-size:52px; }
  .sc--center .sc-n { font-size:64px; }
  .sc-d { font-size:.9rem; line-height:1.6; }
  .stats-note { padding:14px 20px 0; font-size:.72rem; }
  .stats-reviews { padding:40px 20px 56px; }
  .rv-bubble { max-width:88%; }
  .rv-bubble p { font-size:.88rem; }
  .rv-stk-text { font-size:.88rem !important; }

  /* SECTION 공통 텍스트 */
  .s-h2 { font-size:clamp(24px,7vw,38px); }
  .s-p { font-size:1rem; line-height:2; }
  .sl .slt { font-size:1.1rem; letter-spacing:2.5px; }
  .pull { font-size:clamp(18px,5vw,28px); }

  /* EMPATHY */
  .empathy { grid-template-columns:1fr; }
  .emp-l { min-height:auto; padding:40px 20px; }
  .emp-r { padding:48px 20px; }
  .ec-body { font-size:1rem; line-height:1.9; }

  /* LIFE STRIP */
  .life-strip { grid-template-columns:1fr; height:auto; }
  .life-ph { min-height:200px; }

  /* USP */
  .usp-head { grid-template-columns:1fr; gap:32px; padding:56px 20px 40px; }
  .usp-ht { font-size:clamp(26px,7.5vw,40px); letter-spacing:-1px; }
  .usp-hp { font-size:1rem; line-height:2; }
  .usp-cards { grid-template-columns:1fr; }
  .usp-c { border-right:none; border-bottom:1px solid rgba(255,255,255,.08); padding:36px 20px; }
  .usp-ct { font-size:1.2rem; }
  .usp-cb { font-size:1rem; line-height:2; }
  .uct-cell { padding:10px 10px; font-size:.78rem; }

  /* INGREDIENTS */
  .ing-wrap { grid-template-columns:1fr; }
  .ing-header { grid-template-columns:1fr; gap:20px; padding:48px 20px 36px; }
  .ing-h { font-size:clamp(20px,6vw,30px); }
  .ing-p { font-size:.95rem; line-height:1.9; }
  .ing-cards { grid-template-columns: repeat(2, 1fr); }
  .ing-body { padding:16px 16px 24px; }
  .ing-name { font-size:.95rem; }
  .ing-txt { font-size:.82rem; line-height:1.8; }
  .ing-card { min-height:auto !important; }

  /* PACKAGE */

  /* HOWTO */
  .howto { padding:52px 20px !important; }
  .howto-h { font-size:clamp(28px,8vw,42px); }
  .howto-steps { grid-template-columns:1fr; gap:0; }
  .step-divider { display:none; }
  .howto-step { padding:28px 16px; border-bottom:1px solid var(--paper3); }
  .step-title { font-size:1.05rem; }
  .step-body { font-size:.9rem; line-height:1.85; }

  /* FAQ */
  .faq-section { padding:52px 20px !important; }
  .faq-h { font-size:clamp(22px,6.5vw,34px); }
  .faq-q { font-size:.98rem; padding:20px 4px; line-height:1.5; }
  .faq-a { font-size:.92rem; line-height:2; }

  /* CTA */
  .cta-final { padding:80px 20px !important; min-height:auto !important; }
  .cta-h { font-size:clamp(34px,10vw,54px); }
  .cta-s { font-size:1rem; line-height:2; }
  .cta-btn { padding:18px 32px; font-size:.95rem; letter-spacing:2px; width:100%; display:flex; justify-content:center; }

  /* HERO BADGES */
  .h-badge-row { gap:7px; }
  .h-badge { padding:7px 12px; }

  /* FOUNDER */
  .founder { padding:52px 20px !important; }
  .founder-h { font-size:clamp(22px,6.5vw,34px); }
  .founder-p { font-size:.98rem; line-height:2.1; }
  .founder-summary { padding:18px 20px; }

  /* INLINE CTA */
  .inline-cta { padding:24px 20px; flex-direction:column; text-align:center; gap:16px; }
  .icta-msg { font-size:.98rem; }
  .icta-sub { font-size:.78rem; }
  .icta-btn { width:100%; padding:14px 20px; font-size:.9rem; letter-spacing:2px; }
  .icta-btns { flex-direction:column; width:100%; }
  .icta-btn-sec { width:100%; }

  /* BEFORE/AFTER */
  .before-after { padding:56px 24px; }
  .ba-col { padding:28px 20px; }
  .ba-grid { grid-template-columns:1fr; }
  .ba-arrow { transform:rotate(90deg); padding:12px; font-size:1.5rem; }
  .guarantee { flex-direction:column; padding:32px 24px; text-align:center; gap:16px; }
  .guar-btn { width:100%; }

  /* PRICE COMPARE */
  .pkg-compare { margin-bottom:20px; }
  .pc-item { padding:10px 16px; font-size:.85rem; }

  /* MODAL FORM */
  
  /* LIFE + BA 통합 섹션 */
  .life-ba-section { padding:52px 0 0; }
  .life-ba-header { padding:0 20px 32px; }
  .life-ba-h { font-size:1rem; line-height:1.55; }
  .life-ba-grid { grid-template-columns:1fr; }
  .life-col {
    grid-template-rows:auto;
    min-height:auto;
  }
  .life-col > .life-ph:first-child { min-height:260px; }
  .life-two-row { grid-template-columns:1fr 1fr; }
  .life-two-row .life-ph { min-height:160px; }
  .ba-col-wrap { padding:32px 20px; justify-content:flex-start; }
  .ba-before, .ba-after { padding:16px 14px 18px; }
  .ba-divider { padding:10px 0; }

  /* HOWTO */
  .howto-note-top { padding:0 20px 20px; }

  /* STICKY CTA */
  .sticky-cta-inner { flex-direction:column; padding:14px 20px; gap:10px; }
  .sticky-cta-actions { flex-direction:column; gap:8px; width:100%; }
  .sticky-cta-btn { width:100%; text-align:center; }
  .sticky-trust { display:none; }
  .sticky-cta-desc { display:none; }

  /* PRICE HINT — 모바일: 이미지 아래 독립 배치 */
  .h-price-hint {
    position: relative;
    z-index: 2;
    background: transparent;
    padding: 16px 0 0;
    margin-top: 8px;
    border-top: 1px solid var(--paper3);
    opacity: 1 !important;
    animation: none !important;
  }

  /* H-CLARITY */
  .h-clarity { padding:12px 14px; }

  /* STATS 말풍선 */
  .rv-bubble { max-width:85%; }
  .rv-chat { max-width:100%; }
  .stats-top { grid-template-columns:1fr; gap:10px; padding:44px 16px 0; }
  .sc { padding:24px 20px; }
  .sc--center { padding:36px 20px; }
  .sc-n { font-size:48px; }
  .sc--center .sc-n { font-size:60px; }
  .stats-note { padding:14px 20px 0; }
  .stats-reviews { padding:36px 20px 52px; }

  /* STATS note 라인 숨김 */
  .stats-note::before, .stats-note::after { display:none; }

  .modal-box { width:92vw; padding:36px 20px 32px; max-height:90vh; overflow-y:auto; -webkit-overflow-scrolling:touch; }

  /* FOOTER */
  footer { padding:36px 24px; flex-direction:column; gap:16px; text-align:center; }
  .fr { text-align:center; }

  /* btn-p full width on mobile */
  .btn-p { width:100%; justify-content:center; }
.success-toast { bottom: 24px; padding: 14px 20px; max-width: 88vw; white-space: normal; }
.section-fn { padding: 14px 20px; }
.footnotes { padding:24px 20px; }
.privacy-modal-box { padding:40px 20px 32px; }
.rv-stk { max-width: 90%; }
  .rv-stk--right { align-self: flex-end; }
.howto { padding: 48px 20px !important; }
  .howto-step { padding: 28px 16px !important; }
  .life-col { grid-template-rows: auto !important; }
  .life-ph { min-height: 220px !important; }
  .life-two-row .life-ph { min-height: 160px !important; }
.life-single-ph { min-height: 260px; }
  .ba-col-wrap { padding: 36px 20px !important; }
  .emp-r { padding: 48px 20px !important; }
  .usp-head { padding: 48px 20px 36px !important; }
  .ing-header { padding: 48px 20px 32px !important; }

  .founder { padding: 52px 20px !important; }
  .cta-final { padding: 80px 20px !important; }
  .faq-section { padding: 52px 20px !important; }
  .stats-reviews { padding: 36px 20px 48px !important; }
  .life-ba-header { padding: 0 20px 32px !important; }
.ba-photo-wrap { grid-template-columns: 1fr 36px 1fr; min-height: 220px; }
  .ba-ph-label { font-size: 1.3rem; top: 14px; left: 14px; }
  .ba-ph-label--after { left: auto; right: 14px; }
  .ba-arrow-circle { width: 32px; height: 32px; font-size: .9rem; }
  .ba-bottom-text { flex-direction: column; gap: 6px; padding: 18px 20px 36px; text-align: center; }
  .emp-slide-slot { margin: 20px 20px 0; min-height: 100px; }
  .emp-card { margin: 0 20px 20px !important; }
  .rv-stk { max-width: 88% !important; padding: 18px 22px 16px !important; }
  .rv-stk-text { font-size: .92rem !important; }
.ba-photo-wrap { min-height: 200px !important; }
  .ba-table-wrap { padding: 32px 20px 40px; }
  .ba-table-header,
  .ba-table-row { grid-template-columns: 1fr 0.8fr 1fr; }
  .bat-cell { padding: 10px 10px; font-size: .78rem; }
.ba-cards-wrap { grid-template-columns: 1fr; padding: 0 20px; gap: 8px; }
  .ba-arrow-mid { padding-top: 0; transform: rotate(90deg); font-size: 1.2rem; }
  .ba-cards-note { padding: 10px 20px 36px; }
  .rv-grid { grid-template-columns: 1fr; }
}
/* ══ RESPONSIVE PATCH — 480px 이하 (소형 스마트폰) ══ */
@media (max-width: 480px) {
  html { font-size: 15px; }

  /* NAV */
  nav { padding: 12px 16px; }
  .nav-logo { font-size: 1rem; letter-spacing: 1.5px; }
  .nav-cta { font-size: .82rem; letter-spacing: 1px; }

  /* HERO */
  .hero-l { padding: 36px 16px 28px; }
  .h-h1 { font-size: clamp(28px, 8.5vw, 40px); letter-spacing: -1px; }
  .h-sub { font-size: .92rem; line-height: 1.85; margin-bottom: 28px; }
  .h-badge-row { gap: 6px; }
  .h-badge { padding: 6px 10px; }
  .h-badge-label { font-size: .75rem; }
  .h-clarity { padding: 10px 12px; }
  .h-cl-item { font-size: .78rem; }
  .h-price-num { font-size: 1.5rem; }
  .btn-p { padding: 15px 24px; font-size: .9rem; letter-spacing: 2px; }
  .hero-r { height: 80vw; max-height: 460px; min-height: 280px; overflow: hidden; }
  .hero-r-img { position: static !important; inset: auto !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center center !important; display: block !important; }
  .hero-r-overlay { display: none; }

  /* STATS */
  .stats-top { padding: 36px 16px 0; gap: 8px; }
  .sc { padding: 20px 16px; }
  .sc--center { padding: 28px 16px; }
  .sc-n { font-size: 44px; }
  .sc--center .sc-n { font-size: 56px; }
  .sc-d { font-size: .85rem; }
  .stats-note { padding: 12px 16px 0; font-size: .7rem; }
  .stats-reviews { padding: 28px 16px 40px !important; }
  .rv-card { padding: 16px 18px 14px; }
  .rv-stk-text { font-size: .85rem !important; }
  .rv-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }

  /* SECTION 각주 */
  .section-fn { padding: 12px 16px; }
  .section-fn p { font-size: .68rem; }
  .footnotes { padding: 20px 16px; }
  .footnotes p { font-size: .68rem; }

  /* EMPATHY */
  .emp-l { padding: 32px 16px; }
  .emp-r { padding: 36px 16px !important; }
  .ec-body { font-size: .95rem; line-height: 1.85; }

  /* USP */
  .usp-head { padding: 44px 16px 32px !important; }
  .usp-ht { font-size: clamp(22px, 7vw, 32px); }
  .usp-c { padding: 28px 16px; }
  .uct-cell { padding: 8px 8px; font-size: .74rem; }

  /* INGREDIENTS */
  .ing-header { padding: 40px 16px 28px !important; }
  .ing-cards { grid-template-columns: repeat(2, 1fr); }
  .ing-body { padding: 14px 14px 20px; }

  /* HOWTO */
  .howto { padding: 40px 16px !important; }
  .howto-step { padding: 22px 12px !important; }
  .step-icon { font-size: 1.5rem; }
  .howto-note-top { padding: 0 16px 16px !important; font-size: .76rem; }

  /* FAQ */
  .faq-section { padding: 44px 16px !important; }
  .faq-q { font-size: .92rem; padding: 16px 2px; }
  .faq-a { font-size: .88rem; }

  /* FOUNDER */
  .founder { padding: 44px 16px !important; }
  .founder-h { font-size: clamp(20px, 6vw, 28px); }
  .founder-p { font-size: .92rem; line-height: 2; }

  /* CTA */
  .cta-final { padding: 64px 16px !important; }
  .cta-h { font-size: clamp(28px, 9vw, 44px); }
  .cta-btn { padding: 16px 24px; font-size: .88rem; }

  /* MODAL */
  .modal-box { padding: 32px 16px 28px; width: 96vw; }
  .modal-h { font-size: 1.3rem; }
  .form-input { font-size: 1rem; }
  .form-submit { font-size: .9rem; letter-spacing: 2px; }

  /* STICKY CTA */
  .sticky-cta-inner { padding: 12px 16px; }
  .sticky-cta-name { font-size: .9rem; }

  /* INLINE CTA */
  .inline-cta { padding: 20px 16px; }
  .icta-msg { font-size: .9rem; }

  /* FOOTER */
  footer { padding: 28px 16px; gap: 12px; }

  /* LIFE BA */
  .life-ba-header { padding: 0 16px 24px !important; }
  .ba-col-wrap { padding: 28px 16px !important; }
  .ba-cards-wrap { padding: 0 16px; }
  .ba-cards-note { padding: 8px 16px 28px; }
  .ba-table-wrap { padding: 28px 16px 36px; }
  .bat-cell { padding: 8px 8px; font-size: .72rem; }

  /* LIFE SINGLE PH */
  .life-single-ph { min-height: 220px; }
  .life-two-row .life-ph { min-height: 130px !important; }

  /* PULL QUOTE */
  .pull { font-size: clamp(16px, 4.5vw, 22px); padding: 12px 0 12px 20px; }
}


/* ── 모바일 터치 최적화 ── */
* { -webkit-tap-highlight-color: transparent; }
a, button, [data-open-modal], [role="button"] {
  touch-action: manipulation;
  cursor: pointer;
}
