@charset "UTF-8";

/* ==========================================================================
   공통 섹션 리듬
   ========================================================================== */
#main-content {position: relative;}
main section {margin: 0 auto;}
main h2 {font-size: 3.2rem; color: var(--black); font-weight: 400; letter-spacing: -0.02rem;}
main section > p:not([class]) {margin-top: 1.2rem; font-size: 1.6rem; color: var(--color-muted);}
/* ==========================================================================
   Hero
   ========================================================================== */
.hero-section {position: relative;z-index: 0;overflow: hidden;text-align: center;}
.hero-bubble {position: fixed;top: 0;left: 0;z-index: 70;width: 18rem;height: 18rem;object-fit: contain;opacity: 0;pointer-events: none;will-change: transform, opacity;}

/* 배경 영상 */
.hero-media {width: 100%; position: absolute; height: 100%; top: 0; left: 0; z-index: -1;}
.hero-media__video {position: absolute;inset: 0;z-index: -1;width: 100%;object-fit: cover;}
.hero-media img {width: 100%; height: auto; object-fit: cover;}

/* 상단 메인 카피 영역 (.hero-content) */
.hero-content {width: 100%;display: flex;flex-direction: column;align-items: center; padding-top: 27.4rem;}
.hero-content__sub {font-size: 1.8rem;letter-spacing: 1rem;color: #868686;font-weight: 700;}
.hero-content__title {display: flex; align-items: center; gap: 4rem; margin-top: 4.6rem;font-size: clamp(5rem, 8vw, 12.5rem);font-weight: 700;color: var(--color-text);line-height: 1.2;letter-spacing: -0.03em;}
.hero-content__dash {display: inline-block;width: 11.4rem; height: 0.3rem;background: var(--color-primary);}
.hero-content__desc {margin-top: 5rem;font-size: 5rem;font-weight: 400;color: #676767;letter-spacing: -0.01em;}

/* 동그라미 뱃지 리스트 */
.hero-badge-list {display: flex;justify-content: center;align-items: center;margin-top: 8rem;}
.hero-badge-list__item {width: 25.1rem;height: 24.7rem;display: flex; flex-direction: column; align-items: center;justify-content: center; gap: 1.6rem; text-align: center;border-radius: 50%;background: url("../images/main/hero-bubble-frame.webp") no-repeat center center/contain; color: var(--color-text);font-size: 2rem;font-weight: 500;line-height: 1.35;}
.hero-badge-list__box {width: 21.1rem; height: 21.1rem; margin-left: 1.25rem; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0.3rem;}
.hero-badge-list__text {display: block;}
.hero-badge-list__text strong {display: block;font-size: 4.7rem;font-family: "Philosopher", serif;font-weight: 700;line-height: 1.1;letter-spacing: -0.02em;}
.hero-badge-list__item--highlight {display: flex;width: 4.6rem;height: 1.1em;margin-bottom: -0.15rem;font-size: 4.7rem;} /* 높이 = 옆 배지 100% 글씨 줄 높이 → 아래 글씨 위치가 같아짐 (font-size 는 strong 과 같이) */
.hero-badge-list__item--highlight img {width: 100%;height: 100%;object-fit: contain;}
/* 하단 서브 카피 & 버튼 영역 (.hero-banner) */
.hero-banner {position: relative;max-width: clamp(100% - 4rem, 90vw, 122rem);box-sizing: border-box;margin: 0 auto;width: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center; padding-bottom: 5rem;}
.intro-video {margin: 24rem 0 6rem; width: 100%; max-width: 120rem;}
.intro-video--youtube iframe {display: block; width: 100%; aspect-ratio: 16 / 9; border: 0;} /* 메인 관리 > 홍보영상 [el_main_promo] */
.hero-banner__desc {margin-bottom: 3rem;font-size: 3.7rem;font-weight: 300;color: var(--color-text);letter-spacing: -0.02em;}
.hero-banner__desc b {font-weight: 500;}



/* ==========================================================================
   브랜드 소개 (대형 타이포 배너)
   ========================================================================== */
.bi-section {text-align: center; padding: 28rem 0 29.5rem;}
.brand-logotype-wrap {position: relative; padding: 16.1rem 0;}
.brand-logotype {display: flex; justify-content: space-between; width: 100%; gap: 2rem; font-size: clamp(1.6rem, 9vw, 14.4rem);font-weight: 700;letter-spacing: -0.1rem;color: var(--black);white-space: nowrap; overflow-x: hidden; padding: 1rem 0;}
.brand-logotype-wrap .logo-mark {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);display: inline-flex;width: 44.6rem;height: 44.6rem;border-radius: 50%; z-index: 1;}
.brand-logotype-wrap .logo-mark img {width: 100%;height: 100%;object-fit: contain;}
.bi-txt {display: flex; flex-direction: column; gap: 2.2rem; align-items: center; justify-content: center; text-align: center;}
.bi-txt b {font-size: 3.2rem; font-weight: 600; color: var(--black);}
.bi-txt p {font-size: 2.2rem; font-weight: 600; color: #aeaeae;}


/* ==========================================================================
   Signature Program
   ========================================================================== */
.program-section {padding: 0;overflow: hidden;}
.program-section__inner {position: relative;z-index: 0;}
/* 타이틀 + 탭 */
.program-nav-wrap {position: absolute;top: 50%;left: 13.4rem;transform: translateY(-50%);z-index: 1;}
.program-nav {display: flex;flex-direction: column;justify-content: center;gap: 4rem;}
.program-nav__title {font-size: clamp(3.6rem, 2.6vw + 2.2rem, 6rem);}
.program-nav__desc {margin-top: 2.8rem;font-size: 2.8rem;color: #616161; letter-spacing: -0.07rem;}
.program-tabs {display: flex;flex-direction: column;}
.program-tabs__link {display: flex;align-items: center;gap: 2rem;padding: 1rem 0;font-size: 2.4rem;font-weight: 400;color: var(--color-text);}
.program-tabs__line {flex: none;width: 12rem;height: 1px;background: #88857e;position: relative;}
.program-tabs__line::after {content: "";position: absolute;right: 0;top: 50%;width: 0.6rem;height: 0.6rem;border-right: 1px solid currentColor;border-top: 1px solid currentColor;transform: translateY(-50%) rotate(45deg);opacity: 0;transition: opacity 0.2s ease;}
.program-tabs__link[aria-current="true"] {color: var(--color-primary); font-size: 4rem; font-weight: 700;}
.program-tabs__link[aria-current="true"] .program-tabs__line {width: 16rem;background: var(--color-primary);color: var(--color-primary);}
.program-tabs__link[aria-current="true"] .program-tabs__line::after {opacity: 1;}

/* 이미지 슬라이더 */
.program-slider {position: relative;z-index: -1 !important;height: 100%; min-height: 70rem; aspect-ratio: 1920 / 1080;} /* 관리자에서 어떤 비율 사진을 올려도 디자인 비율 유지 (사진은 cover 로 잘림) */
.program-slide {position: relative;height: 100%;background: var(--color-bg-soft);}
.program-slide picture {display: block;width: 100%;height: 100%;}
.program-slide__img {width: 100%;height: 100%;object-fit: cover; min-height: 70rem;}
.program-slide__caption {width: 101rem; position: absolute;right: 0;bottom: 10rem;padding-left: 2.4rem;border-left: 3px solid var(--color-primary);}
.program-slide__desc {font-size: 2.9rem;font-weight: 600;color: var(--white);text-shadow: 0 0 9px rgba(0, 0, 0, 0.66);}
.program-slide__title {margin-top: 1rem;font-size: clamp(3rem, 2.2vw + 1.8rem, 5rem);font-weight: 500;color: var(--white);text-shadow: 0 0 9px rgba(0, 0, 0, 0.66);}
.program-slide__title b {font-weight: 700;}


/* ==========================================================================
   철학
   ========================================================================== */
.philosophy-section {padding: 12.5rem 0; background: #f3f2ee;}

/* 타이틀 + 구분선 + 소개글 */
.philosophy-header {margin: 0 auto 10rem;display: flex;align-items: center;justify-content: space-between;gap: 2rem;}
.philosophy-header__title {font-size: clamp(3.5rem, 3vw + 1.5rem, 7rem);font-weight: 300;line-height: 1.4;color: var(--color-muted-sub);}
.philosophy-header__body {width:100%; max-width: 60rem; padding-left: 4.6rem;border-left: 1px solid var(--color-text);display: flex;flex-direction: column;gap: 3.4rem;}
.philosophy-logo {position: relative;display: block;width: 13.2rem;height: 7.6rem;overflow: hidden;}
.philosophy-logo img {width: 100%; height: 100%; object-fit: contain;}
.philosophy-desc {font-size: 1.6rem;line-height: 1.75;color: var(--color-muted-sub);}

/* 이미지 갤러리 */
.philosophy-gallery .swiper-wrapper {gap: 1.7rem;}
/* flex-basis:auto 유지 (스와이퍼 inline width 충돌 방지) */
.philosophy-gallery__item {position: relative;flex: 0 0 auto;width: calc(50% - 0.85rem);aspect-ratio: 700 / 801;overflow: hidden;}
.philosophy-gallery__item img {width: 100%;height: 100%;object-fit: cover;}
/* ==========================================================================
   EL Equipment
   ========================================================================== */
.equipment-section {padding: 14rem 0;}
.equipment-header {display: flex;align-items: flex-start;justify-content: space-between;gap: 2rem;}

/* 장비 캐러셀 */
.equipment-panel {position: relative;margin-top: 4rem;}
.equipment-slider {overflow: hidden; width: 100%; margin: 0;}
.equipment-slider .swiper-wrapper {align-items: center;height: 64.5rem;}
.equipment-slide {display: flex;align-items: center;width: min(49rem, 70vw);}
.equipment-slide__card {position: relative;width: 100%;height: 55.5rem;padding: 5rem 2rem;background: #f9f7f7;text-align: center;transform-origin: center;transition: transform 0.3s ease, background 0.3s ease;transform: scale(0.9);}
.equipment-slide__category {font-size: 1.8rem;color: var(--color-text); font-weight: 700;}
.equipment-slide__name {margin-top: 0.4rem;font-size: 2.4rem;font-weight: 400;color: var(--color-primary);}
.equipment-slide__photo {width: 100%; max-width: none; height: auto;margin: 6rem auto 0;overflow: hidden;}
.equipment-slide__photo img {width: 100%;height: 100%;object-fit: contain;}
.equipment-slide__detail {display: none;}
.equipment-slide__desc {margin-top: 3rem; font-size: 1.6rem; font-weight: 400; line-height: 1.6;color: var(--white);}
.equipment-slide__desc b {display: block; font-size: 2rem; font-weight: 700; line-height: 1.7;}
.equipment-slide__more {margin-top: 2rem; background: var(--black); width: 16.6rem;}

/* 활성 슬라이드: 살짝 크게, 상세 정보 노출 */
.equipment-slide.swiper-slide-active .equipment-slide__card {position: relative;z-index: 2;height: 100%; transform: scale(1);background: linear-gradient(180deg, #82c4c4 0%, #29788a 100%);}
.equipment-slide.swiper-slide-active .equipment-slide__category {color: var(--white);font-size: 2rem;}
.equipment-slide.swiper-slide-active .equipment-slide__name {color: var(--white);font-size: 3.6rem; letter-spacing: -0.05rem;}
.equipment-slide.swiper-slide-active .equipment-slide__photo {width: 24.7rem;height: 24.7rem;margin: 2rem auto 0;border-radius: 50%;background: var(--white);padding: 1rem;transition: width 0.3s ease, height 0.3s ease, border-radius 0.3s ease, margin 0.3s ease;}
.equipment-slide.swiper-slide-active .equipment-slide__photo img {transform: translateY(35px);}
.equipment-slide.swiper-slide-active .equipment-slide__detail {display: block; padding: 0 5rem;}
.equipment-slider-controls {margin: 3rem auto 0;}
/* ==========================================================================
   프라이빗 치료공간
   ========================================================================== */
.space-section {position: relative;padding: 14rem 0;background: #f8f7f5;overflow: hidden;}
.space-inner {min-height: min(70rem, 72vh);display: flex;align-items: center;justify-content: space-between;gap: 3rem;}
.space-header {flex: 1;}
.space-header__title {font-size: clamp(4rem, 1.5vw + 2rem, 7rem);line-height: 1.4; color: var(--color-muted-sub); font-weight: 300;}
.space-header__desc {margin-top: 3rem;display: flex;flex-direction: column;gap: 3rem;font-size: 1.8rem;line-height: 1.5;color: var(--color-muted-sub);}
.space-header__more {margin-top: 3.8rem; background: transparent;}

/* 이미지 리스트 */
.space-gallery {position: relative;flex: none;width: 100%;max-width: 84.3rem;height: min(70rem, 72vh);overflow: hidden;border-left: 1px solid var(--color-text);border-right: 1px solid var(--color-text);-webkit-mask-image: linear-gradient(to bottom, transparent, #000 9rem, #000 calc(100% - 9rem), transparent);mask-image: linear-gradient(to bottom, transparent, #000 9rem, #000 calc(100% - 9rem), transparent);}
.space-gallery__list {display: flex;flex-direction: column;gap: 2rem;width: 85%;margin: 0 auto;}
.space-gallery__item {position: relative;flex: none;height: 33.5rem;overflow: hidden;}
.space-gallery__item img {width: 100%;height: 100%;object-fit: cover;}
.space-gallery__label {position: absolute;left: 0;bottom: 0;padding: 1rem 2rem; background: var(--color-text);color: var(--white);font-size: 1.6rem;font-weight: 700;}

/* ==========================================================================
   Article & News
   ========================================================================== */
.news-section {padding: 14rem 0;}
.news-header {display: flex;align-items: flex-start;justify-content: space-between;gap: 2rem;}
.news-header__text {width: max-content;}
.news-section .swiper {margin: unset; width: max-content;}

.news-section .news-grid {margin: 4.3rem auto 0; width: 100%;}
.news-grid .swiper-wrapper {display: grid;grid-template-columns: repeat(3, 1fr);gap: 2rem;}
.news-card {display: block;color: inherit;}
.news-card[hidden], .news-grid[hidden], .news-empty[hidden] {display: none;}
.news-empty {margin-top: 4.3rem; padding: 6rem 0; text-align: center; font-size: 1.6rem; color: var(--color-muted-sub);}
.news-card__thumb {display: block;aspect-ratio: 16 / 10;overflow: hidden;}
.news-card__thumb img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.3s ease;}
.news-card:hover .news-card__thumb img {transform: scale(1.04);}
.news-card__body {display: block;margin-top: 1.6rem;}
.news-card__type {display: block;font-size: 1.3rem;font-weight: 500;color: #1a8761;}
.news-card__title {display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;overflow: hidden;margin-top: 1.4rem;font-size: 2rem;font-weight: 500;line-height: 1.4;color: var(--black);}
.news-card__desc {display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;margin-top: 1rem;font-size: 1.5rem;font-weight: 500;line-height: 1.8;color: var(--color-muted-sub);}
.news-card__date {display: block;margin-top: 1.6rem;font-size: 1.3rem;color: var(--color-muted-lighter); font-weight: 500;}
.news-section .btn-wrap {display: flex; justify-content: center; padding-top: 3.5rem;}


/* brand-marquee / reservation / location은 common.css로 통합 */

/* ==========================================================================
   반응형
   ========================================================================== */

@media (max-width: 1280px) {

  /* PC 반응형 고정값 (예전 clamp() 대신 브레이크포인트별 고정 rem — 1920/1280/1024/768) */
  .hero-content__desc {font-size: 4.6rem;}
  .hero-badge-list__text strong, .hero-badge-list__item--highlight {font-size: 4.5rem;}
  .hero-banner__desc {font-size: 3.5rem;}
  .brand-logotype-wrap .logo-mark {width: 38.4rem;height: 38.4rem;}
  .program-nav-wrap {left: 9rem;}

  /* ba */
  .program-slide__caption {width: max-content;right: 5%; bottom: 5rem;}

  /* bi */
  .bi-section {padding: 15rem 0;}

  /* space */
  .space-section {padding: 8rem 0;}
  .space-gallery {max-width: 60rem;}

}

@media (max-width: 1024px) {

  /* PC 반응형 고정값 (1024 tier) */
  .hero-content__desc {font-size: 4rem;}
  .hero-badge-list__text strong, .hero-badge-list__item--highlight {font-size: 4rem;}
  .hero-banner__desc {font-size: 3.1rem;}
  .brand-logotype-wrap .logo-mark {width: 30.7rem;height: 30.7rem;}

  .hero-bubble {display: none;}
  .main .btn-line {width: 100%; border-color: #d7d4d2;}
  .hero-media img {height: 100%;}


  .program-nav__title {font-size: 3.6rem; text-align: center;}
  .program-slider {height: auto; min-height: 0; aspect-ratio: 768 / 1399;}
  .program-slide, .program-slide__img {min-height: 0;}
  .program-nav-wrap {position: absolute; top: 0; left: 0; right: 0; width: auto; transform: none; padding: 8rem 4rem 0;}
  .program-nav {gap: 1.6rem;}
  .program-nav__desc {text-align: center; font-size: 2rem; color: #616161; margin-top: 1.2rem;}
  .program-tabs {flex-direction: row; flex-wrap: wrap; margin-top: 2rem; align-items: center;}
  .program-tabs__item {flex: 1; text-align: center;}
  .program-tabs__link {width: 100%; justify-content: center; gap: 0; font-size: 1.8rem; border-bottom: 0.2rem solid rgb(136 133 126 / 0.5); padding: 0 0 2rem; position: relative;}
  .program-tabs__line {display: none;}
  .program-tabs__link[aria-current="true"] {font-size: 1.8rem;}
  .program-tabs__link[aria-current="true"]::before {content: ''; display: block; width: 100%; height: 0.5rem; background-color: var(--color-primary); position: absolute; bottom: -0.25rem; left: 0;}
  .program-nav .slider-controls {display: none;}
  .program-slide__caption {width: calc(100% - 5.3rem); left: 5.3rem; right: 0; padding-left: 2rem; bottom: 8rem; border-width: 0.6rem;}
  .program-slide__desc {font-size: 2.4rem; letter-spacing: -0.05rem;}
  .program-slide__title {margin-top: 1rem; font-size: 4rem; line-height: 1.1;}
  .program-slide__title b {display: block;}
  /* philosophy */
  .philosophy-section {padding: 9rem 0;}
  .philosophy-header {flex-direction: column;gap: 3.2rem; margin-bottom: 6rem;}
  .philosophy-header__title {width: 100%; font-size: 3.6rem;}
  .philosophy-header__body {width: 100%; max-width: 100%;}

  /*equipment*/
  .equipment-section {padding: 9rem 0;}
  .equipment-panel {margin-top: 3rem;}
  .equipment-header__text {width: 100%; text-align: center;}
  .equipment-slide__category {font-size: 1.5rem;}
  .equipment-slide__name {font-size: 2rem;}
  .equipment-slide.swiper-slide-active .equipment-slide__category {font-size: 1.6rem;}
  .equipment-slide.swiper-slide-active .equipment-slide__name {font-size: 2.8rem;}
  .equipment-slide__card {transform: scale(1); height: 100%;}
  .equipment-section .btn-wrap {padding: 4rem 4rem 0;}

  /* space */
  .space-inner {padding: 0; flex-direction: column;gap: 3.2rem;}
  .space-header {width: 100%; padding: 0 4rem;}
  .space-header__title {font-size: 3.6rem;}
  .space-header__desc {margin-top: 2rem; font-size: 1.6rem;}
  .space-gallery__label {font-size: 1.4rem;}
  .space-gallery {max-width: none;-webkit-mask-image: none;mask-image: none;}
  /* width 금지 (스와이퍼 inline width 충돌) */
  .space-gallery__list {gap: 0;}
  .space-section .space-slider-controls {display: flex !important;margin: 0 auto;}
  .space-section .btn-wrap {width: 100%; padding: 0 4rem;}

  /*news*/
  .news-section {padding: 9rem 0;}
  .news-section .news-grid {margin-top: 3rem;}
  .news-card__title {font-size: 1.8rem;}
  .news-header {flex-direction: column; gap: 3rem;}
  .news-header__text {width: 100%; text-align: center;}
  .news-section .swiper {width: 100%;}
  .news-section .btn-wrap {margin-top: 0; padding: 4rem 4rem 0;}
  /* slidesPerView:auto, gap은 JS spaceBetween 사용 */
  .news-grid .swiper-wrapper {display: flex; gap: 0;}
  .news-card {flex: none;width: 36rem;}

}


/* BA·미디어 섹션 여백 — 768 규칙이 먼저 로드되는 컴포넌트 CSS에 있어 769~1024로 한정 */
@media (min-width: 769px) and (max-width: 1024px) {
  .ba-section,
  .media-section {padding: 9rem 0;}
}

@media (max-width: 768px) {

  /* hero */

  .hero-content {padding-top: clamp(7.5rem, 19.53vw, 15rem);}
  .hero-content__sub {font-size: clamp(1.4rem, 2.86vw, 2.2rem);letter-spacing: clamp(0.2rem, 0.52vw, 0.4rem);}
  .hero-content__title {flex-wrap: wrap;justify-content: center;gap: clamp(1.6rem, 4.16vw, 3.2rem) clamp(1.9rem, 4.95vw, 3.8rem);text-align: left;margin-top: clamp(1.65rem, 4.3vw, 3.3rem);font-size: clamp(4rem, 13.54vw, 10.4rem);}
  .hero-content__dash {width: clamp(7.5rem, 19.53vw, 15rem);}
  .hero-content__desc {margin-top: clamp(1.1rem, 2.86vw, 2.2rem);font-size: clamp(1.8rem, 4.95vw, 3.8rem);}
  .hero-badge-list {gap: 0;margin-top: clamp(1.6rem, 4.16vw, 3.2rem);width: 100%;max-width: clamp(34.8rem, 90.62vw, 69.6rem); justify-content: space-between;}
  .hero-badge-list__item {width: clamp(9rem, 31.46vw, 28rem); height: clamp(9rem, 31.46vw, 28rem); gap: clamp(0.5rem, 1.82vw, 1.4rem); font-size: clamp(1.2rem, 3.125vw, 2.4rem); flex-shrink: 0; aspect-ratio: 1 / 1;}
  .hero-badge-list__item + .hero-badge-list__item {margin-left: clamp(-1rem, -2.6vw, -2rem);}
  .hero-badge-list__box {width: clamp(7.5rem, 30.6vw, 23.5rem); height: clamp(7.5rem, 30.6vw, 23.5rem); margin-left: 0; flex-shrink: 0; aspect-ratio: 1 / 1;}
  .hero-badge-list__text strong, .hero-badge-list__item--highlight {font-size: clamp(2.7rem, 7.03vw, 5.4rem);}
  .hero-badge-list__item--highlight {width: clamp(3.25rem, 8.46vw, 6.5rem);}
  .intro-video {margin: clamp(2.5rem, 6.51vw, 5rem) auto;}
  .hero-banner__desc {font-size: clamp(1.6rem, 4.42vw, 3.4rem);}
  .hero-banner {padding-bottom: clamp(11.5rem, 29.95vw, 23rem);}

  .program-nav__title {font-size: clamp(3.25rem, 8.46vw, 6.5rem);}
  .program-nav-wrap {padding: clamp(6rem, 15.63vw, 12rem) clamp(2rem, 5.21vw, 4rem) 0;}
  .program-nav {gap: clamp(0.8rem, 2.08vw, 1.6rem);}
  .program-nav__desc {font-size: clamp(1.5rem, 3.91vw, 3rem); margin-top: clamp(0.6rem, 1.56vw, 1.2rem);}
  .program-tabs {margin-top: clamp(1rem, 2.6vw, 2rem);}
  .program-tabs__link {font-size: clamp(1.6rem, 4.17vw, 3.2rem); border-bottom-width: clamp(0.1rem, 0.26vw, 0.2rem); padding-bottom: clamp(2rem, 5.21vw, 4rem);}
  .program-tabs__link[aria-current="true"] {font-size: clamp(1.6rem, 4.17vw, 3.2rem);}
  .program-tabs__link[aria-current="true"]::before {height: clamp(0.25rem, 0.65vw, 0.5rem); bottom: clamp(-0.35rem, -0.46vw, -0.175rem);}
  .program-slide__caption {width: calc(100% - clamp(2.65rem, 6.9vw, 5.3rem)); left: clamp(2.65rem, 6.9vw, 5.3rem); padding-left: clamp(1rem, 2.6vw, 2rem); bottom: clamp(6.5rem, 16.93vw, 13rem); border-width: clamp(0.3rem, 0.78vw, 0.6rem);}
  .program-slide__desc {font-size: clamp(1.6rem, 5.21vw, 4rem);}
  .program-slide__title {margin-top: clamp(0.5rem, 1.3vw, 1rem); font-size: clamp(2.2rem, 7.81vw, 6rem);}

  /* bi */
  .bi-section {padding: clamp(9rem, 23.44vw, 18rem) 0 clamp(10rem, 26.04vw, 20rem);}
  .brand-logotype-wrap {padding: 0;}
  .brand-logotype {flex-direction: column; width: 100%; font-size: clamp(3.8rem, 11.72vw, 9rem); gap: clamp(14.75rem, 38.41vw, 29.5rem);}
  .brand-logotype-wrap .logo-mark {width: clamp(19.6rem, 51.04vw, 39.2rem); height: clamp(19.45rem, 50.65vw, 38.9rem); top: 53%;}
  .bi-txt {gap: clamp(1.35rem, 3.52vw, 2.7rem);}
  .bi-txt b {font-size: clamp(1.6rem, 4.42vw, 3.4rem);}
  .bi-txt p {font-size: clamp(1.5rem, 3.65vw, 2.8rem);}


  .philosophy-section {padding: clamp(7.5rem, 19.53vw, 15rem) 0 clamp(6.5rem, 16.93vw, 13rem);}
  .philosophy-header {margin-bottom: clamp(5rem, 13.02vw, 10rem);}
  .philosophy-header__title {font-size: clamp(3.25rem, 8.46vw, 6.5rem);}
  .philosophy-header__body {padding-left: clamp(2rem, 5.21vw, 4rem); gap: clamp(1.6rem, 4.17vw, 3.2rem);}
  .philosophy-logo {width: clamp(4.9rem, 12.76vw, 9.8rem); height: clamp(2.8rem, 7.29vw, 5.6rem);}
  .philosophy-desc {font-size: clamp(1.3rem, 3.39vw, 2.6rem); line-height: 1.7;}
  .philosophy-gallery .swiper-wrapper {gap:0;}
  .philosophy-gallery__item {aspect-ratio: 618 / 717;}



  .equipment-section {padding: clamp(6.5rem, 16.93vw, 13rem) 0;}
  .equipment-slider .swiper-wrapper {height: clamp(33.3rem, 86.72vw, 66.6rem);}
  .equipment-panel {margin-top: clamp(3rem, 7.81vw, 6rem);}
  .equipment-slide__card {padding: clamp(3.5rem, 9.11vw, 7rem) 0 clamp(2rem, 5.21vw, 4rem);}
  .equipment-slide.swiper-slide-active .equipment-slide__card {background: #f8fbfb;}
  .equipment-slide.swiper-slide-active .equipment-slide__detail {display: none;}
  /* 사진 크기는 가운데(active)와 양옆 슬라이드 모두 같게 */
  .equipment-slide__photo,
  .equipment-slide.swiper-slide-active .equipment-slide__photo {border-radius: 0; background-color: transparent; max-width: 100%; height: auto; width: 100%;margin-top: clamp(2rem, 5.21vw, 5rem); padding: 0;}
  .equipment-slide.swiper-slide-active .equipment-slide__photo img {transform: unset;}
  .equipment-slide.swiper-slide-active .equipment-slide__category {color: var(--color-text);}
  .equipment-slide.swiper-slide-active .equipment-slide__name {color: var(--color-primary);}
  /* 분류명·장비명 글자 크기도 가운데(active)와 양옆 같게 */
  .equipment-slide__category,
  .equipment-slide.swiper-slide-active .equipment-slide__category {font-size: clamp(1.2rem, 3.2vw, 2.4rem);}
  .equipment-slide__name,
  .equipment-slide.swiper-slide-active .equipment-slide__name {font-size: clamp(1.7rem, 4.43vw, 3.4rem); margin-top: clamp(0.2rem, 0.52vw, 0.4rem);}
  .equipment-section .btn-wrap {padding: clamp(2rem, 5.21vw, 4rem) clamp(2rem, 5.21vw, 4rem) 0;}


  .space-section {padding: clamp(6.5rem, 16.93vw, 13rem) 0;}
  .space-inner {gap: 3rem;}
  .space-header {padding: 0 clamp(2rem, 5.21vw, 4rem);}
  .space-header__title {font-size: clamp(2.8rem, 8.46vw, 6.5rem);}
  .space-header__desc {gap:clamp(2rem, 5.21vw, 4rem); margin-top: clamp(2.5rem, 6.51vw, 5rem); padding-left: clamp(2rem, 5.21vw, 4rem); border-left: 1px solid var(--color-text); font-size: clamp(1.3rem, 3.39vw, 2.6rem); letter-spacing: -0.05rem;}
  .space-gallery__label {font-size: clamp(1.2rem, 3.2vw, 2.4rem); padding: clamp(0.5rem, 1.3vw, 1rem) clamp(1rem, 2.6vw, 2rem); width: clamp(7.5rem, 19.53vw, 15rem); height: clamp(2.75rem, 7.16vw, 5.5rem); display: flex; align-items: center; justify-content: center;}
  .space-section .btn-wrap {padding: clamp(0.5rem, 1.3vw, 1rem) clamp(2rem, 5.21vw, 4rem) 0;}


  .news-section {padding: clamp(6.5rem, 16.93vw, 13rem) 0;}
  .news-header {gap: clamp(3rem, 7.81vw, 6rem);}
  .news-section .news-grid {margin-top: clamp(2.5rem, 6.51vw, 5rem);}
  .news-card {min-width: 0; width: 29rem;}
  .news-card__type {font-size: clamp(1.2rem, 3.2vw, 2rem);}
  .news-card__title {font-size: clamp(1.5rem, 3.9vw, 2.8rem); margin-top: clamp(0.7rem, 1.82vw, 1.4rem);}
  .news-card__desc {font-size: clamp(1.3rem, 3.5vw, 2.4rem); margin-top: clamp(0.5rem, 1.3vw, 1rem); line-height: 1.5;}
  .news-card__date {font-size: clamp(1.2rem, 3.2vw, 2rem); margin-top: clamp(1rem, 2.6vw, 2rem);}
  .news-section .btn-wrap {padding: clamp(2.5rem, 6.51vw, 5rem) clamp(2rem, 5.21vw, 4rem) 0;}

}
