/* ============================================
 * 모바일 청첩장 - 도연 & 지유
 * 결혼식: 2026.11.28 SAT
 * ============================================
 *
 * 색상 가이드:
 * - 배경: #fdfaf6, #f8f3ee (크림)
 * - 본문: #3a3530 (브라운)
 * - 강조: #a89070 (누드 베이지)
 * - 보조: #7a6e5d, #4a4540
 * - 하이라이트: #fff3a8 (형광펜)
 *
 * 폰트:
 * - Noto Serif KR (200~600) - 기본
 * - Cormorant (300~400) - 영문 장식용
 * ============================================ */

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{overflow-x:hidden;width:100%}
body{
  font-family:'Noto Serif KR',serif;
  background:#f8f3ee;
  color:#3a3530;
  max-width:480px;
  margin:0 auto;
  line-height:1.95;
  font-weight:300;
  letter-spacing:-0.01em;
  overflow-x:hidden;
}

/* Common */
section{padding:70px 32px;text-align:center;background:#fdfaf6}
.lbl{font-size:13px;letter-spacing:0.5em;color:#a89070;margin-bottom:6px;font-weight:400;text-transform:uppercase}
.tt{font-family:'Noto Serif KR',serif;font-size:17px;color:#3a3530;margin-bottom:42px;font-weight:400;letter-spacing:0.05em}
.txt{font-size:14px;line-height:2.3;color:#4a4540;font-weight:300;white-space:pre-line}
.hl{background:linear-gradient(180deg,transparent 60%,#fff3a8 60%);padding:0 2px}

/* HERO */
.hero{
  background:linear-gradient(180deg,#fdfaf6 0%,#f5ebe1 100%);
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hero-info{
  padding:50px 30px 50px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hero-greeting{
  font-size:12px;
  letter-spacing:0.5em;
  color:#a89070;
  margin-bottom:30px;
  font-weight:400;
}
.hero-photo{
  width:100%;
  height:100vh;
  min-height:600px;
  border-radius:0;
  position:relative;
  overflow:hidden;
  -webkit-user-select:none;
  user-select:none;
}
.scroll-hint{
  position:absolute;
  bottom:40px;
  left:50%;
  transform:translateX(-50%);
  text-align:center;
  z-index:3;
  color:#f5e9d8;
  opacity:0;
  animation:scrollHintIn 1s ease-out 2.5s forwards;
}
.scroll-hint .txt{
  font-family:'Noto Serif KR',serif;
  font-size:13px;
  font-weight:300;
  letter-spacing:0.1em;
  line-height:1.8;
  margin-bottom:14px;
  text-shadow:0 2px 12px rgba(0,0,0,0.6);
}
.scroll-hint .arrow{
  display:inline-block;
  width:1px;
  height:36px;
  background:linear-gradient(to bottom,transparent,#f5e9d8);
  position:relative;
  animation:scrollBounce 2s ease-in-out infinite;
}
.scroll-hint .arrow::after{
  content:'';
  position:absolute;
  bottom:-3px;
  left:-4px;
  width:9px;
  height:9px;
  border-right:1px solid #f5e9d8;
  border-bottom:1px solid #f5e9d8;
  transform:rotate(45deg);
}
@keyframes scrollHintIn{
  from{opacity:0;transform:translateX(-50%) translateY(10px)}
  to{opacity:1;transform:translateX(-50%) translateY(0)}
}
@keyframes scrollBounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(8px)}
}
.hero-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  -webkit-user-drag:none;
  user-drag:none;
  -webkit-touch-callout:none;
  pointer-events:none;
}
.hero-photo::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(60,45,35,0.3) 0%,rgba(60,45,35,0.1) 50%,rgba(60,45,35,0.4) 100%);
  z-index:1;
}
.photo-overlay{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  text-align:center;
  z-index:2;
  width:100%;
  padding:0 20px;
  line-height:0.95;
}
.overlay-line{
  font-family:'Cormorant',serif;
  font-weight:300;
  color:#f5e9d8;
  text-shadow:0 4px 24px rgba(0,0,0,0.4);
  line-height:1;
  letter-spacing:-0.01em;
}
.line1{font-size:72px;margin-bottom:-8px}
.line2{font-size:72px;margin-bottom:-8px}
.line3{font-size:72px}
.overlay-line span{
  display:inline-block;
  opacity:0;
  transform:translateY(30px) scale(0.92);
  filter:blur(8px);
  animation:fadeUp 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay:calc(var(--i) * 0.13s + 0.5s);
}
@keyframes fadeUp{
  0%{opacity:0;transform:translateY(30px) scale(0.92);filter:blur(8px)}
  60%{opacity:0.7;filter:blur(2px)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
.hero-names{
  font-family:'Noto Serif KR',serif;
  font-size:28px;
  font-weight:300;
  color:#3a3530;
  letter-spacing:0.15em;
  line-height:1.5;
  margin-bottom:6px;
}
.hero-names .amp{font-weight:200;color:#a89070;margin:0 8px;font-size:24px}
.hero-date{
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid rgba(168,144,112,0.3);
  width:160px;
  font-size:12px;
  letter-spacing:0.35em;
  color:#7a6e5d;
  font-weight:400;
}

/* TOGETHER TOP */
.together-top{
  padding:50px 32px;
  background:#fdfaf6;
  text-align:center;
}
.together-text{
  font-size:13px;
  letter-spacing:0.3em;
  color:#4a4540;
  margin-top:14px;
  margin-bottom:10px;
  font-weight:300;
}
.together-num{
  font-family:'Noto Serif KR',serif;
  font-size:16px;
  color:#3a3530;
  letter-spacing:0.05em;
  font-weight:400;
}

/* INVITATION */
.invitation{padding:80px 40px}

/* FAMILY */
.family{background:#fdfaf6}
.f-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:14px 0;
  font-size:13px;
  flex-wrap:wrap;
  font-weight:300;
}
.f-row .p{color:#7a6e5d}
.f-row .o{color:#a89070;font-size:12px}
.f-row .c{font-weight:500;font-size:15px;color:#3a3530;letter-spacing:0.15em}

/* D-DAY COUPLE PHOTO */
.cd-photo{
  width:calc(100% + 64px);
  margin-left:-32px;
  margin-right:-32px;
  height:480px;
  border-radius:0;
  position:relative;
  box-shadow:0 18px 40px rgba(170,130,100,0.15);
  overflow:hidden;
  -webkit-user-select:none;
  user-select:none;
}
.cd-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  -webkit-user-drag:none;
  user-drag:none;
  -webkit-touch-callout:none;
  pointer-events:none;
}
.cd-photo::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0.1) 50%,rgba(0,0,0,0.5) 100%);
  z-index:1;
}
.cd-photo::before{content:'COUPLE PHOTO'}
.cd-dday{
  position:absolute;
  bottom:34px;
  left:50%;
  transform:translateX(-50%);
  color:#fff;
  text-align:center;
  z-index:2;
}
.cd-dday .n{
  font-family:'Noto Serif KR',serif;
  font-size:42px;
  font-weight:300;
  line-height:1;
  letter-spacing:0.05em;
  text-shadow:0 2px 12px rgba(0,0,0,0.3);
}
.cd-dday .ring{
  font-size:28px;
  margin-bottom:12px;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,0.25));
}
.cd-dday .d{
  font-size:11px;
  letter-spacing:0.35em;
  margin-top:8px;
  text-shadow:0 2px 8px rgba(0,0,0,0.3);
}

/* CALENDAR */
.cal{
  max-width:320px;
  margin:0 auto;
  background:#fff;
  padding:32px 24px;
  border-radius:6px;
  box-shadow:0 10px 30px rgba(170,130,100,0.08);
}
.cal-m{
  font-size:14px;
  letter-spacing:0.3em;
  color:#3a3530;
  margin-bottom:24px;
  font-weight:400;
}
.cal-g{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:2px;
  font-size:13px;
  font-weight:300;
}
.cal-g .l{
  font-size:11px;
  letter-spacing:0.1em;
  color:#a89070;
  padding:8px 0;
  font-weight:400;
}
.cal-g .l.s{color:#c4928a}
.cal-g .d{padding:10px 0;color:#4a4540}
.cal-g .d.s{color:#c4928a}
.cal-g .e{color:transparent}
.cal-g .sel{
  background:#a89070;
  color:#fff;
  border-radius:50%;
  font-weight:500;
}
.cd-strip{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #ebe2d4;
  display:flex;
  justify-content:space-around;
}
.cd-strip .n{
  font-family:'Noto Serif KR',serif;
  font-size:22px;
  font-weight:400;
  color:#3a3530;
  letter-spacing:0.05em;
}
.cd-strip .l{
  font-size:10px;
  letter-spacing:0.2em;
  color:#a89070;
  margin-top:4px;
}

/* GALLERY */
.g-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:4px;
}
.g{
  aspect-ratio:1;
  background:linear-gradient(135deg,#ebd9c8,#c9a991);
  border-radius:2px;
  overflow:hidden;
  cursor:pointer;
  position:relative;
  -webkit-user-select:none;
  user-select:none;
}
.g img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  -webkit-user-drag:none;
  user-drag:none;
  -webkit-touch-callout:none;
  pointer-events:none;
}
.g-more{
  margin-top:24px;
  background:none;
  border:none;
  color:#a89070;
  padding:10px 20px;
  font-family:'Noto Serif KR',serif;
  font-size:13px;
  letter-spacing:0.2em;
  cursor:pointer;
  font-weight:400;
}

/* LOCATION */
.location{background:#fdfaf6}
.v-card{
  background:#fff;
  padding:30px 24px;
  border-radius:6px;
  box-shadow:0 8px 24px rgba(170,130,100,0.06);
}
.v-name{
  font-size:18px;
  font-weight:500;
  color:#3a3530;
  margin-bottom:6px;
  letter-spacing:0.05em;
}
.v-floor{font-size:13px;color:#7a6e5d;margin-bottom:14px;font-weight:300}
.v-addr{
  font-size:12px;
  color:#7a6e5d;
  padding:12px;
  background:#f8f3ee;
  border-radius:4px;
  font-weight:300;
  letter-spacing:0.02em;
}
.map-ph{
  width:100%;
  height:200px;
  background:linear-gradient(135deg,#d4b8a3,#a8806a);
  margin:20px 0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  border-radius:4px;
  font-size:28px;
}
.map-btns{display:flex;gap:6px;margin-bottom:24px}
.map-btn{
  flex:1;
  padding:12px 0;
  background:#f8f3ee;
  border:none;
  border-radius:4px;
  font-family:'Noto Serif KR',serif;
  font-size:12px;
  color:#4a4540;
  cursor:pointer;
  font-weight:400;
}
.map-btn:active{background:#a89070;color:#fff}
.t-list{text-align:left}
.t-item{
  background:#f8f3ee;
  padding:14px 18px;
  margin-bottom:6px;
  border-radius:4px;
}
.t-l{
  font-size:11px;
  color:#a89070;
  font-weight:500;
  letter-spacing:0.3em;
  margin-bottom:4px;
}
.t-t{font-size:13px;color:#4a4540;line-height:1.7;font-weight:300}

/* GUEST SNAP */
.guest-snap{background:#fdfaf6}
.gs-info{
  background:#fff;
  padding:24px;
  margin-bottom:20px;
  text-align:center;
  border-radius:6px;
  box-shadow:0 6px 20px rgba(170,130,100,0.05);
}
.gs-info-text{font-size:13px;color:#4a4540;line-height:2.1;font-weight:300}
.uin{
  width:100%;
  padding:13px 14px;
  background:#fff;
  border:none;
  border-radius:4px;
  font-family:'Noto Serif KR',serif;
  font-size:14px;
  color:#3a3530;
  margin-bottom:10px;
  -webkit-appearance:none;
  font-weight:300;
  box-shadow:0 2px 8px rgba(170,130,100,0.04);
}
.uin:focus{outline:none;box-shadow:0 2px 8px rgba(168,144,112,0.2)}
.upl{
  background:#fff;
  border:1.5px dashed #d9c5ad;
  padding:28px 20px;
  text-align:center;
  cursor:pointer;
  display:block;
  margin-bottom:20px;
  border-radius:6px;
}
.upl:active{background:#f8f3ee}
.upl .ic{font-size:32px;margin-bottom:8px;opacity:0.5}
.upl .tx{font-size:13px;color:#4a4540;font-weight:400;letter-spacing:0.05em}
.upl .sb{font-size:11px;color:#a89070;margin-top:4px;font-weight:300}
.fi{display:none}

/* CONTACT */
.c-card{
  background:#fff;
  padding:20px;
  margin:8px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-radius:6px;
  box-shadow:0 4px 14px rgba(170,130,100,0.05);
}
.c-info{text-align:left}
.c-role{
  font-size:11px;
  color:#a89070;
  letter-spacing:0.3em;
  margin-bottom:4px;
}
.c-name{font-size:15px;font-weight:500;color:#3a3530;letter-spacing:0.1em}
.c-btns{display:flex;gap:8px}
.c-btn{
  width:38px;
  height:38px;
  background:#f8f3ee;
  border:none;
  border-radius:50%;
  color:#a89070;
  font-size:14px;
  cursor:pointer;
}

/* ACCOUNT */
.account{background:#fdfaf6}
.acc{
  background:#fff;
  padding:20px;
  margin:8px 0;
  text-align:left;
  border-radius:6px;
  box-shadow:0 4px 14px rgba(170,130,100,0.05);
}
.acc-h{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px dashed #ebe2d4;
}
.acc-r{
  font-size:11px;
  color:#a89070;
  letter-spacing:0.3em;
}
.acc-n{font-size:14px;color:#3a3530;font-weight:500;letter-spacing:0.1em}
.acc-num{
  font-size:13px;
  color:#4a4540;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:300;
}
.cp{
  background:#f8f3ee;
  border:none;
  color:#a89070;
  padding:6px 14px;
  border-radius:14px;
  font-size:10px;
  cursor:pointer;
  font-family:'Noto Serif KR',serif;
  letter-spacing:0.15em;
}

/* RSVP POPUP */
.rsvp-bg{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(58,53,48,0.6);
  z-index:1000;
  align-items:center;
  justify-content:center;
  padding:25px;
  max-width:480px;
  margin:0 auto;
}
.rsvp-bg.show{display:flex}
.rsvp-pop{
  background:#fff;
  border-radius:8px;
  padding:34px 28px;
  max-width:360px;
  width:100%;
  position:relative;
  max-height:92vh;
  overflow-y:auto;
  box-shadow:0 20px 60px rgba(0,0,0,0.2);
}
.rsvp-close{
  position:absolute;
  top:14px;
  right:16px;
  background:none;
  border:none;
  font-size:18px;
  color:#a89070;
  cursor:pointer;
  font-weight:300;
}
.rsvp-tt{
  text-align:center;
  font-size:17px;
  font-weight:500;
  color:#3a3530;
  margin-bottom:18px;
  letter-spacing:0.1em;
}
.rsvp-tx{
  text-align:center;
  font-size:13px;
  color:#4a4540;
  line-height:2;
  margin-bottom:24px;
  padding-bottom:20px;
  border-bottom:1px dashed #ebe2d4;
  white-space:pre-line;
  font-weight:300;
}
.rsvp-info{
  font-size:13px;
  color:#4a4540;
  line-height:2.2;
  margin-bottom:24px;
  font-weight:300;
}
.rsvp-info .ic{color:#a89070;margin-right:6px}
.rsvp-btn{
  display:block;
  width:100%;
  padding:14px;
  background:#a89070;
  color:#fff;
  border:none;
  border-radius:4px;
  font-family:'Noto Serif KR',serif;
  font-size:14px;
  letter-spacing:0.2em;
  cursor:pointer;
  margin-bottom:14px;
  font-weight:400;
}
.rsvp-hide{
  text-align:center;
  font-size:12px;
  color:#a89070;
  cursor:pointer;
  font-weight:300;
}

/* RSVP FORM STEP 2 */
.rsvp-q{
  font-size:12px;
  color:#7a6e5d;
  font-weight:500;
  letter-spacing:0.1em;
  margin:16px 0 8px;
  text-align:left;
}
.rsvp-q:first-of-type{margin-top:8px}
.rsvp-opts{display:flex;gap:6px;margin-bottom:4px}
.rsvp-opt{
  flex:1;
  padding:12px;
  background:#f8f3ee;
  border:none;
  border-radius:4px;
  font-family:'Noto Serif KR',serif;
  font-size:13px;
  color:#3a3530;
  cursor:pointer;
  font-weight:300;
}
.rsvp-opt.sel{
  background:#a89070;
  color:#fff;
  font-weight:400;
}
.rsvp-in{
  width:100%;
  padding:12px 14px;
  background:#f8f3ee;
  border:none;
  border-radius:4px;
  font-family:'Noto Serif KR',serif;
  font-size:14px;
  color:#3a3530;
  -webkit-appearance:none;
  font-weight:300;
}
.rsvp-in:focus{outline:none;background:#fff;box-shadow:0 0 0 1px #a89070}
.phone-wrap{display:flex;gap:6px}
.phone-prefix{
  width:80px;
  padding:12px 10px;
  background:#f8f3ee;
  border:none;
  border-radius:4px;
  font-family:'Noto Serif KR',serif;
  font-size:14px;
  color:#3a3530;
  font-weight:300;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a89070' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  padding-right:28px;
}
.phone-input{flex:1}
.rsvp-counter-wrap{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}
.rsvp-counter-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#f8f3ee;
  padding:10px 18px;
  border-radius:4px;
}
.rsvp-counter-lbl{font-size:13px;color:#3a3530;font-weight:500}
.rsvp-counter{display:flex;align-items:center;gap:10px}
.rsvp-cb{
  width:32px;
  height:32px;
  background:#fff;
  border:none;
  border-radius:50%;
  font-size:16px;
  color:#a89070;
  cursor:pointer;
  font-weight:300;
}
.rsvp-cb:active{background:#a89070;color:#fff}
.rsvp-cnt{
  min-width:28px;
  text-align:center;
  font-family:'Noto Serif KR',serif;
  font-size:20px;
  font-weight:400;
  color:#3a3530;
}
.rsvp-submit{
  width:100%;
  padding:14px;
  background:#a89070;
  color:#fff;
  border:none;
  border-radius:4px;
  font-family:'Noto Serif KR',serif;
  font-size:14px;
  letter-spacing:0.25em;
  cursor:pointer;
  margin-top:20px;
  font-weight:400;
}

/* MODAL */
.modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.92);
  z-index:1500;
  align-items:center;
  justify-content:center;
  padding:20px;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.modal.show{display:flex}
.modal-img-wrap{
  position:relative;
  max-width:100%;
  max-height:80vh;
  pointer-events:none;
}
.modal img{
  max-width:100%;
  max-height:80vh;
  display:block;
  -webkit-user-drag:none;
  user-drag:none;
  pointer-events:none;
  -webkit-touch-callout:none;
}
.modal-watermark{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,0.08);
  font-size:24px;
  font-family:'Noto Serif KR',serif;
  letter-spacing:0.3em;
  pointer-events:none;
  transform:rotate(-25deg);
}
.modal-info{
  position:absolute;
  bottom:30px;
  left:0;
  right:0;
  text-align:center;
  color:#fff;
  font-family:'Noto Serif KR',serif;
  font-size:13px;
  letter-spacing:0.1em;
  pointer-events:none;
  font-weight:300;
}
.m-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(255,255,255,0.1);
  color:#fff;
  border:none;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:28px;
  cursor:pointer;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-weight:300;
  padding:0;
  line-height:1;
}
.m-nav:active{background:rgba(255,255,255,0.25)}
.m-prev{left:12px}
.m-next{right:12px}
.m-nav:disabled{opacity:0.25;cursor:default}
.modal img{
  max-width:100%;
  max-height:80vh;
  display:block;
  -webkit-user-drag:none;
  user-drag:none;
  pointer-events:none;
  -webkit-touch-callout:none;
  transition:transform 0.25s ease, opacity 0.25s ease;
}
.modal img.slide-out-left{transform:translateX(-30px);opacity:0}
.modal img.slide-out-right{transform:translateX(30px);opacity:0}
.modal-warn{
  position:absolute;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  background:rgba(255,255,255,0.12);
  color:#fff;
  padding:8px 18px;
  border-radius:20px;
  font-size:11px;
  letter-spacing:0.05em;
  backdrop-filter:blur(10px);
  pointer-events:none;
  white-space:nowrap;
}
.mc{
  position:absolute;
  top:20px;
  right:20px;
  background:rgba(255,255,255,0.15);
  color:#fff;
  border:none;
  width:36px;
  height:36px;
  border-radius:50%;
  font-size:18px;
  cursor:pointer;
  z-index:10;
}

/* Capture prevention overlay */
.capture-warning{
  position:fixed;
  inset:0;
  background:#000;
  color:#fff;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:40px;
  text-align:center;
  font-family:'Noto Serif KR',serif;
}
.capture-warning.show{display:flex}
.capture-warning .ic{font-size:48px;margin-bottom:20px}
.capture-warning .tt{font-size:18px;font-weight:500;margin-bottom:12px;letter-spacing:0.05em}
.capture-warning .ds{font-size:13px;line-height:1.8;color:#ccc;font-weight:300}

/* TOAST */
.toast{
  position:fixed;
  bottom:30px;
  left:50%;
  transform:translateX(-50%) translateY(100px);
  background:#3a3530;
  color:#fff;
  padding:12px 22px;
  font-size:13px;
  z-index:2000;
  transition:transform 0.3s;
  max-width:80%;
  border-radius:30px;
  font-weight:300;
}
.toast.show{transform:translateX(-50%) translateY(0)}

/* FOOTER */
/* RSVP 재오픈 */
.rsvp-reopen{
  background:#f8f3ee;
  padding:50px 32px;
  text-align:center;
  border-top:1px solid rgba(168,144,112,0.15);
}
.rr-tt{
  font-family:'Noto Serif KR',serif;
  font-size:16px;
  font-weight:500;
  letter-spacing:0.2em;
  color:#3a3530;
  margin-bottom:16px;
}
.rr-ds{
  font-size:13px;
  font-weight:300;
  line-height:1.9;
  color:#7a6e5d;
  margin-bottom:28px;
}
.rr-btn{
  background:#a89070;
  color:#fff;
  border:none;
  padding:14px 40px;
  font-family:'Noto Serif KR',serif;
  font-size:14px;
  letter-spacing:0.15em;
  font-weight:400;
  cursor:pointer;
  border-radius:2px;
  transition:background 0.2s;
}
.rr-btn:hover{background:#8c7458}
.rr-btn:active{background:#7a6447}

footer{
  padding:80px 35px;
  text-align:center;
  background:linear-gradient(180deg,#fdfaf6,#ebd9c8);
  color:#4a4540;
}
footer .th{
  font-size:14px;
  letter-spacing:0.5em;
  margin-bottom:16px;
  color:#a89070;
  font-weight:400;
}
footer .ne{
  font-family:'Noto Serif KR',serif;
  font-size:18px;
  letter-spacing:0.2em;
  color:#3a3530;
  margin-bottom:30px;
  font-weight:300;
}
footer .together{
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid rgba(168,144,112,0.3);
  font-size:13px;
  letter-spacing:0.15em;
  color:#7a6e5d;
  font-weight:300;
}
footer .together .num{
  font-family:'Noto Serif KR',serif;
  font-size:15px;
  color:#3a3530;
  margin-top:8px;
  letter-spacing:0.05em;
  font-weight:400;
}