.main_visual { 
    height: 100vh; 
    width: 100%; 
    overflow-x: hidden; 
    position: relative; 
}
.main_visual .swiper { 
    width: 100%; 
    height: 100%; 
}
.main_visual .swiper-slide { 
    background-position: center; 
    background-size: cover; 
    display: flex; 
    align-items: flex-end; 
    justify-content: flex-start; 
}
.main_visual .swiper-slide.slide1 { 
    background-image: url('../img/main_banner_img01.jpg'); 
}
.main_visual .swiper-slide.slide2 { 
    background-image: url('../img/main_banner_img02.jpg'); 
}
.main_visual .swiper-slide.slide3 { 
    background-image: url('../img/main_banner_img04.jpg'); 
}
.main_visual .swiper-slide.slide4 { 
    background-image: url('../img/main_banner_img05.jpg'); 
}
.main_visual .swiper-slide.video-slide, 
.main_visual .swiper-slide.youtube-slide { 
    background-image: none; 
}

.main_visual .swiper-slide .visual-tit { 
    text-align: left; 
    position: absolute; 
    bottom: 12rem;   /* 150px */
    left: 12rem;     /* 150px */
    z-index: 2; 
    padding: 0 1.25rem; /* 20px */
}
.main_visual .swiper-slide .title { 
    font-weight: 600; 
    line-height: 1.2; 
    font-size: 3vw; 
    margin-bottom: 1rem; /* 20px */
    color: #fff; 
}
.main_visual .swiper-slide .description { 
    font-size:2.2vw; 
    color: rgba(255,255,255,0.8); 
}
.video-background { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
}
.video-slide::before, 
.youtube-slide::before { 
    content: ''; 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    z-index: 1; 
}
.main_visual .nav-and-scroll { 
    position: absolute; 
    bottom: 3.125rem;   /* 50px */
    right: 9.375rem;    /* 150px */
    display: flex; 
    align-items: center; 
    z-index: 100; 
}
.main_visual .nav-buttons { 
    display: flex; 
    margin-right: 0.625rem; /* 10px */
}
.main_visual .swiper-button-next, 
.main_visual .swiper-button-prev { 
    position: relative; 
    width: 5rem;        /* 80px */
    height: 5rem;       /* 80px */
    border-radius: 50%; 
    border: 1px solid rgba(255, 255, 255, 0.2); 
    background-color: transparent; 
    transition: all ease 0.3s; 
    margin: 0 0.3125rem; /* 5px */
}
.main_visual .swiper-button-prev { 
    background: url('../img/main_arrow01.png') no-repeat center; 
}
.main_visual .swiper-button-next { 
    background: url('../img/main_arrow02.png') no-repeat center; 
}
.main_visual .swiper-button-prev::after, 
.main_visual .swiper-button-next::after { 
    content: ''; 
}
.main_visual .swiper-button-prev:hover, 
.main_visual .swiper-button-next:hover { 
    border-color: #fff; 
}
.main_visual .scroll_move { 
    width: 5rem;        /* 80px */
    height: 5rem;       /* 80px */
    display: flex; 
    justify-content: center; 
    align-items: center; 
    border-radius: 50%; 
    background-color: rgba(255, 255, 255, 0.2); 
    animation: moveUpDown 2s infinite; 
}
.main_visual .scroll_move .scroll_icon { 
    font-size: 1.875rem; /* 30px */
    color: #fff; 
    line-height: 1; 
    animation: bounce_frames 0.5s alternate infinite cubic-bezier(0.5, 0.05, 1, 0.5); 
}
@keyframes moveUpDown { 
    0%, 100% { 
        transform: translateY(0); 
    } 
    50% { 
        transform: translateY(-0.625rem); /* -10px */
    } 
}
@keyframes bounce_frames { 
    from { 
        transform: translateY(0); 
    } 
    to { 
        transform: translateY(0.3125rem); /* 5px */
    } 
}

/* 애니메이션 스타일 */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(-2.5rem, 0, 0); /* -40px */
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}
.main_visual .swiper-slide .title,
.main_visual .swiper-slide .description {
    opacity: 0;
    animation-duration: 1s;
    animation-fill-mode: both;
}

.main_visual .swiper-slide-active .title {
    animation-name: fadeInLeft;
    animation-delay: 0.5s;
}
.main_visual .swiper-slide-active .description {
    animation-name: fadeInLeft;
    animation-delay: 1s;
}

@media screen and (max-width: 820px) { 
	.main_visual { height: 55vh; }
    .main_visual .swiper-slide .title { font-size: 5vw; }
    .main_visual .swiper-slide .description { font-size: 3.5vw; word-break: keep-all; line-height: 1.65 }
    .main_visual .nav-and-scroll { bottom: 0.625rem; right: 0.625rem; } /* 10px */
    .main_visual .swiper-button-next, .main_visual .swiper-button-prev, .main_visual .scroll_move { width: 3.125rem; height: 3.125rem; } /* 50px */
    .main_visual .scroll_move .scroll_icon { font-size: 1rem; } /* 16px */
    .main_visual .swiper-slide .visual-tit { bottom: 6.25rem; left: 1.25rem; } /* 100px, 20px */
}

@media screen and (max-width: 480px) {
	.main_visual { height: 45vh; }
    .main_visual .nav-buttons { display: none }
    .main_visual .swiper-slide .visual-tit { display:none } /* 50px, 10px */
}


/* ==============================
   SECTION 01
   ============================== */
.section01 {
  position: relative;
  overflow: hidden;
background-image: url('../img/bg_sky.png');
background-repeat: repeat-x;
background-position: top; 
}

.bubble {
  position: absolute;
  bottom: 50px; /* 🔥 핵심: 화면 안쪽에서 시작 */
  border-radius: 50%;

  background: radial-gradient(circle at 30% 30%,
    rgba(255, 182, 193, 0.6),
    rgba(173, 216, 230, 0.5),
    rgba(221, 160, 221, 0.4),
    rgba(255, 255, 255, 0.2)
  );

  border: 1px solid rgba(255,255,255,0.6);
  box-shadow:
    inset -5px -10px 15px rgba(255,255,255,0.3),
    0 0 10px rgba(173,216,230,0.4);

  opacity: 0;
}
.bubble:nth-child(1) {
  left: 8%;
  width: 60px; height: 60px;
  animation: float1 6s ease-in-out infinite;
  animation-delay: 0s;
}

.bubble:nth-child(2) {
  left: 22%;
  width: 120px; height: 120px;
  animation: float2 9s ease-in-out infinite;
  animation-delay: 1s;
}

.bubble:nth-child(3) {
  left: 38%;
  width: 80px; height: 80px;
  animation: float3 7s ease-in-out infinite;
  animation-delay: 2s;
}

.bubble:nth-child(4) {
  left: 55%;
  width: 140px; height: 140px;
  animation: float4 10s ease-in-out infinite;
  animation-delay: 3s;
}

.bubble:nth-child(5) {
  left: 72%;
  width: 70px; height: 70px;
  animation: float5 6.5s ease-in-out infinite;
  animation-delay: 4s;
}

.bubble:nth-child(6) {
  left: 88%;
  width: 95px; height: 95px;
  animation: float6 8s ease-in-out infinite;
  animation-delay: 2.5s;
}

@keyframes float1 {
  0%   { transform: translate(0, 20px); opacity: 0; }
  20%  { opacity: 0.7; }
  100% { transform: translate(20px, -220px); opacity: 0; }
}

@keyframes float2 {
  0%   { transform: translate(0, 30px); opacity: 0; }
  20%  { opacity: 0.8; }
  100% { transform: translate(-30px, -260px); opacity: 0; }
}

@keyframes float3 {
  0%   { transform: translate(0, 20px); opacity: 0; }
  20%  { opacity: 0.7; }
  100% { transform: translate(15px, -200px); opacity: 0; }
}

@keyframes float4 {
  0%   { transform: translate(0, 40px); opacity: 0; }
  20%  { opacity: 0.8; }
  100% { transform: translate(-20px, -300px); opacity: 0; }
}

@keyframes float5 {
  0%   { transform: translate(0, 25px); opacity: 0; }
  20%  { opacity: 0.6; }
  100% { transform: translate(25px, -230px); opacity: 0; }
}

@keyframes float6 {
  0%   { transform: translate(0, 20px); opacity: 0; }
  20%  { opacity: 0.75; }
  100% { transform: translate(-15px, -250px); opacity: 0; }
}
.section01 .inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; max-width: 100rem; margin: 0 auto; padding: 0 1.25rem; } /* 1600px, 20px */
.section01 .left { width: 100%; max-width: 37.5rem; margin-bottom: 1.875rem; } /* 600px, 30px */
.section01 .left h2 {
    background: linear-gradient(to right, #0eba2b, #73bf0f);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'RomanticGumi';
    font-size: 2.6rem;
    font-weight: 100;
    line-height: 1.5;
}
.section01 .left h2 strong { font-size: 3.8rem; }
.section01 .right { width: 100%; max-width: 50rem; } /* 800px */
.section01 .right p { font-size: 1.1rem !important; color: #555; line-height: 1.8; }
.section01 .right p strong { font-size: 1.5rem; }
.section01 .left {
    opacity: 0;
    transform: translateX(-3.75rem); /* -60px */
    transition: opacity 0.8s cubic-bezier(.22,.68,0,1.2),
                transform 0.8s cubic-bezier(.22,.68,0,1.2);
}
.section01 .right {
    opacity: 0;
    transform: translateX(3.75rem); /* 60px */
    transition: opacity 0.8s cubic-bezier(.22,.68,0,1.2) 0.2s,
                transform 0.8s cubic-bezier(.22,.68,0,1.2) 0.2s;
}
.section01 .left.visible,
.section01 .right.visible {
    opacity: 1;
    transform: translateX(0);
}

@media screen and (min-width: 75rem) { /* 1200px */
    .section01 { padding: 9.375rem 0; } /* 150px */
    .section01 .left { width: 40%; }
    .section01 .right { width: 55%; }
    .section01 .left h2 { font-size: 3.75rem; } /* 60px */
    .section01 .right p { font-size: 1.125rem; } /* 18px */

}
@media screen and (max-width: 820px) { 
	.section01 {padding:3rem 1rem}
    .section01 .left, .section01 .right { margin-bottom: 0; } /* 20px */
    .section01 .left h2 { font-size: 2.8rem; } /* 48px */
	.section01 .left h2 strong  { font-size: 3.3rem; } 
    .section01 .right p { font-size: 1.0625rem; } /* 17px */
}

@media screen and (max-width: 480px) {
    .section01 .left h2 strong { font-size: 2.8rem; } 
    .section01 .left, .section01 .right {width:100%;}
}


/* ==============================
   SECTION 02
   ============================== */
.section02 { width: 100%; padding: 8rem 0 5rem 0;background:var(--bk-white); } /* 150px */

.section02 .container {
  max-width: 1600px;
  margin: 0 auto;
}

@media screen and (max-width: 820px) { 
    .section02 { width: 100%; }
}

@media screen and (max-width: 480px) {
    .section02 { padding: 3rem 0; margin:0; } 
}


/* ==============================
   SECTION 03
   ============================== */
.section03 { position: relative; height: 62.5rem; display: flex; color: white; overflow: hidden; margin: 0; } /* 1000px, 150px */
.section03 .background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; filter: brightness(0.8); transition: opacity 1.5s ease; }
.section03 #background1 { z-index: 1; }
.section03 #background2 { z-index: 2; opacity: 0; }
.section03 .content-wrapper { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 0 0 0 18%; width: 70%; overflow: hidden; }
.section03 .content { transition: transform 0.75s ease, clip-path 0.75s ease; }
.section03 .content.fade-out { transform: translateY(-1.25rem); clip-path: inset(0 0 100% 0); } /* -20px */
.section03 .content.fade-in { transform: translateY(0); clip-path: inset(0 0 0 0); }
.section03 .title { font-size: 3.5rem; margin-bottom: 0.5em; }
.section03 .description { font-size: 1.5rem; max-width: 37.5rem; opacity: 0.8; line-height: 1.6; word-break: keep-all; } /* 600px */
.section03 .menu { position: absolute; right: 0; top: 0; height: 100%; width: 25%; padding: 1em; display: flex; flex-direction: column; justify-content: center; z-index: 4; overflow-y: auto; }
.section03 .menu-item { display: flex; align-items: center; cursor: pointer; transition: background-color 0.3s ease; padding: 0.8em 2.1em; white-space: nowrap; font-size: 1.25rem; opacity: 0.8; } /* 20px */
.section03 .menu-item:hover { opacity: 1; }
.section03 .menu-item img { width: 1.5rem; height: 1.5rem; margin-right: 0.5em; } /* 24px */
.section03 .menu-item.active { opacity: 1; }
.section03 .icons { position: absolute; top: 1em; right: 1em; display: flex; gap: 1em; z-index: 5; }
.section03 .icon { width: 1.5rem; height: 1.5rem; background-color: white; border-radius: 50%; } /* 24px */

@media screen and (max-width: 820px) { 
    .section03 { height:45vh;padding-bottom: 0rem;} 
    .section03 .title { font-size: 2rem; margin-bottom: 0.5em; } /* 32px */
    .section03 .content-wrapper { width: 100%; height: 50vh; padding: 5%; text-align: center; background-color: rgba(0, 0, 0, 0.3); }
    .section03 .description { max-width: 100%; }
    .section03 .menu { display:none; }
    .section03 .menu-item { flex: 0 0 50%; box-sizing: border-box; justify-content: left; padding: 0.8em 0.5em; }
    .section03 .menu-item img { margin-right: 0.3em; }
	.section03 .background { height: 50vh;} 
}


/* ==============================
   SECTION 04
   ============================== */
.section04 { width: 100%; padding: 9.375rem 0; } /* 150px */
.section04 .inner { overflow: hidden; padding: 0; }
.section04 .header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 2.5rem; padding: 0 1.25rem; } /* 40px, 20px */
.section04 .title { font-size: 3.125rem; font-weight: bold;margin-bottom:0.5rem; } /* 50px */
.section04 .model { font-size: 1.5625rem; color: #555; } /* 25px */
.section04 .info { text-align: left; }
.section04 .info dl { margin-bottom: 1.25rem; } /* 20px */
.section04 .info dt { font-size: 1.125rem; font-weight: bold; margin-bottom: 0.625rem; } /* 18px, 10px */
.section04 .info dd { font-size: 1.125rem; margin-bottom: 0.625rem; color: #555; } /* 18px, 10px */
.section04 .info dt:first-child { font-size: 1.1875rem; } /* 19px */
.section04 .info dt strong { font-weight: bold; }
.section04 .pension_roll-swiper { width: 100%; height: 28.5625rem; position: relative; } /* 457px */
.section04 .pension_roll-swiper .swiper-slide { width: 100%; }
.section04 .pension_roll-swiper .swiper-slide img { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }
.section04 .pension_roll-nav { position: absolute; bottom: 1.25rem; right: 1.25rem; display: flex; align-items: center; z-index: 10; } /* 20px */
.section04 .pension_roll-pagination { font-size: 1.125rem; margin-right: 1.25rem; color: #fff; } /* 18px, 20px */
.section04 .pension_roll-pagination .current-slide { font-weight: 700; color: #fff; }
.section04 .pension_roll-pagination .total-slides { font-weight: 500; color: #fff; }
.section04 .pension_roll-buttons button { background: none; border: none; font-size: 1.5rem; cursor: pointer; padding: 0 0.625rem; color: #fff; } /* 24px, 10px */
.section04 .pension_roll-buttons button i { color: #fff; }

@media screen and (max-width: 820px) { 
    .section04 .header { flex-direction: column; align-items: flex-start; }
    .section04 .info { text-align: left; margin-top: 1.25rem; } /* 20px */
}


/* ==============================
   SECTION 05
   ============================== */
.section05 { width: 100%; overflow: hidden; }
.section05 .container { max-width: 100rem; margin: 0 auto; padding: 0 1.25rem; } /* 1600px, 20px */
.section05 .top { display: flex; justify-content: space-between; margin-bottom: 3.125rem; } /* 50px */
.section05 .top .left { width: 45%; }
.section05 .top .left span { font-size: 0.875rem; display: block; margin-bottom: 3.125rem; } /* 14px, 50px */
.section05 .top .left h2 { font-size: 3.125rem; font-weight: bold; margin: 0; font-family: "Playfair Display", serif; } /* 50px */
.section05 .top .right { width: 50%; }
.section05 .top .right p { margin: 0; max-width: 30.625rem; color: #555; line-height: 1.65; font-size: 1.125rem; word-break: keep-all; } /* 490px, 18px */
.section05 .top .right span { display: block; font-weight: 700; padding: 6.25rem 0 1.25rem 0; color: #1a1a1a; font-size: 1.5625rem; } /* 100px, 20px, 25px */
.section05 .img_roll { width: 100%; height: 50rem; position: relative; } /* 800px */
.section05 .swiper-container { width: 100%; height: 100%; }
.section05 .swiper-slide { width: 100%; height: 50rem; overflow: hidden; } /* 800px */
.section05 .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }
.section05 .bottom { position: relative; height: 18.75rem; } /* 300px */
.section05 .recruit-box { position: absolute; top: -9.375rem; left: 0; width: 45%; height: 18.75rem; background-color: white; display: flex; align-items: center; padding: 0 3.125rem 0 20rem; box-sizing: border-box; z-index: 2; } /* -150px, 300px, 50px, 320px */
.section05 .recruit-box h3 { font-size: 1.5rem; margin: 0; margin-right: 6.25rem; } /* 24px, 100px */
.section05 .recruit-box p { margin: 0; font-size: 1.125rem; color: #555; max-width: 31.25rem; line-height: 1.65; word-break: keep-all; } /* 18px, 500px */
.section05 .swiper-pagination { position: absolute; right: 3.125rem; bottom: 1.25rem; width: auto; display: flex; flex-direction: row; justify-content: flex-end; } /* 50px, 20px */
.section05 .swiper-pagination-bullet { margin: 0 0.3125rem; } /* 5px */

@media (max-width: 64rem) { /* 1024px */
    .section05 .top .left h2 { font-size: 2.75rem; } /* 44px */
    .section05 .top .right p { font-size: 1rem; } /* 16px */
    .section05 .img_roll, .section05 .swiper-slide { height: 37.5rem; } /* 600px */
    .section05 .recruit-box { width: 60%; padding: 0 2.5rem 0 12.5rem; } /* 40px, 200px */
    .section05 .recruit-box h3 { margin-right: 3.125rem; } /* 50px */
}

@media screen and (max-width: 820px) { 
    .section05 .top { flex-direction: column; }
    .section05 .top .left, .section05 .top .right { width: 100%; }
    .section05 .top .left h2 { font-size: 2.25rem; margin-bottom: 1.875rem; } /* 36px, 30px */
    .section05 .top .right span { padding: 1.875rem 0 1.25rem 0; font-size: 1.25rem; } /* 30px, 20px, 20px */
    .section05 .img_roll, .section05 .swiper-slide { height: 25rem; } /* 400px */
    .section05 .bottom { height: auto; }
    .section05 .recruit-box { position: relative; top: 0; width: 100%; height: auto; flex-direction: column; align-items: flex-start; padding: 1.875rem; } /* 30px */
    .section05 .recruit-box h3 { margin: 0 0 1.25rem 0; } /* 20px */
    .section05 .recruit-box p { font-size: 1rem; } /* 16px */
}



/* ==============================
   SECTION 06 — 멤버십 혜택 안내
   ============================== */

.section06 {
  width: 100%;
  padding: 8rem 0;
  background: linear-gradient(
    135deg,
    #F0F4C3,
    #C8E6C9,
	#FCE4EC,
	#FFECB3
  );
  background-size: 300% 300%;
  animation: gradientMove 12s ease infinite;
}
/* 자연스럽게 흐르는 애니메이션 */
@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }
  25% {
    background-position: 50% 100%;
  }
  50% {
    background-position: 100% 50%;
  }
  75% {
    background-position: 50% 0%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.section06 .container {
  max-width: 1600px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* ── Eyebrow ── */
.ms-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  opacity: 0;
  transform: translateY(20px);
}
.ms-eyebrow span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #999;
  text-transform: uppercase;
}
.ms-eyebrow-line {
  flex: 1;
  height: 1px;
  background: #e5e5e5;
}

/* ── Top 2-col ── */
.ms-top {
  display: grid;
  grid-template-columns: 25% 75%;
  gap: 60px;
  align-items: end;
  margin-bottom: 56px;
  opacity: 0;
  transform: translateY(30px);
}
.ms-title {
  font-size: 2.5rem;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: var(--bk-text);
  margin: 0;
}
.ms-subtitle-col {
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: flex-end;
}
.ms-desc {
  font-size: 1.4rem !important;
  color: var(--bk-text);
  line-height: 1.8;
  margin: 0;
}
.ms-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-shadow: 0px 1px 0px #5b8a3c;
  background:var(--bk-green-lt); 
  color: var(--bk-white);
  font-size: 1.3rem;
  font-weight: 800;
  padding: 14px 28px;
  border-radius: 100px;
  text-decoration: none;
  width: fit-content;
  transition: background 0.2s, gap 0.2s;
}
.ms-cta:hover { background: var(--bk-green); gap: 16px; }
.ms-cta-arrow {
  width: 18px; height: 18px;
  border: 1.5px solid rgba(255,255,255,0.6);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; line-height: 1;
}

/* ── Cards grid ── */
.ms-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

/* ── Card base ── */
.ms-card {
  padding: 44px 48px;
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(30px);
  transition: transform 0.3s ease;
}
.ms-card:hover { transform: translateY(-4px); }

.ms-card-buddhist {
  background: var(--bk-white);
  color: var(--bk-text);
}
.ms-card-general {
  background: var(--bk-white);
  color: var(--bk-text);
}


/* ── Card tag ── */
.ms-card-tag {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 8px 14px;
  border-radius: 100px;
  margin-bottom: 15px;
}
.ms-card-buddhist .ms-card-tag { background: var(--bk-green-dk);color: var(--bk-white);}
.ms-card-general  .ms-card-tag { background: var(--bk-primary-dk);color: var(--bk-white); }

/* ── Card title ── */
.ms-card-title {
  font-size: 2.5em;
  font-weight: 700;
  margin: 0 0 15px;
  line-height: 1.2;
}
.ms-card-buddhist .ms-card-title { color: var(--bk-green);}
.ms-card-general  .ms-card-title { color: var(--bk-primary); }

/* ── Badges ── */
.ms-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
}
.ms-badge {
  font-size: 15px;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 100px;
}
.ms-card-buddhist .ms-badge { background: var(--bk-white);  color: var(--bk-text); border: 1px solid #e0e0e0;  }
.ms-card-general  .ms-badge { background: var(--bk-white);  color: var(--bk-text); border: 1px solid #e0e0e0; }

/* ── Section label ── */
.ms-section-label {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.ms-card-buddhist .ms-section-label { color: #4ac86e; }
.ms-card-general  .ms-section-label { color: #3a7fc1; }

/* ── Divider ── */
.ms-divider {
  height: 1px;
  margin: 28px 0;
}
.ms-card-buddhist .ms-divider { background: var(--bk-border); }
.ms-card-general  .ms-divider { background: var(--bk-border); }

/* ── Benefit list ── */
.ms-benefit-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ms-benefit-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.ms-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  margin-top: 7px;
  flex-shrink: 0;
}
.ms-card-buddhist .ms-dot { background: #4ac86e; }
.ms-card-general  .ms-dot { background: #3a7fc1; }

.ms-benefit-text strong {
  display: block;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 3px;
}
.ms-benefit-text span { font-size: 14px; }
.ms-card-buddhist .ms-benefit-text strong { color: var(--bk-text); }
.ms-card-buddhist .ms-benefit-text span   { color: var(--bk-muted);  }
.ms-card-general  .ms-benefit-text strong { color: var(--bk-text);  }
.ms-card-general  .ms-benefit-text span   {color: var(--bk-muted);  }

/* ── Card footer ── */
.ms-card-footer {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ms-card-footnote {font-size: 14px; }
.ms-card-buddhist .ms-card-footnote { color: var(--bk-muted); }
.ms-card-general  .ms-card-footnote { color:var(--bk-muted);}

.ms-circle-btn {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform 0.2s;
}
.ms-circle-btn:hover { transform: scale(1.1); }
.ms-card-buddhist .ms-circle-btn { background: #4ac86e; color: #0d1f13; }
.ms-card-general  .ms-circle-btn { background: #111; color: #fff; }

/* ==============================
   애니메이션
   ============================== */
.section06.active .ms-eyebrow {
  animation: fadeUp 0.7s ease forwards;
}
.section06.active .ms-top {
  animation: fadeUp 0.8s ease 0.1s forwards;
}
.section06.active .ms-card:nth-child(1) {
  animation: fadeUp 0.7s ease 0.25s forwards;
}
.section06.active .ms-card:nth-child(2) {
  animation: fadeUp 0.7s ease 0.4s forwards;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(40px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ==============================
   반응형
   ============================== */
@media (max-width: 1200px) {
  .ms-container { padding: 0 32px; }
}

@media (max-width: 960px) {
  .ms-top    { grid-template-columns: 1fr; gap: 24px; }
  .ms-cards  { grid-template-columns: 1fr;gap: 20px; }
  .ms-container { padding: 0 24px; }
  .section06 {padding:2rem 1rem}
}

@media (max-width: 480px) {
  .ms-card { padding: 32px 28px;}
  .ms-card-title { font-size: 22px; }
  .ms-title { font-size: 2rem; }
  .ms-desc {font-size:1rem !important;}
  .ms-cards {gap: 20px;}
}





/* ==============================
   SECTION 07
   ============================== */
.section07 { width:100%; overflow:hidden; padding:0rem 1.25rem 8rem 1.25rem; background-color: transparent;
background-image: url('../img/bg_grass.png');
background-repeat: repeat-x;
background-position: bottom; }
.section07 .container { max-width:1600px; margin:0 auto; }

.section07 .section-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:1.75rem; }
.section07 .section-header h2 { font-size:2.5rem; font-weight:700; color:var(--bk-text); letter-spacing:0em;margin-bottom:10px; }
.section07 .section-header p { font-size:1.4rem !important;color:var(--bk-muted);  margin-top:4px; }

.section07 .nav-btns { display:flex; gap:8px; }
.section07 .nav-btn { width:36px; height:36px; border-radius:50%; border:1px solid #d8ddd0; background:var(--bk-white); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1rem; color:var(--bk-dark); transition:background 0.2s, border-color 0.2s; }
.section07 .nav-btn:hover { background:#eaf3de; border-color:var(--bk-green); color:var(--bk-green); }

.section07 .swiper-section07 { overflow:hidden; }

.section07 .room-card { background:var(--bk-white); border:0.5px solid #dde3d5; overflow:hidden; display:flex; flex-direction:column; height:100%; }
.section07 .room-card .card-img { position:relative; height:13rem; overflow:hidden; background:#c8d8b0; }
.section07 .room-card .card-img img { width:100%; height:100%; object-fit:cover; }
.section07 .room-card .card-badge { position:absolute; top:0.85rem; left:0.85rem; background:rgba(0,0,0,0.38); color:#fff; font-size:0.68rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; padding:4px 10px; border-radius:20px; }
.section07 .room-card .card-body { padding:1.1rem 1.25rem 1.25rem; display:flex; flex-direction:column; flex:1; }
.section07 .room-card .card-title { font-size:1.05rem; font-weight:700; color:var(--bk-dark); margin-bottom:0.35rem; letter-spacing:-0.01em; }
.section07 .room-card .card-desc { font-size:0.82rem; color:#888; line-height:1.55; margin-bottom:1rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

.section07 .card-details { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:1rem; }
.section07 .card-details .detail-item { background:#f6f7f3; border-radius:10px; padding:0.55rem 0.75rem; }
.section07 .card-details .detail-label { font-size:0.68rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:#aaa; display:block; }
.section07 .card-details .detail-value { font-size:0.88rem; font-weight:700; color:var(--bk-dark); display:block; }

.section07 .card-icons { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:1rem; }
.section07 .card-icons span { width:30px; height:30px; display:flex; align-items:center; justify-content:center; font-size:15px; border:0.5px solid #e8ebe2; border-radius:8px; color:#666; background:#fafafa; }

.section07 .card-footer { margin-top:auto; }
.section07 .learn-more { display:inline-flex; align-items:center; gap:5px; padding:0.6rem 1.3rem; background:var(--bk-green); color:#fff; border-radius:50px; font-size:0.85rem; font-weight:600; text-decoration:none; transition:background 0.2s, transform 0.15s; }
.section07 .learn-more:hover { background:var(--bk-green-dk); transform:translateX(2px); }

.section07 .slider-dots { display:flex; justify-content:center; gap:7px; margin-top:1.5rem; }
.section07 .slider-dot { width:6px; height:6px; border-radius:50%; background:#ccc; cursor:pointer; transition:width 0.3s, background 0.3s; }
.section07 .slider-dot.active { width:20px; border-radius:3px; background:var(--bk-green); }

@media (max-width:820px) {
  .section07 .section-header h2 { font-size:1.3rem; }
}
@media (max-width:480px) {
  .section07 { padding:0 1rem 6rem 1rem; }
  .section07 .section-header h2 { font-size:2rem; }
	.section07 .section-header p {font-size:1rem !important;}
}




/* ==============================
   SECTION 08 (commented out)
   ============================== */
/*
.section08 { width: 100%; padding: 9.375rem 0; } /* 150px */
/* .section08 .image-container { width: 100%; height: 40vw; max-height: 40rem; position: relative; overflow: hidden; } /* 640px */
/* .section08 .swiper { width: 100%; height: 100%; } */
/* .section08 .swiper-slide img { width: 100%; height: 100%; object-fit: cover; } */
/* .section08 .content-wrapper { display: flex; position: relative; margin-top: -7.5rem; } /* -120px */
/* .section08 .content-box { background-color: rgba(96, 108, 56, 0.8); color: white; padding: 1.25rem; width: 18.75rem; height: 17.6875rem; display: flex; flex-direction: column; justify-content: flex-end; margin-left: 3.125rem; z-index: 1; } /* 20px, 300px, 283px, 50px */
/* .section08 .content-box h2 { font-size: 1.5rem; margin-bottom: 3.125rem; font-family: "Playfair Display", serif; } /* 24px, 50px */
/* .section08 .side-content { background-color: rgba(255, 255, 255, 0.8); padding: 9.375rem 1.25rem 1.25rem; width: calc(100% - 25rem); max-width: 50rem; margin-left: 3.125rem; align-self: flex-end; } /* 150px, 20px, 400px, 800px, 50px */
/* .section08 .side-content p { font-size: 1.125rem; margin: 1.25rem 0 0.625rem; color: #555; line-height: 1.65; word-break: keep-all; } /* 18px, 20px, 10px */
/* .section08 .read-more { color: #606c38; text-decoration: none; display: inline-block; margin-top: 0.625rem; font-weight: bold; } /* 10px */
/* .section08 .swiper-custom-nav { position: absolute; bottom: 3.125rem; right: 3.125rem; display: flex; align-items: center; color: white; z-index: 10; } /* 50px */
/* .section08 .swiper-custom-fraction { margin: 0 0.625rem; display: flex; align-items: baseline; } /* 10px */
/* .section08 .swiper-custom-current { font-size: 1.5rem; font-weight: bold; } /* 24px */
/* .section08 .swiper-custom-separator { font-size: 1rem; margin: 0 0.125rem; } /* 16px, 2px */
/* .section08 .swiper-custom-total { font-size: 1rem; margin-left: 0.3125rem; } /* 16px, 5px */
/* .section08 .swiper-button-prev, .section07 .swiper-button-next { position: static; width: 1.875rem; height: 1.875rem; margin: 0; color: #fff; } /* 30px */
/* .section08 .swiper-button-prev:after, .section07 .swiper-button-next:after { font-size: 1.125rem; } /* 18px */

/* @media (max-width: 64rem) { /* 1024px */
/*     .section08 .content-wrapper { flex-direction: column; margin-top: 0; } */
/*     .section08 .content-box { width: calc(100% - 2.5rem); height: auto; margin-left: 1.25rem; margin-right: 1.25rem; margin-top: -5rem; } /* 40px, 20px, -80px */
/*     .section08 .side-content { width: calc(100% - 2.5rem); max-width: none; margin-left: 1.25rem; margin-right: 1.25rem; margin-top: 1.25rem; } /* 40px, 20px, 20px */
/*     .section08 .swiper-custom-nav { bottom: 1.25rem; right: 1.25rem; } /* 20px */
/* } */
*/