@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable.css');



:root{
  /* ===============================
   * Typography
   * =============================== */
  --font-base: pretendard, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --font-heading: 'Poppins', sans-serif;

  --font-h1: clamp(2.2rem, calc(1.6rem + 2.5vw), 4rem);
  --font-h2: clamp(1.8rem, calc(1.4rem + 2vw), 3rem);
  --font-h3: clamp(1.5rem, calc(0.9rem + 1vw), 1.5rem);
  --font-body: clamp(1rem, calc(0.95rem + 0.8vw), 1.125rem);
  --font-small: clamp(0.875rem, calc(0.8rem + 0.5vw), 1rem);

  /* ===============================
   * Neutral Palette (다크 테마 베이스)
   * =============================== */
  --bg: #111;                 /* 페이지 배경 */
  --bg-2: #1a1a1a;            /* 서브 배경/섹션 */
  --surface: #141414;         /* 카드/패널 */
  --text: #ffffff;            /* 기본 텍스트 */
  --muted: #aaaaaa;           /* 서브 텍스트 */
  --border: #333333;          /* 경계선 */

  /* ===============================
   * Brand Tokens
   * =============================== */
  --brand-accent: #facc15;         /* A1 시그니처 옐로우 */
  --brand-accent-contrast: #111;   /* 옐로우 위 텍스트 */
  --brand-accent-soft: rgba(250, 204, 21, .18); /* 테두리/보더용 연한 톤 */

  /* ===============================
   * Component Tokens
   * =============================== */
  --btn-bg: var(--brand-accent);
  --btn-text: var(--brand-accent-contrast);
  --btn-radius: 2rem;
  --btn-padding: 0.75rem 2rem;

  --radius-1: 8px;
  --radius-2: 16px;

  --section-padding: 80px;
  --section-padding-mobile: 50px;

  /* ===============================
   * Header / Nav / Footer
   * =============================== */
  --header-bg: rgba(0,0,0,.60);
  --header-fg: var(--text);
  --header-border: rgba(255,255,255,.08);
  --header-icon: var(--text);

  --nav-overlay-bg: rgba(0,0,0,.90);
  --nav-link: var(--text);
  --nav-link-hover: var(--brand-accent);

  --footer-bg: #0c0c0c;
  --footer-fg: var(--text);
  --footer-link: var(--muted);
  --footer-link-hover: var(--brand-accent);
  --footer-border: rgba(255,255,255,.08);

}



* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html, body {
  scroll-behavior: smooth;
  font-family: var(--font-base);
  background-color: var(--color-bg);
  color: var(--color-text);
  text-decoration: none;
}


/* ✅ Typography */
h1, h2, h3 {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-text);
}
h1 { font-size: var(--font-h1); word-break: keep-all;}
h2 { font-size: var(--font-h2); word-break: keep-all; color: var(--text);}
h3 { font-size: var(--font-h3); word-break: keep-all; color: var(--text);}
p {
  font-size: var(--font-body);
  line-height: 1.6;
  color: var(--text);
  word-break: keep-all;
}


.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.scroll-fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease;
}
.scroll-fade-up.show {
  opacity: 1;
  transform: translateY(0);
}

.text-center {
  text-align: center;
}
.text-accent {
  color: var(--color-accent);
}

.flex {
  display: flex;
}

.row {
  flex-direction: row;
}

.column {
  flex-direction: column;
}

.center {
  justify-content: center;
}

.wrap {
  flex-wrap: wrap;
}

body.no-scroll {
  overflow: hidden;
  height: 100vh;
}



.section {
  padding: var(--section-padding) 0;
}


/* header */

.site-header {
  position: sticky;
  background-color: var(--bg-2);
  border-bottom: 1px solid var(--brand-accent);
  top: 0;
  left: 0;
  width: 100%;
  padding: 10px 100px;
  z-index: 9999;
}

.header-btn a {
  padding: 10px 50px;
  border-radius: 25px 0 25px 0;
  background-color: #ebc119;
  color: #111;
  text-decoration: none;
  font-weight: 600;
}

.header-inner {
  justify-content: space-between;
  align-items: center;
}

.hamburger {
  display: inline-block;
  width: 24px;
  height: 24px;
  position: relative;
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
  z-index: 1001;
}

.hamburger:hover,
.hamburger:focus,
.hamburger:active {
  background: none;
  outline: none;
  box-shadow: none;
}

.hamburger span {
  display: block;
  position: absolute;
  height: 3px;
  width: 80%;
  background: var(--brand-accent);
  border-radius: 2px;
  opacity: 1;
  left: 0;
  transition: all 0.3s ease;
}

.hamburger span:nth-of-type(1) {
  top: 0;
}
.hamburger span:nth-of-type(2) {
  top: 10px;
}
.hamburger span:nth-of-type(3) {
  top: 20px;
}

.hamburger span:nth-of-type(1) {
  animation: close-to-default-top 0.75s forwards;
}
.hamburger span:nth-of-type(2) {
  transition: all 0.25s 0.25s;
  opacity: 1;
}
.hamburger span:nth-of-type(3) {
  animation: close-to-default-bottom 0.75s forwards;
}

.hamburger.is-active span:nth-of-type(1) {
  animation: open-to-x-top 0.75s forwards;
}
.hamburger.is-active span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.is-active span:nth-of-type(3) {
  animation: open-to-x-bottom 0.75s forwards;
}

/* 햄버거 애니메이션 keyframes */
@keyframes open-to-x-top {
  0%   { transform: translateY(0) rotate(0); }
  50%  { transform: translateY(10px) rotate(0); }
  100% { transform: translateY(10px) rotate(45deg); }
}

@keyframes open-to-x-bottom {
  0%   { transform: translateY(0) rotate(0); }
  50%  { transform: translateY(-10px) rotate(0); }
  100% { transform: translateY(-10px) rotate(-45deg); }
}

@keyframes close-to-default-top {
  0%   { transform: translateY(10px) rotate(45deg); }
  50%  { transform: translateY(10px) rotate(0); }
  100% { transform: translateY(0) rotate(0); }
}

@keyframes close-to-default-bottom {
  0%   { transform: translateY(-10px) rotate(-45deg); }
  50%  { transform: translateY(-10px) rotate(0); }
  100% { transform: translateY(0) rotate(0); }
}

/* ---------- 1024px 이하(태블릿) ---------- */
@media (max-width: 1024px){
  .site-header{
    padding: 10px 24px;      /* 좌우 패딩 축소 */
  }

  .site-header .site-logo img,
  .site-header .logo img,
  .site-header .branding img{
    height: 40px;
  }

  .header-btn a{
    padding: 10px 20px;      /* 버튼 작게 */
    font-size: 0.95rem;
    border-radius: 18px;
  }

  .hamburger{
    width: 26px;
    height: 26px;
  }
  .hamburger span{
    height: 2px;
  }
  .hamburger span:nth-of-type(2){ top: 9px; }
  .hamburger span:nth-of-type(3){ top: 18px; }
}

/* ---------- 768px 이하(모바일) ---------- */
@media (max-width: 768px){
  .site-header{
    padding: 10px 16px;             /* 더 컴팩트 */
    border-bottom-width: 1px;
  }

  /* 로고 높이 더 축소 */
  .site-header .site-logo img,
  .site-header .logo img,
  .site-header .branding img{
    height: 34px;
  }

  /* CTA 버튼은 아이콘/짧은 레이블 정도만 남기거나 아예 숨김 */
  .header-btn a{
    padding: 8px 14px;
    font-size: 0.9rem;
    border-radius: 16px;
  }
  /* 완전히 숨기고 싶으면 아래 주석 제거
  .header-btn{ display:none; }
  */

  /* 햄버거 버튼 터치 영역은 40px 이상 유지하면서 바는 얇게 */
  .hamburger{
    width: 36px;               /* 터치 영역 */
    height: 36px;
  }
  .hamburger span{
    height: 2px;               /* 라인 얇게 */
  }
  .hamburger span:nth-of-type(1){ top: 8px; }
  .hamburger span:nth-of-type(2){ top: 16px; }
  .hamburger span:nth-of-type(3){ top: 24px; }

  /* 풀스크린 오버레이 내비와 간격 */
  .main-nav{
    padding-top: 80px;
  }
  .side-nav-menu li{ margin: 1rem 0; }
  .side-nav-menu li a{ font-size: 1.25rem; }
}

/* ---------- 480px 이하(초소형) ---------- */
@media (max-width: 480px){
  .site-header{
    padding: 8px 12px;
  }

  .site-header .site-logo img,
  .site-header .logo img,
  .site-header .branding img{
    height: 30px;
  }

  .header-btn a{
    padding: 8px 12px;
    font-size: 0.85rem;
  }

  .hamburger{
    width: 28px;
    height: 28px;
  }
  .hamburger span{
    height: 2px;
  }
  .hamburger span:nth-of-type(1){ top: 3px; }
  .hamburger span:nth-of-type(2){ top: 13px; }
  .hamburger span:nth-of-type(3){ top: 22px; }
}

/* 네비게이션 메뉴 스타일 */
.main-nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.904);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-align: center;
  padding-top: 100px;
  z-index: 999;
  transition: opacity 0.3s ease;
  opacity: 0;
  pointer-events: none;
}

/* ✅ 햄버거 클릭 시 메뉴 열림 */
.main-nav.is-active {
  display: block; /* 필수 */
  opacity: 1;
  pointer-events: all;
}

/* ✅ 메뉴 내부 항목 스타일 */
.side-nav-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.side-nav-menu li {
  margin: 1.5rem 0;
}

.side-nav-menu li a {
  color: var(--brand-accent);
  font-size: 1.5rem;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s ease;
}

.side-nav-menu li a:hover {
  color: var(--color-accent);
}

/* ====== button ====== */

/* hero */

.hero{
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(64px, 8vw, 120px) 24px;
  color: var(--fg);
  background: url("/wp-content/themes/generatepress-child/img/jejuroom-hero.webp") center/cover no-repeat fixed;
  isolation: isolate;
}

/* 상단·좌우 어둡게: 텍스트 가독성용 그라데이션 + 비네트 */
.hero::before,
.hero::after{
  content:"";
  position:absolute; inset:0;
  z-index:0;
  pointer-events:none;
}
.hero::before{
  background: linear-gradient( to bottom, rgba(0,0,0,.65) 0%, rgba(0,0,0,.35) 35%, rgba(0,0,0,.25) 60%, rgba(0,0,0,.35) 100% );
}
.hero::after{
  box-shadow: inset 0 0 180px 60px rgba(0,0,0,.55);
}

/* ====== Text Area ====== */
.hero .text-area{
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 940px;
  margin-inline: auto;
  text-align: center;
  animation: hero-fadeup .8s ease-out both;
}

.topbadge{
  display:inline-block;
  padding: 8px 14px;
  border: 1px solid var(--brand-accent);
  color: var(--brand-accent);
  letter-spacing: .14em;
  font-weight: 800;
  font-size: 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.15);
  margin: 0 auto 16px;
}

.title{
  font-weight: 800;
  line-height: 1.05;
  font-size: clamp(36px, 6vw, 80px);
  margin-bottom: 12px;
  text-wrap: balance;
  color: #e5e5e5;
}
.title .yellow, span.yellow{ color: var(--brand-accent); }


.sub-title{
  color: var(--brand-accent);
  font-weight: 700;
  font-size: clamp(24px, 4.2vw, 56px);
  line-height: 1.1;
  margin-bottom: 18px;
  text-wrap: balance;
}

.title-desc{
  color: var(--fg-dim);
  font-size: clamp(14px, 1.8vw, 18px);
  line-height: 1.8;
  margin-bottom: 28px;
  color: var(--muted);
}

/* ====== CTA ====== */
.cta{
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

.cta-stroke{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 14px 22px;
  border: 1px solid var(--brand-accent);
  color: var(--brand-accent);
  text-decoration: none;
  border-radius: 8px;
  font-weight: 700;
  letter-spacing: .02em;
  transition: .2s ease;
  background: rgba(0,0,0,.25);
}
.cta-stroke:hover{
  background: var(--brand-accent);
  color: #121212;
  transform: translateY(-1px);
}

.cta-fill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 14px 22px;
  background: var(--brand-accent);
  color: #111;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 700;
  letter-spacing: .02em;
  transition: .2s ease;
}
.cta-fill:hover{
  border: 1px solid var(--brand-accent);
  background: transparent;
  color: var(--brand-accent);
  transform: translateY(-1px);
}

/* ====== Scroll Indicator ====== */
.scroll-text {
  color: var(--brand-accent);
}

.scroll-img{
  position: absolute;
  left: 50%;
  bottom: 10%;
  transform: translateX(-50%);
  width: 30px; height: 50px;
  border: 3px solid var(--brand-accent);
  border-radius: 20px;
  opacity: .75;
}
.scroll-img::after{
  content:"";
  position:absolute; left:50%; top:8px;
  width:6px; height:10px; border-radius:2px;
  background: var(--brand-accent);
  transform: translateX(-50%);
  animation: scroll-dot 1.8s ease-in-out infinite;
}

.container {
  width: 100%;
  max-width: 1360px;
  padding: 2rem;
}

.left-section, .right-section {
  width: 49%;
  min-width: 300px;
  padding: 1em;
}

/* ====== About ====== */
.about {
  background-color: var(--bg);
}

.service {
  width: 100%;
  background: #252525;
  border: 1px solid #73621f;
  padding: 1em;
  margin: 1em 0;
  border-radius: 1em;
}

.service-desc {
  color: #aaaaaa;
  margin-bottom: unset;
}

/* ====== Service ====== */

.services {
  background: var(--border);
  text-align: center;
}


/* container 1360px */
.container{
  width:100%;
  max-width:1360px;
  margin-inline:auto;
  padding-inline:clamp(16px,4vw,24px);
}

/* Section wrapper */
.services{
  background: var(--bg-2, #1a1a1a);
  color: var(--text, #fff);
  padding: clamp(60px, 8vw, 100px) 0;
}

/* Header */
.services__head{ text-align:center; margin-bottom: 28px; }

.services__title{
  font-family: var(--font-heading, sans-serif);
  font-weight:900; line-height:1.08;
  font-size: clamp(28px, 5vw, 48px);
  margin:0 0 8px;
}
.services__title .yellow{ color: var(--brand-accent, #f8c428); }
.services__lead{
  max-width: 840px;
  margin: 0 auto;
  color: var(--muted, #aaa);
  line-height: 1.85;
  font-size: clamp(14px, 1.8vw, 16px);
}

/* Grid */
.services__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 22px;
}
@media (max-width: 980px){ .services__grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px){ .services__grid{ grid-template-columns: 1fr; } }

/* Card */
.service-card{
  background: var(--surface, #141414);
  border:1px solid rgba(250,196,40,.28);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 2px 6px rgba(0,0,0,.22);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.service-card:hover{
  transform: translateY(-4px);
  border-color: var(--brand-accent, #f8c428);
  box-shadow:0 10px 28px rgba(0,0,0,.3);
}

/* Media */
.service-media{ position:relative; height: 320px; overflow:hidden; }
.service-media img{
  width:100%; height:100%; object-fit:cover;
  transform: scale(1);
  transition: transform .7s ease;
}
.service-card:hover .service-media img{ transform: scale(1.08); }

/* 이미지 상단 배지 + 그라데이션 */
.service-badge{
  position:absolute; top:12px; right:12px;
  padding:6px 10px; border-radius:6px;
  background: var(--brand-accent, #f8c428);
  color: var(--brand-accent-contrast, #111);
  font-size:11px; font-weight:800; letter-spacing:.08em;
  z-index:2;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.service-gradient{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 50%, rgba(0,0,0,.7) 100%);
  pointer-events:none;
}

/* Body */
.service-body{ padding: 18px; }
.service-row{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:12px; margin-bottom:6px;
}
.service-name{ font-size:18px; font-weight:800; margin:0; }
.service-price{ color: var(--brand-accent, #f8c428); font-weight:800; }

.service-desc{
  color: var(--muted, #aaa);
  line-height: 1.75;
  font-size: 15px;
  margin: 0 0 14px;
}

/* Buttons */
.btn{
  display:inline-block;
  width:100%;
  padding: 10px 14px;
  border-radius: 6px;
  font-weight:800; letter-spacing:.02em;
  text-align:center; text-decoration:none;
  transition:.2s ease;
}
.btn.ghost{
  background: transparent;
  color: var(--brand-accent, #f8c428);
  border: 1px solid var(--brand-accent, #f8c428);
}
.btn.ghost:hover{ background: var(--brand-accent, #f8c428); color: var(--brand-accent-contrast, #111); }

.services__cta{ text-align:center; margin-top: 28px; }
.btn.solid{
  width:auto;
  background: var(--brand-accent, #f8c428);
  color: var(--brand-accent-contrast, #111);
  border:1px solid var(--brand-accent, #f8c428);
  padding: 14px 26px;
}
.btn.solid:hover{ filter: brightness(1.05); transform: translateY(-1px); }


/* ============== Invitation / Welcome Letter ============== */
.invitation{
  position: relative;
  background: var(--bg-2, #1a1a1a);
  color: var(--text, #fff);
  padding: clamp(60px, 8vw, 100px) 0;
  overflow: hidden;
}

/* 중앙 폭 제한 (글 읽기 편하게) */
.invitation > *{
  max-width: 940px;           /* 본문 폭 */
  margin-left: auto;
  margin-right: auto;
  padding-inline: clamp(16px, 4vw, 24px);
}

/* 데코 블롭 */
.invitation::before,
.invitation::after{
  content:"";
  position:absolute;
  width: 420px; height: 420px;
  border-radius: 999px;
  filter: blur(60px);
  opacity: .12;
  pointer-events: none;
  z-index: 0;
}
.invitation::before{
  left: -120px; top: -140px;
  background: radial-gradient(closest-side, var(--brand-accent, #f8c428), transparent 65%);
}
.invitation::after{
  right: -140px; bottom: -160px;
  background: radial-gradient(closest-side, var(--brand-accent, #f8c428), transparent 65%);
}

/* 제목 */
.invitation-title{
  position: relative;
  z-index: 1;
  text-align: center;
  font-family: var(--font-heading, sans-serif);
  font-weight: 900;
  font-size: clamp(28px, 5vw, 42px);
  line-height: 1.2;
  margin: 0 0 16px;
}
.invitation-title + .lead{ margin-top: 10px; }

/* 리드 문단(첫 인사) */
.invitation .lead{
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 940px;
  color: var(--text, #fff);
  font-size: clamp(16px, 2vw, 18px);
  line-height: 1.9;
  margin-bottom: 24px;
}
.invitation .lead strong{ color: var(--brand-accent, #f8c428); }

/* 본문 공통 */
.invitation p{
  position: relative;
  z-index: 1;
  color: var(--muted, #aaa);
  line-height: 1.95;
  font-size: clamp(14px, 1.8vw, 16px);
  margin: 0 0 18px;
}
.invitation em{ color: var(--brand-accent, #f8c428); font-style: normal; }

/* 섹션 내 작은 소제목 */
.invitation h3{
  position: relative;
  z-index: 1;
  margin: 36px auto 12px;
  font-size: clamp(18px, 2.6vw, 20px);
  font-weight: 800;
  color: var(--text, #fff);
  text-align: left;
}

/* 약속 리스트 */
.invitation ul{
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 10px 0 24px;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr; /* 데스크탑 2열 */
  gap: 10px 18px;
}
@media (max-width: 720px){
  .invitation ul{ grid-template-columns: 1fr; }
}
.invitation ul li{
  position: relative;
  padding-left: 28px;
  color: var(--muted, #aaa);
  line-height: 1.8;
}
.invitation ul li strong{ color: var(--text, #fff); }
.invitation ul li::before{
  content: "";
  position: absolute; left: 0; top: 0.55em;
  width: 12px; height: 12px; border-radius: 3px;
  background: var(--brand-accent, #f8c428);
  box-shadow: 0 0 0 3px rgba(248,196,40,.18);
}

/* 클로징/서명 블록 */
.invitation .closing{
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid var(--border, #333);
  color: var(--text, #fff);
}
.invitation .closing strong{ color: var(--brand-accent, #f8c428); }

/* CTA 링크 라인 */
.invitation .cta{
  margin-top: 12px;
  text-align: center;
  color: var(--muted, #aaa);
}
.invitation .cta a{
  display: inline-block;
  color: var(--brand-accent, #f8c428);
  text-decoration: none;
  font-weight: 800;
  padding: 6px 10px;
  border-radius: 6px;
  transition: .2s ease;
}
.invitation .cta a:hover{
  background: rgba(248,196,40,.12);
}

/* 콘텐츠 구분선 (리드 아래 얇은 라인 추가하고 싶을 때) */
.invitation .lead + p{
  border-top: 1px solid color-mix(in oklab, var(--border, #333), transparent 40%);
  padding-top: 18px;
}


/* ====== PRICE / SERVICES & PRICING (revised) ====== */
.price{
  position: relative;
  background: var(--bg);
  color: var(--text);
  padding: clamp(64px, 8vw, 100px) 0;
  text-align: center;
}



.price h2{
  font-weight: 900;
  line-height: 1.2;
  font-size: clamp(28px, 5vw, 42px);
  margin: 0 0 8px;
}
.price h2 .yellow{ color: var(--brand-accent); }

.price > .container > p{
  color: var(--muted);
  font-size: clamp(14px, 2vw, 16px);
  margin: 0 auto 28px;
}

/* 그리드 */
.price .price-card-container{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
  align-items: stretch;
  margin-top: 32px;
}

/* 카드 – 전부 동일 스타일(강조 없음) */
.price .price-card{
  position: relative;
  background: var(--surface);
  border: 1px solid color-mix(in oklab, var(--brand-accent), transparent 80%); /* 은은한 동일 테두리 */
  border-radius: var(--radius-1, 8px);
  padding: clamp(20px, 3vw, 28px);
  text-align: left;
  transition: transform .2s ease, box-shadow .2s ease;
}
.price .price-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 34px rgba(0,0,0,.25);
}

/* 상단 타이틀 */
.price .price-card .menu{
  text-align: center;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 10px;
  word-break: keep-all;
}

/* 항목 라인 – 줄바꿈 최소화 */
.price .price-card p{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  color: var(--muted);
  margin: 0;
  padding: 12px 0;
  border-top: 1px dashed color-mix(in oklab, var(--border), transparent 40%);
  white-space: nowrap;           /* 숫자+단위가 끊어지지 않게 */
  word-break: keep-all;
}
.price .price-card p:first-of-type{ border-top: 0; }

/* 가격 강조 */
.price .price-number{
  color: var(--brand-accent);
  font-weight: 900;
  font-size: clamp(22px, 2.4vw, 32px);  /* 더 큼 */
  line-height: 1;
  letter-spacing: .01em;
}

/* 괄호 작은 설명 */
.price .price-small{
  color: var(--muted);
  font-size: 12px;
  margin: 0 6px 0 8px;
}

/* 안내/버튼 */
.price .notice{
  color: var(--muted);
  margin-top: 18px;
  font-size: 14px;
}
.price .cta-fill{
  display: inline-block;
  margin-top: 22px;
  padding: 12px 28px;
  background: var(--brand-accent);
  color: #111;
  text-decoration: none;
  font-weight: 800;
  border-radius: 10px;
  transition: .2s ease;
}
.price .cta-fill:hover{
  filter: brightness(.95);
  transform: translateY(-1px);
}

.price-text-box {
  padding: 1.5em;
}

/* 반응형 */
@media (max-width: 1024px){
  .price .price-card-container{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .price .price-card-container{ grid-template-columns: 1fr; }
  .price .price-card p{
    white-space: normal;      /* 모바일에선 너무 길면 줄바꿈 허용 */
  }
}


/* ====== GALLERY ====== */
.gallery{
  padding: 80px 0;
  background: var(--color-bg, #111);
  color: var(--color-text, #fff);
  text-align: center;
}
.gallery .container{ max-width: 1360px; margin: 0 auto; }

.gallery .topbadge.center{
  display:inline-flex; align-items:center; justify-content:center;
  padding:6px 12px;
  border:1px solid var(--brand-accent-soft, rgba(250,204,21,.18));
  color:var(--brand-accent,#f8c428);
  border-radius:999px; background:rgba(0,0,0,.15);
  margin:0 auto 14px;
}
.gallery h2{
  text-align:center; font-weight:800;
  font-size: clamp(28px, 4.5vw, 48px);
  margin: 6px auto 28px;
}
.gallery h2 .yellow{ color: var(--brand-accent, #f8c428); }

/* 공통 */
.gallery .gallery-container{ display: grid; gap: 22px; }
.gallery img{
  width:100%; height:100%;
  object-fit:cover; display:block;
  background:#000;
  border:1px solid rgba(255,255,255,.06);
  border-radius:8px;
  box-shadow:0 4px 20px rgba(0,0,0,.4);
  transition: transform .45s ease, box-shadow .45s ease, border-color .25s ease, opacity .25s ease;
}
.gallery img:hover{
  transform: translateY(-2px);
  border-color: var(--brand-accent-soft, rgba(250,204,21,.18));
  box-shadow: 0 10px 32px rgba(0,0,0,.55);
  opacity: .98;
}

/* 데스크톱 레이아웃 */
.gallery .gallery-top{
  --gap: 22px;
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--gap);
  align-items: stretch;
}
.gallery .gallery-top .gallery-big{
  grid-column:1; grid-row:1 / span 2;
  aspect-ratio: 4 / 3;
}
.gallery .gallery-top .gallery-small{
  grid-column:2;
  aspect-ratio: 1 / 1;
}
.gallery .gallery-top .gallery-small:nth-of-type(2){ grid-row:1; }
.gallery .gallery-top .gallery-small:nth-of-type(3){ grid-row:2; }

.gallery .gallery-bottom{
  --gap: 22px;
  display:grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--gap);
  align-items: stretch;
}
.gallery .gallery-bottom .gallery-big{
  grid-column:2; grid-row:1 / span 2;
  aspect-ratio: 4 / 3;
}
.gallery .gallery-bottom .gallery-small{
  grid-column:1;
  aspect-ratio: 1 / 1;
}
.gallery .gallery-bottom .gallery-small:nth-of-type(1){ grid-row:1; }
.gallery .gallery-bottom .gallery-small:nth-of-type(2){ grid-row:2; }

/* CTA */
.gallery .cta-fill{ display:inline-block; margin: 10px auto 0; }

/* ===== 모바일: 겹침 방지(핵심) + 1열 스택 ===== */
@media (max-width: 768px){
  .gallery{ padding: 56px 0; }
  .gallery .gallery-container{ gap: 14px; }

  /* 1열로 바꾸고… */
  .gallery .gallery-top,
  .gallery .gallery-bottom{
    grid-template-columns: 1fr;
  }

  /* 🔧 데스크톱에서 준 grid 배치값을 모두 해제해서 겹침 방지 */
  .gallery .gallery-top  .gallery-big,
  .gallery .gallery-top  .gallery-small,
  .gallery .gallery-bottom .gallery-big,
  .gallery .gallery-bottom .gallery-small{
    grid-column: auto !important;
    grid-row: auto !important;
  }

  /* 이미지 높이는 자동으로 (안 보이는 문제 방지) */
  .gallery img{ height: auto; }

  /* 보기 좋은 비율(선택) */
  .gallery .gallery-top  .gallery-big,
  .gallery .gallery-bottom .gallery-big{ aspect-ratio: 16 / 10; }
  .gallery .gallery-top  .gallery-small,
  .gallery .gallery-bottom .gallery-small{ aspect-ratio: 1 / 1; }
}







/* ========== BLOG / LATEST NEWS (FINAL) ========== */
.blog{ background: var(--bg); }

/* 상단 */
.blog h2{ margin: 0 0 16px; }

/* Swiper 컨테이너 */
.blog .swiper{
  position: relative;
  overflow: visible;  /* 카드 그림자 살리기 */
  width: 100%;
}
/* 가로 튀어나옴 방지 안전장치 */
.blog .swiper, .blog .swiper *{ min-width: 0; }

.blog .swiper-wrapper{ padding-bottom: 40px; } /* 도트 공간 */

/* 카드 */
.blog-card{
  background: var(--surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(255,255,255,.04) inset;
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.blog-card:hover{
  border-color: var(--brand-accent-soft);
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.blog-card__link{ display:block; color:inherit; text-decoration:none; }

/* 썸네일 */
.blog-card__thumb{ position: relative; aspect-ratio: 16/9; overflow: hidden; }
.blog-card__thumb img{
  width: 100%; height: 100%; object-fit: cover; display: block;
  transform: scale(1.001); transition: transform .7s ease;
}
.blog-card:hover .blog-card__thumb img{ transform: scale(1.06); }

/* 배지 + 오버레이 */
.blog-card__badge{
  position: absolute; left: 12px; top: 12px; z-index: 2;
  background: var(--brand-accent); color: #111;
  font-size: 12px; font-weight: 700; letter-spacing: .04em;
  padding: 6px 10px; border-radius: 8px;
}
.blog-card__overlay{
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 60%);
  pointer-events: none;
}

/* 본문 */
.blog-card__body{
  padding: 18px 18px 20px;
  border-top: 1px dashed rgba(255,255,255,.06);
  display: flex; flex-direction: column; gap: 10px;
  min-height: 180px;
}
.blog-card__title{
  margin: 0;
  font-size: clamp(1.05rem, .9rem + .5vw, 1.25rem);
  line-height: 1.35;
  color: var(--text);
}
.blog-card__excerpt{
  color: var(--muted);
  font-size: var(--font-small);
  line-height: 1.6;
}
.blog-card__more{
  margin-top: auto;
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--brand-accent); font-weight: 700;
  border-bottom: 1px solid transparent;
  transition: border-color .2s, gap .2s;
}
.blog-card:hover .blog-card__more{ border-color: var(--brand-accent); gap: 10px; }

/* 도트 페이지네이션 */
.blog-pagination{
  position: static;
  display: flex; justify-content: center; align-items: center;
  gap: 10px; margin-top: -4px;
}
.blog-pagination .swiper-pagination-bullet{
  width: 8px; height: 8px; border-radius: 999px;
  background: rgba(255,255,255,.25); opacity: 1;
  transition: width .2s, background-color .2s, opacity .2s;
}
.blog-pagination .swiper-pagination-bullet-active{
  width: 20px; background: var(--brand-accent);
}

/* 네비 버튼(옵션) */
.blog .blog-nav{
  position: absolute; top: -56px; right: 0;
  width: 36px; height: 36px; border-radius: 8px;
  border: 1px solid var(--brand-accent-soft);
  background: transparent; cursor: pointer;
  transition: background .2s, border-color .2s;
}
.blog .blog-prev{ right: 48px; }
.blog .blog-nav:hover{ background: rgba(255,255,255,.06); border-color: var(--brand-accent); }
.blog .blog-nav::before{
  content: ''; display: block; width: 8px; height: 8px; margin: 12px auto;
  border-right: 2px solid var(--brand-accent);
  border-bottom: 2px solid var(--brand-accent);
}
.blog .blog-prev::before{ transform: rotate(-45deg); }
.blog .blog-next::before{ transform: rotate(135deg); }

/* ===== 모바일/태블릿 깨짐 방지 패치 ===== */
@media (max-width: 640px){
  .blog .swiper{ overflow: hidden; }                   /* 가로 스크롤 차단 */
  .blog .swiper-slide{ width: 100% !important; }       /* 한 장씩 꽉 채우기 */
  .blog-card__thumb{ aspect-ratio: 16/10; }            /* 조금 낮춰 안정화 */
  .blog-card__body{ padding: 16px 14px 16px; min-height: 0; }
  .blog .blog-nav{ display: none; }                    /* 버튼 숨김(선택) */
}

@media (min-width: 641px) and (max-width: 1024px){
  .blog .swiper{ overflow-x: clip; overflow-y: visible; }
  .blog .swiper-slide{ width: calc(50% - 1px) !important; } /* 반올림 보정 */
}



/* ========== REVIEW / TESTIMONIALS ========== */
.review {
  background: var(--bg);
  padding: var(--section-padding) 0;
  text-align: center;
}

.review h2{
  text-align: center;
  margin: 0 0 10px;
}
.review h2 .yellow{ color: var(--brand-accent); }

.review > .container > p{
  text-align: center;
  color: var(--text);
  max-width: 820px;
  margin: 0 auto 40px;
  line-height: 1.7;
}

/* 카드 그리드 */
.review-container{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* 카드 */
.review-card{
  background: var(--surface);
  border: 1px solid var(--color-border);
  border-radius: 12px;
  padding: 22px 22px 18px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.04) inset;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
  display: flex;
  flex-direction: column;
  min-height: 220px;
  position: relative;
  isolation: isolate;
}
.review-card:hover{
  border-color: var(--brand-accent-soft);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
}

/* 큰 인용부호 장식 (시안 우상단) */
.review-card[data-quote="true"]::after{
  content: "”";
  position: absolute;
  right: 16px; top: 10px;
  font-family: var(--font-heading, 'Poppins', ui-sans-serif);
  font-weight: 700;
  font-size: 42px;
  line-height: 1;
  color: rgba(255,255,255,.10);
  pointer-events: none;
  z-index: 0;
}

/* 별점 */
.review-star{
  display: inline-flex;
  gap: 6px;
  margin-bottom: 12px;
  z-index: 1;
}
/* 별 아이콘: 마스크로 선명한 별 */
.review-star i{
  width: 16px; height: 16px; display: inline-block;
  background: var(--brand-accent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* 본문/구분선/작성자 */
.review-text{
  color: var(--text);
  line-height: 1.75;
  z-index: 1;
}
.review-card hr{
  border: 0;
  border-top: 1px dashed rgba(255,255,255,.08);
  margin: 14px 0 10px;
}
.reviewer{
  color: var(--text);
  font-size: .92rem;
}

/* 반응형 */
@media (max-width: 1200px){
  .review-container{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 640px){
  .review-container{ grid-template-columns: 1fr; }
  .review-card{ padding: 18px; }
  .review-card[data-quote="true"]::after{ font-size: 36px; right: 12px; top: 8px; }
}


/* ===== Contact (icon stroke version) ===== */

.contact h2{ text-align:center; margin:0 0 12px; }
.contact .contact-lead{
  text-align:center; color:var(--text); margin:0 auto 28px; max-width:760px;
}

/* grid */
.contact-grid{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  gap:20px; margin-top:10px;
}
.contact-item{
  background:var(--surface);
  border:1px solid var(--color-border);
  border-radius:12px; padding:18px 18px 16px;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.contact-item:hover{
  border-color:var(--brand-accent-soft);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

/* stroke icon */
.ci-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:12px;
  background:transparent; border:1px solid var(--brand-accent-soft);
  margin-bottom:12px;
}
.ci-icon svg{
  width:22px; height:22px; stroke:var(--brand-accent); fill:none;
  stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;
}

/* text */
.contact-item h3{ font-size:1.05rem; margin:0 0 6px; }
.contact-item p, .contact-item address, .contact-item .hours{
  margin:0; color:var(--text); font-style:normal;
}
.contact-item a{ color:var(--brand-accent); text-decoration:none; }
.contact-item a:hover{ text-decoration:underline; }
.contact-item .hours{ list-style:none; padding:0; }
.contact-item .hours li{ line-height:1.7; }

/* CTA panel */
.contact-cta{
  display:grid; grid-template-columns: 1fr auto; align-items:center;
  gap:18px; margin:28px 0 32px;
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00));
  border:1px solid var(--brand-accent-soft);
  border-radius:14px; padding:22px;
}
.contact-cta .cta-copy h3{ margin:0 0 6px; font-size:1.2rem; }
.contact-cta .cta-copy p{ margin:0; color:var(--text); }
.contact-cta .cta-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center;
  padding:12px 18px; border-radius:10px; font-weight:700; text-decoration:none;
  transition:.2s ease; letter-spacing:.02em;
}
.btn-fill{ background:var(--brand-accent); color:#111; border:1px solid var(--brand-accent); }
.btn-fill:hover{ filter:brightness(.92); transform:translateY(-1px); }
.btn-stroke{ background:transparent; color:var(--brand-accent); border:1px solid var(--brand-accent); }
.btn-stroke:hover{ background:rgba(250,204,21,.08); transform:translateY(-1px); }

/* map */
.map-wrap{ margin-top:12px; border-radius:14px; overflow:hidden; border:1px solid var(--color-border); }
.map-wrap iframe{ width:100%; height:460px; display:block; }


/* ===== Footer 기본 ===== */
.site-footer{
  background: var(--footer-bg, #0c0c0c);
  color: var(--footer-fg, #fff);
  border-top: 1px solid var(--footer-border, rgba(255,255,255,.08));
}
.site-footer .footer-inner{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  padding: 28px clamp(16px, 4vw, 24px);
}
.site-footer .footer-menu h4{
  margin: 0 0 10px;
  font-weight: 800;
}
.footer-menu-list{ list-style: none; padding: 0; margin: 0; }
.footer-menu-list li + li{ margin-top: 6px; }
.footer-menu-list a{
  color: var(--footer-link, #aaa);
  text-decoration: none;
}
.footer-menu-list a:hover{ color: var(--footer-link-hover, var(--brand-accent)); }

.footer-bottom{
  border-top: 1px solid var(--footer-border, rgba(255,255,255,.08));
  text-align: center;
  padding: 12px clamp(16px, 4vw, 24px);
  font-size: 0.95rem;
  color: var(--footer-fg, #fff);
}

/* 반응형 */
@media (max-width: 768px){
  .site-footer .footer-inner{ grid-template-columns: 1fr; text-align: center; }
}

/* ===== Fixed Reserve Bar ===== */
.reserve-bar{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 9998; /* 헤더(9999)보다는 낮게, 다른 콘텐츠보다는 높게 */
  background: var(--bg-2, #1a1a1a);
  border-top: 1px solid var(--brand-accent-soft, rgba(250,204,21,.18));
  box-shadow: 0 -8px 30px rgba(0,0,0,.3);
  padding-bottom: max(12px, env(safe-area-inset-bottom)); /* iOS 홈바 여백 */
}
.reserve-bar__inner{
  max-width: 1360px;
  margin: 0 auto;
  padding: 12px clamp(16px, 4vw, 24px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
}
.reserve-bar__copy{
  display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap;
  color: var(--text, #fff);
}
.reserve-bar__copy strong{ font-weight: 800; }
.reserve-bar__copy span{ color: var(--muted, #aaa); }
.reserve-bar__actions{ display: flex; gap: 10px; flex-wrap: wrap; }

.rb-btn{
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; padding: 12px 18px;
  border-radius: 10px; text-decoration: none; font-weight: 800;
  letter-spacing: .02em; border: 1px solid transparent;
  transition: transform .15s ease, filter .15s ease, background .15s ease, border-color .15s ease;
  white-space: nowrap;
}
.rb-btn svg{
  width: 18px; height: 18px;
  stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.rb-btn--primary{
  background: var(--brand-accent, #facc15);
  color: var(--brand-accent-contrast, #111);
  border-color: var(--brand-accent, #facc15);
}
.rb-btn--primary:hover{ filter: brightness(.95); transform: translateY(-1px); }
.rb-btn--ghost{
  background: transparent;
  color: var(--brand-accent, #facc15);
  border-color: var(--brand-accent, #facc15);
}
.rb-btn--ghost:hover{ background: rgba(250,204,21,.08); transform: translateY(-1px); }


  /* ===== ABOUT 페이지 전용 기본 세팅 ===== */
  .nm-about-page{
    font-family: -apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR",system-ui,sans-serif;
    background:#111;
    color:#f5f5f5;
  }
  .nm-about-page a{
    color:#facc15;
    text-decoration:none;
  }
  .nm-about-page a:hover{
    text-decoration:underline;
  }
  .nm-about-inner{
    max-width:1200px;
    margin:0 auto;
    padding:0 16px 80px;
  }

  /* ===== HERO 영역 ===== */
  .nm-about-hero{
    position:relative;
    width:100%;
    min-height:320px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:80px 16px 40px;
    box-sizing:border-box;
    background:url('/wp-content/uploads/2025/11/제주도-룸싸롱-banner.webp') center center / cover no-repeat;
    color:#fff;
  }
  .nm-about-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom,rgba(0,0,0,.65),rgba(0,0,0,.8));
  }
  .nm-about-hero-content{
    position:relative;
    max-width:960px;
    text-align:left;
  }
  .nm-about-hero-badge{
    display:inline-block;
    padding:6px 12px;
    border-radius:999px;
    border:1px solid rgba(250,204,21,.7);
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#facc15;
    margin-bottom:10px;
  }
  .nm-about-hero-title{
    font-family:"Poppins","Pretendard",system-ui,sans-serif;
    font-size:clamp(26px,4vw,40px);
    font-weight:800;
    margin:0 0 8px;
  }
  .nm-about-hero-title span{
    color:#facc15;
  }
  .nm-about-hero-desc{
    font-size:15px;
    line-height:1.7;
    max-width:720px;
    color:#f0f0f0;
  }

  /* ===== 섹션 공통 ===== */
  .nm-section{
    padding:48px 0 0;
  }
  .nm-section-header{
    margin-bottom:20px;
  }
  .nm-section-kicker{
    font-size:13px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#facc15;
    margin-bottom:6px;
  }
  .nm-section-title{
    font-size:24px;
    font-weight:800;
    margin:0 0 8px;
  }
  .nm-section-lead{
    font-size:15px;
    line-height:1.8;
    color:#cccccc;
    margin:0;
  }

  /* ===== 이미지 + 텍스트 레이아웃 ===== */
  .nm-feature{
    display:flex;
    gap:24px;
    align-items:stretch;
    margin-top:24px;
    flex-wrap:wrap;
  }
  .nm-feature:nth-of-type(2),
  .nm-feature:nth-of-type(4){
    flex-direction:row-reverse;
  }
  .nm-feature-img{
    flex:1 1 280px;
    min-width:260px;
  }
  .nm-feature-img figure{
    margin:0;
    border-radius:16px;
    overflow:hidden;
    border:1px solid rgba(250,204,21,.28);
    background:#000;
  }
  .nm-feature-img img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .nm-feature-body{
    flex:1 1 320px;
    min-width:260px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .nm-feature-body h3{
    font-size:20px;
    font-weight:800;
    margin:0 0 10px;
    color:#ffffff;
  }
  .nm-feature-body p{
    font-size:15px;
    line-height:1.8;
    color:#d0d0d0;
    margin:0 0 10px;
  }
  .nm-feature-tag{
    display:inline-block;
    font-size:12px;
    padding:4px 10px;
    border-radius:999px;
    border:1px solid rgba(250,204,21,.45);
    color:#facc15;
    margin-bottom:10px;
  }

  /* ===== 마무리 & CTA ===== */
  .nm-about-final{
    margin-top:40px;
    padding:24px 18px;
    border-radius:14px;
    border:1px solid rgba(250,204,21,.25);
    background:linear-gradient(135deg,rgba(250,204,21,.06),rgba(0,0,0,.9));
  }
  .nm-about-final h3{
    margin:0 0 10px;
    font-size:20px;
    font-weight:800;
  }
  .nm-about-final p{
    margin:0 0 8px;
    font-size:15px;
    line-height:1.8;
    color:#e8e8e8;
  }
  .nm-about-final strong{
    color:#facc15;
  }

  @media (max-width:768px){
    .nm-about-hero{
      padding:70px 16px 32px;
      min-height:260px;
      align-items:flex-end;
    }
    .nm-feature{
      flex-direction:column !important;
    }
  }








/* 모바일 스택 */
@media (max-width: 640px){
  .reserve-bar__inner{ grid-template-columns: 1fr; gap: 10px; }
  .reserve-bar__copy{ justify-content: center; text-align: center; }
  .reserve-bar__actions{ justify-content: center; width: 100%; }
  .rb-btn{ width: 100%; padding: 14px 18px; }
}


:root{ --reserve-bar-height: 80px; } 
.reserve-spacer{ height: var(--reserve-bar-height); }

body{ padding-bottom: var(--reserve-bar-height); }




/* responsive */
@media (max-width: 1200px){
  .contact-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .contact-grid{ grid-template-columns:1fr; }
  .contact-cta{ grid-template-columns:1fr; text-align:center; }
  .contact-cta .cta-actions{ justify-content:center; }
  .map-wrap iframe{ height:380px; }
}




/* ====== Animations ====== */
@keyframes hero-fadeup{
  from{ opacity:0; transform: translateY(50px); }
  to{ opacity:1; transform: translateY(0); }
}
@keyframes scroll-dot{
  0%{ opacity:0; transform:translate(-50%,0) }
  25%{ opacity:1 }
  60%{ transform:translate(-50%,12px); opacity:.6 }
  100%{ opacity:0; transform:translate(-50%,16px) }
}

/* ====== Responsive tweaks ====== */
@media (max-width: 640px){
  .topbadge{ margin-bottom: 18px; }
  .title-desc{ margin-bottom: 22px; }
}
