/* ▼▼▼ include_css.css 맨 아래(17번 다음)에 그대로 붙여넣기 ▼▼▼ */

/* 18. 메인 비주얼 (main-visual) : 영상/이미지 슬라이드 */
.main-visual{position:relative;height:calc(100vh - 100px);min-height:600px;max-height:960px;overflow:hidden;background:#222;}
.main-visual .swiper{height:100%;}
.main-visual__slide{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--c-white);text-align:center;}
.main-visual__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 6s ease-out;}
.main-visual .swiper-slide-active .main-visual__media{transform:scale(1);}
.main-visual__slide::before{content:'';position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.2);}
.main-visual__text{position:relative;z-index:2;padding:0 var(--gutter);}
.main-visual__text>*{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s;}
.main-visual .swiper-slide-active .main-visual__text>*{opacity:1;transform:translateY(0);}
.main-visual .swiper-slide-active .main-visual__title{transition-delay:.15s;}
.main-visual .swiper-slide-active .main-visual__desc{transition-delay:.3s;}
.main-visual__label{font-size:var(--fs-sm);letter-spacing:-.03em;}
.main-visual__title{margin-top:20px;font-family:var(--ff-eng);font-size:64px;font-weight:400;line-height:1.2;}
.main-visual__desc{margin-top:30px;font-size:var(--fs-sm);line-height:1.7;letter-spacing:-.05em;word-break:keep-all;}
.main-visual__btn{position:absolute;top:50%;z-index:5;width:40px;height:70px;padding:0;border:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 40'%3E%3Cpath d='M14 4L4 20l10 16' fill='none' stroke='%23fff' stroke-width='1.2'/%3E%3C/svg%3E") center / 20px 40px no-repeat;cursor:pointer;opacity:.8;transform:translateY(-50%);transition:opacity .2s;}
.main-visual__btn:hover{opacity:1;}
.main-visual__btn--prev{left:40px;}
.main-visual__btn--next{right:40px;transform:translateY(-50%) scaleX(-1);}

@media (max-width:1280px){
.main-visual__title{font-size:56px;}
}
@media (max-width:1024px){
.main-visual{height:calc(100vh - 70px);min-height:520px;}
.main-visual__title{font-size:46px;}
.main-visual__btn--prev{left:10px;}
.main-visual__btn--next{right:10px;}
}
@media (max-width:768px){
.main-visual{height:calc(100svh - 70px);min-height:460px;}
.main-visual__title{margin-top:12px;font-size:34px;}
.main-visual__desc{margin-top:18px;}
.main-visual__desc br{display:none;}
.main-visual__btn{width:30px;height:50px;background-size:14px 28px;}
}
@media (max-width:480px){
.main-visual__title{font-size:28px;}
}
/* 19. 메인 ABOUT (main-about) : 세로 제목 + 엇갈린 카드 3개 */
.main-about{position:relative;padding:160px 0;overflow:hidden;background:linear-gradient(180deg,#F8F5F1 0%,#FFFFFF 100%);}
.main-about::before{content:'美';position:absolute;top:80px;right:8%;font-family:var(--ff-eng);font-size:300px;line-height:1;color:rgba(0,0,0,.035);pointer-events:none;}
.main-about__inner{position:relative;display:flex;gap:80px;}
.main-about__title{flex:0 0 auto;margin:0;font-family:var(--ff-eng);font-size:40px;font-weight:400;line-height:1.2;color:var(--c-navy);writing-mode:vertical-rl;}
.main-about__title small{display:block;font-size:26px;color:#111;}
.main-about__cards{display:grid;grid-template-columns:repeat(2,minmax(0,460px));gap:60px 80px;margin:0;padding:0;list-style:none;}
.main-about__card:nth-child(2){margin-top:180px;}
.main-about__card:nth-child(3){margin-top:-120px;}
.main-about__img{position:relative;padding-right:40px;}
.main-about__img img{display:block;width:100%;aspect-ratio:1 / 1.08;object-fit:cover;border-radius:60px 0 0 0;}
.main-about__num{position:absolute;top:0;right:0;font-family:var(--ff-eng);font-size:14px;letter-spacing:.1em;color:#777;writing-mode:vertical-rl;}
.main-about__name{margin-top:24px;font-size:var(--fs-desc);font-weight:700;letter-spacing:-.05em;color:#111;}
.main-about__desc{margin-top:8px;font-size:15px;line-height:1.6;letter-spacing:-.05em;color:#666;word-break:keep-all;}

@media (max-width:1280px){
.main-about__inner{gap:50px;}
.main-about__cards{gap:50px 50px;}
}
@media (max-width:1024px){
.main-about{padding:110px 0;}
.main-about::before{font-size:200px;}
.main-about__inner{flex-direction:column;gap:40px;}
.main-about__title{writing-mode:horizontal-tb;font-size:34px;}
.main-about__title small{display:inline;margin-left:10px;font-size:22px;}
.main-about__card:nth-child(2){margin-top:100px;}
.main-about__card:nth-child(3){margin-top:-60px;}
}
@media (max-width:768px){
.main-about{padding:70px 0;}
.main-about__title{font-size:28px;}
.main-about__title small{display:block;margin:4px 0 0;font-size:18px;}
.main-about__cards{grid-template-columns:1fr;gap:40px;}
.main-about__card:nth-child(n){margin-top:0;}
.main-about__img{padding-right:28px;}
.main-about__img img{border-radius:40px 0 0 0;}
.main-about__num{font-size:12px;}
}
/* 20. 시그니처 (signature) : 스크롤 고정 + 스크롤 진행에 따라 항목·이미지 전환 (1024px 이하는 클릭 전환) */
.signature{--count:4;position:relative;border-radius:60px 60px 0 0;background:var(--c-navy);color:var(--c-white);}
.signature__track{height:calc(100vh + (var(--count) - 1) * 60vh);}
.signature__sticky{position:sticky;top:100px;display:flex;flex-direction:column;justify-content:center;height:calc(100vh - 100px);overflow:hidden;}
.signature__head{text-align:center;}
.signature__label{font-size:15px;letter-spacing:-.03em;opacity:.8;}
.signature__title{margin-top:12px;font-family:var(--ff-eng);font-size:var(--fs-sec-title);font-weight:400;line-height:1.25;}
.signature__body{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:center;gap:80px;margin-top:50px;}
.signature__thumbs{position:relative;aspect-ratio:520 / 400;overflow:hidden;border-radius:0 60px 0 60px;}
.signature__thumb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .6s;}
.signature__thumb.is-active{opacity:1;}
.signature__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.signature__thumb span{position:relative;font-family:var(--ff-eng);font-size:20px;letter-spacing:.05em;color:var(--c-white);}
.signature__list{margin:0;padding:0;list-style:none;border-bottom:1px solid rgba(255,255,255,.15);}
.signature__item{position:relative;padding:22px 60px 22px 0;border-top:1px solid rgba(255,255,255,.15);cursor:pointer;transition:padding .4s;}
.signature__item.is-active{padding:28px 60px 28px 0;}
.signature__name{position:relative;font-size:var(--fs-card-title);font-weight:700;letter-spacing:-.05em;color:rgba(255,255,255,.35);transition:color .4s,padding .4s;}
.signature__name::before{content:'✦';position:absolute;top:50%;left:0;font-size:13px;opacity:0;transform:translate(-8px,-50%);transition:opacity .4s,transform .4s;}
.signature__name small{margin-left:10px;font-family:var(--ff-eng);font-size:13px;font-weight:400;letter-spacing:.03em;}
.signature__item.is-active .signature__name{padding-left:24px;color:var(--c-white);}
.signature__item.is-active .signature__name::before{opacity:1;transform:translate(0,-50%);}
.signature__desc{display:grid;grid-template-rows:0fr;font-size:15px;line-height:1.7;letter-spacing:-.05em;color:rgba(255,255,255,.75);word-break:keep-all;transition:grid-template-rows .5s,padding-top .4s;}
.signature__desc>span{min-height:0;overflow:hidden;}
.signature__item.is-active .signature__desc{grid-template-rows:1fr;padding-top:14px;}
.signature__link{position:absolute;top:24px;right:0;width:40px;height:40px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") center / 18px no-repeat;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s,background-color .2s;}
.signature__link:hover{background-color:rgba(255,255,255,.12);}
.signature__item.is-active .signature__link{opacity:1;visibility:visible;}

@media (max-width:1280px){
.signature__body{gap:50px;}
}
@media (max-width:1024px){
.signature{border-radius:40px 40px 0 0;}
.signature__track{height:auto;}
.signature__sticky{position:static;height:auto;padding:100px 0;}
.signature__body{grid-template-columns:1fr;gap:30px;margin-top:40px;}
}
@media (max-width:768px){
.signature{border-radius:28px 28px 0 0;}
.signature__sticky{padding:70px 0;}
.signature__item{padding:18px 50px 18px 0;}
.signature__item.is-active{padding:22px 50px 22px 0;}
.signature__name small{display:block;margin:4px 0 0;}
.signature__item.is-active .signature__name{padding-left:20px;}
.signature__link{top:18px;width:34px;height:34px;}
}
/* 21. 흐르는 텍스트 (marquee) */
.marquee{overflow:hidden;padding:40px 0;white-space:nowrap;}
.marquee__track{display:inline-flex;animation:marquee 40s linear infinite;}
.marquee__item{display:inline-flex;align-items:center;gap:40px;padding-right:40px;font-family:var(--ff-eng);font-size:40px;line-height:1;color:var(--c-navy);}
.marquee__item::after{content:'✦';font-size:20px;}
@keyframes marquee{to{transform:translateX(-50%);}}

@media (max-width:1024px){
.marquee{padding:30px 0;}
.marquee__item{gap:28px;padding-right:28px;font-size:30px;}
}
@media (max-width:768px){
.marquee{padding:20px 0;}
.marquee__item{gap:18px;padding-right:18px;font-size:22px;}
.marquee__item::after{font-size:14px;}
}
/* 22. SNS 영역 (main-sns) : 인스타그램 슬라이드 / 유튜브 영상 */
.main-sns{padding:140px 0;overflow:hidden;}
.main-sns__row{display:flex;align-items:center;gap:60px;}
.main-sns__row+.main-sns__row{margin-top:120px;}
.main-sns__head{flex:0 0 260px;}
.main-sns__eng{font-family:var(--ff-eng);font-size:14px;color:#888;}
.main-sns__title{margin-top:6px;font-family:var(--ff-eng);font-size:var(--fs-sec-title);font-weight:400;line-height:1.2;color:#111;}
.main-sns__desc{margin-top:20px;font-size:15px;line-height:1.6;letter-spacing:-.05em;color:#666;word-break:keep-all;}
.main-sns__btn{display:inline-block;margin-top:30px;padding:10px 24px;border:1px solid #222;border-radius:30px;font-size:14px;letter-spacing:-.03em;color:#222;text-decoration:none;transition:background-color .2s,color .2s;}
.main-sns__btn:hover{background:#222;color:var(--c-white);}
.main-sns__body{flex:1 1 auto;min-width:0;}
.main-sns__slider{margin-right:calc(50% - 50vw);}
.main-sns__slider .swiper-slide{width:300px;}
.main-sns__slider a{display:block;overflow:hidden;}
.main-sns__slider img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;transition:transform .5s;}
.main-sns__slider a:hover img{transform:scale(1.05);}
.main-sns__video{position:relative;max-width:870px;aspect-ratio:16 / 9;background:#eee;}
.main-sns__video iframe,.main-sns__video img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;}

@media (max-width:1024px){
.main-sns{padding:100px 0;}
.main-sns__row{flex-direction:column;align-items:stretch;gap:30px;}
.main-sns__row+.main-sns__row{margin-top:80px;}
.main-sns__head{flex-basis:auto;}
.main-sns__slider .swiper-slide{width:240px;}
}
@media (max-width:768px){
.main-sns{padding:70px 0;}
.main-sns__row+.main-sns__row{margin-top:60px;}
.main-sns__btn{margin-top:20px;}
.main-sns__slider .swiper-slide{width:62vw;}
}
/* 23. 메인 이벤트 슬라이드 (event-slider) : event 게시판 연동 */
.event-slider{margin-top:60px;}
.event-slider .swiper-slide{width:500px;}
.event-slider a{display:block;overflow:hidden;border-radius:10px;}
.event-slider img{display:block;width:100%;aspect-ratio:500 / 300;object-fit:cover;transition:transform .5s;}
.event-slider a:hover img{transform:scale(1.04);}
.event-slider .swiper-slide:not(.swiper-slide-active){opacity:.6;transition:opacity .4s;}
.event-slider .swiper-slide-active{opacity:1;}
.event-empty{margin-top:60px;font-size:var(--fs-desc);color:var(--c-gray);text-align:center;}

@media (max-width:1024px){
.event-slider{margin-top:40px;}
.event-slider .swiper-slide{width:60vw;}
}
@media (max-width:768px){
.event-slider .swiper-slide{width:80vw;}
.event-slider a{border-radius:8px;}
}
/* ▲▲▲ 여기까지 ▲▲▲ */


/* 1. 상단 헤더섹션 (sub-visual) */
.sub-visual{position:relative;display:flex;align-items:center;justify-content:center;height:700px;background:#4a0a0a var(--sv-bg) center / cover no-repeat;color:var(--c-white);text-align:center;overflow:hidden;}
.sub-visual::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.15);}
.sub-visual__inner{position:relative;z-index:1;padding:0 var(--gutter);}
.sub-visual__eng{font-family:var(--ff-eng);font-size:var(--fs-eng);line-height:1.4;letter-spacing:.02em;text-transform:uppercase;}
.sub-visual__title{margin-top:14px;font-family:var(--ff-base);font-size:var(--fs-title);font-weight:700;line-height:1.3;letter-spacing:-.02em;}
.sub-visual__desc{margin-top:50px;font-size:var(--fs-desc);line-height:1.6;word-break:keep-all;}

@media (max-width:1024px){
.sub-visual{height:560px;}
.sub-visual__desc{margin-top:36px;}
}
@media (max-width:768px){
.sub-visual{height:400px;}
.sub-visual__title{margin-top:8px;}
.sub-visual__desc{margin-top:20px;}
}
/* 공통 섹션 텍스트 (sec-eng / sec-title / sec-desc / tag-list) */
.sec-eng{font-family:var(--ff-eng);font-size:var(--fs-eng);line-height:1.4;color:var(--c-navy);text-transform:uppercase;}
.sec-title{margin-top:14px;font-size:var(--fs-sec-title);font-weight:700;line-height:1.45;letter-spacing:-.05em;color:#111;word-break:keep-all;}
.sec-desc{margin-top:50px;font-size:var(--fs-desc);line-height:1.7;letter-spacing:-.05em;color:#555;word-break:keep-all;}
.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;}
.tag-list__item{padding:8px 20px;border-radius:30px;background:#EEE9E1;font-size:var(--fs-tag);font-weight:500;line-height:1.4;color:#333;}

/* 2. 이미지+텍스트 분할 섹션 (sec-split) */
.sec-split{padding:140px 0 160px;background:linear-gradient(180deg,#FFFFFF 0%,#F5F3EF 100%);overflow:hidden;}
.sec-split__inner{display:flex;align-items:center;gap:105px;}
.sec-split__media{position:relative;flex:0 0 530px;}
.sec-split__img{position:relative;z-index:1;display:block;width:100%;aspect-ratio:530 / 380;object-fit:cover;border-radius:0 50px 0 0;}
.sec-split__badge{position:absolute;top:-75px;left:-75px;z-index:0;width:160px;height:160px;animation:rotate360 20s linear infinite;}
.sec-split__text{flex:1 1 auto;min-width:0;}
@keyframes rotate360{to{transform:rotate(360deg);}}

@media (max-width:1280px){
.sec-split__inner{gap:70px;}
.sec-split__media{flex-basis:460px;}
}
@media (max-width:1024px){
.sec-desc{margin-top:36px;}
.sec-split{padding:100px 0 120px;}
.sec-split__inner{gap:50px;}
.sec-split__media{flex-basis:42%;}
.sec-split__badge{top:-50px;left:-40px;width:110px;height:110px;}
}
@media (max-width:768px){
.sec-title{margin-top:8px;}
.sec-desc{margin-top:20px;}
.sec-desc br{display:none;}
.tag-list{gap:8px;margin-top:20px;}
.tag-list__item{padding:6px 14px;}
.sec-split{padding:70px 0 80px;}
.sec-split__inner{flex-direction:column;align-items:stretch;gap:40px;}
.sec-split__media{flex-basis:auto;margin:0 0 0 30px;}
.sec-split__img{border-radius:0 30px 0 0;}
.sec-split__badge{top:-40px;left:-30px;width:90px;height:90px;}
}
/* 공통 섹션 여백 / 섹션 헤더 */
.sec{padding:160px 0;overflow:hidden;}
.sec.sec--pt0{padding-top:0;}
.sec-head--center{text-align:center;}
.sec-eng--ko{font-family:var(--ff-base);font-weight:600;}

/* 3. 카드 그리드 (card-grid) : 열 개수는 style="--col:3" 등으로 변경 */
.card-grid{display:grid;grid-template-columns:repeat(var(--col,4),1fr);gap:20px;margin:60px 0 0;padding:0;list-style:none;}
.card-grid__img{overflow:hidden;border-radius:10px;}
.card-grid__img img{display:block;width:100%;aspect-ratio:300 / 230;object-fit:cover;transition:transform .5s;}
.card-grid__item:hover .card-grid__img img{transform:scale(1.05);}
.card-grid__title{margin-top:20px;font-size:var(--fs-desc);font-weight:700;line-height:1.4;letter-spacing:-.05em;color:#111;text-align:center;}
.card-grid__desc{margin-top:6px;font-size:var(--fs-sm);line-height:1.5;letter-spacing:-.05em;color:#555;text-align:center;word-break:keep-all;}

@media (max-width:1024px){
.sec{padding:110px 0;}
.card-grid{grid-template-columns:repeat(2,1fr);gap:30px 20px;margin-top:50px;}
}
@media (max-width:768px){
.sec{padding:70px 0;}
.card-grid{gap:24px 12px;margin-top:36px;}
.card-grid__img{border-radius:8px;}
.card-grid__title{margin-top:12px;}
.card-grid__desc{margin-top:4px;}
}
/* 4. 중앙 이미지 + 좌우 포인트 박스 (point-visual / point-box) */
.sec--beige{background:var(--c-beige);}
.point-visual{display:grid;grid-template-columns:400px 1fr 400px;grid-template-areas:"l img r";align-items:center;gap:20px;margin-top:60px;}
.point-visual__img{grid-area:img;text-align:center;}
.point-visual__img img{display:inline-block;width:460px;max-width:100%;height:auto;}
.point-visual__col{display:flex;flex-direction:column;gap:24px;margin:0;padding:0;list-style:none;}
.point-visual__col--l{grid-area:l;}
.point-visual__col--r{grid-area:r;}
.point-box{display:flex;align-items:center;gap:30px;padding:20px 30px;border-radius:12px;background:var(--c-white);}
.point-box__icon{display:flex;align-items:center;justify-content:center;flex:0 0 100px;width:100px;height:100px;border-radius:50%;}
.point-box__icon img{display:block;width:80px;height:80px;}
.point-box__title{font-size:var(--fs-desc);font-weight:700;line-height:1.4;letter-spacing:-.05em;color:#111;}
.point-box__desc{margin-top:4px;font-size:var(--fs-sm);line-height:1.5;letter-spacing:-.05em;color:#555;word-break:keep-all;}

@media (max-width:1280px){
.point-visual{grid-template-columns:1fr minmax(0,360px) 1fr;}
.point-box{gap:20px;padding:20px;}
}
@media (max-width:1024px){
.point-visual{grid-template-columns:1fr 1fr;grid-template-areas:"img img";gap:16px;margin-top:40px;}
.point-visual__img{margin-bottom:24px;}
.point-visual__img img{width:360px;}
.point-visual__col{display:contents;}
.point-box{flex-direction:column;justify-content:center;gap:12px;padding:24px 16px;text-align:center;}
}
@media (max-width:768px){
.point-visual{gap:10px;}
.point-visual__img{margin-bottom:20px;}
.point-visual__img img{width:260px;}
.point-box{gap:8px;padding:20px 10px;border-radius:10px;}
.point-box__icon{flex-basis:64px;width:64px;height:64px;}
.point-box__icon img{width:52px;height:52px;}
}
/* 5. 단계형 카드 (card-grid--step) : card-grid 확장 */
.card-grid--step{gap:30px;}
.card-grid--step .card-grid__img{border-radius:0;}
.card-grid--step .card-grid__img img{aspect-ratio:400 / 275;}
.card-grid__step{margin-top:30px;font-family:var(--ff-eng);font-size:var(--fs-card-title);line-height:1.4;color:var(--c-navy);text-align:center;}
.card-grid--step .card-grid__title{margin-top:4px;font-size:var(--fs-card-title);}
.card-grid--step .card-grid__desc{margin-top:24px;padding-top:24px;border-top:1px solid #E2DED7;font-size:var(--fs-desc);line-height:1.6;}

@media (max-width:1024px){
.card-grid--step{grid-template-columns:repeat(3,1fr);gap:16px;}
.card-grid__step{margin-top:20px;}
.card-grid--step .card-grid__desc{margin-top:16px;padding-top:16px;}
.card-grid--step .card-grid__desc br{display:none;}
}
@media (max-width:768px){
.card-grid--step{grid-template-columns:1fr;gap:40px;}
.card-grid__step{margin-top:16px;}
.card-grid--step .card-grid__desc{margin-top:12px;padding-top:12px;}
}
/* 6. 좌측 헤더 + 우측 콘텐츠 (sec-side) / 아이콘 정보박스 (info-grid) */
.sec-side{display:flex;justify-content:space-between;align-items:flex-start;gap:60px;}
.sec-side__head{flex:0 0 auto;}
.sec-side__body{flex:0 1 846px;min-width:0;}
.info-grid{display:grid;grid-template-columns:repeat(var(--col,2),1fr);gap:26px;margin:0;padding:0;list-style:none;}
.info-box{padding:40px;border-radius:20px;background:var(--c-beige);}
.info-box__icon{display:block;width:64px;height:64px;margin-left:auto;}
.info-box__title{margin-top:24px;font-size:var(--fs-card-title);font-weight:700;line-height:1.4;letter-spacing:-.05em;color:#111;}
.info-box__desc{margin-top:10px;font-size:var(--fs-sm);line-height:1.6;letter-spacing:-.05em;color:#555;word-break:keep-all;}

@media (max-width:1280px){
.sec-side{gap:40px;}
.sec-side__body{flex-basis:760px;}
.info-box{padding:32px;}
}
@media (max-width:1024px){
.sec-side{flex-direction:column;gap:40px;}
.sec-side__body{flex-basis:auto;width:100%;}
.info-grid{gap:16px;}
.info-box{padding:28px;border-radius:16px;}
.info-box__icon{width:52px;height:52px;}
.info-box__title{margin-top:16px;}
}
@media (max-width:768px){
.sec-side{gap:30px;}
.info-grid{grid-template-columns:1fr;gap:12px;}
.info-box{padding:24px;}
.info-box__icon{width:44px;height:44px;}
.info-box__title{margin-top:8px;}
.info-box__desc{margin-top:6px;}
}
/* 7. 고정 배경 섹션 (sec--bg-fixed) / 체크 리스트 (check-list) */
.sec--bg-fixed{background:#f3efe8 var(--sec-bg) center / cover no-repeat fixed;}
.check-list{display:grid;grid-template-columns:repeat(var(--col,2),1fr);gap:20px;margin:60px 0 0;padding:0;list-style:none;}
.check-list__item{display:flex;align-items:center;gap:14px;padding:28px 40px;border-radius:20px;background:var(--c-white);font-size:var(--fs-desc);line-height:1.5;letter-spacing:-.05em;color:#333;word-break:keep-all;}
.check-list__item::before{content:'';flex:0 0 24px;width:24px;height:24px;background:url('/img/icon_check.svg') center / contain no-repeat;}

@media (max-width:1024px){
.sec--bg-fixed{background-attachment:scroll;}
.check-list{gap:14px;margin-top:40px;}
.check-list__item{padding:22px 24px;border-radius:16px;}
}
@media (max-width:768px){
.check-list{grid-template-columns:1fr;gap:10px;margin-top:30px;}
.check-list__item{gap:10px;padding:18px 20px;border-radius:12px;}
.check-list__item::before{flex-basis:20px;width:20px;height:20px;}
}
/* 8. 네이비 섹션 (sec--navy) / 영문 제목 (sec-title--eng) / 센터 슬라이더 (center-slider) */
.sec--navy{background:var(--c-navy);}
/* 어두운 배경 위 흰 글자 : .sec--navy 또는 .sec--dark */
.sec--navy .sec-eng,.sec--navy .sec-title,.sec--navy .sec-desc,.sec--dark .sec-eng,.sec--dark .sec-title,.sec--dark .sec-desc{color:var(--c-white);}
.sec-title--eng{font-family:var(--ff-eng);font-size:var(--fs-title);font-weight:400;line-height:1.25;letter-spacing:0;}
.center-slider{margin-top:60px;}
.center-slider .swiper-slide{position:relative;width:1000px;height:500px;overflow:hidden;border-radius:10px;}
.center-slider__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.center-slider__text{position:absolute;top:50%;left:100px;z-index:1;max-width:60%;color:var(--c-white);transform:translateY(-50%);opacity:0;transition:opacity .6s .2s;}
.center-slider .swiper-slide-active .center-slider__text{opacity:1;}
.center-slider__num{font-family:var(--ff-eng);font-size:24px;line-height:1.3;}
.center-slider__title{margin-top:6px;font-size:var(--fs-card-title);font-weight:700;line-height:1.4;letter-spacing:-.05em;}
.center-slider__desc{margin-top:40px;font-size:var(--fs-sm);line-height:1.6;letter-spacing:-.05em;word-break:keep-all;}
.center-slider .swiper-pagination{position:static;display:flex;justify-content:center;align-items:center;gap:6px;margin-top:50px;}
.center-slider .swiper-pagination-bullet{width:6px;height:6px;margin:0 !important;border-radius:3px;background:rgba(255,255,255,.35);opacity:1;transition:width .3s,background-color .3s;}
.center-slider .swiper-pagination-bullet-active{width:30px;background:var(--c-white);}

@media (max-width:1280px){
.center-slider .swiper-slide{width:860px;height:430px;}
.center-slider__text{left:70px;}
}
@media (max-width:1024px){
.center-slider{margin-top:40px;}
.center-slider .swiper-slide{width:80%;height:auto;aspect-ratio:2 / 1;}
.center-slider__text{left:50px;}
.center-slider__desc{margin-top:24px;}
.center-slider .swiper-pagination{margin-top:36px;}
}
@media (max-width:768px){
.center-slider .swiper-slide{width:86%;aspect-ratio:4 / 3;border-radius:8px;}
.center-slider__text{left:24px;max-width:calc(100% - 48px);}
.center-slider__num{font-size:18px;}
.center-slider__desc{margin-top:12px;}
.center-slider__desc br{display:none;}
.center-slider .swiper-pagination{margin-top:24px;}
}
/* 9. 오시는 길 (location) */
.location{display:grid;grid-template-columns:1fr 1fr;margin-top:60px;}
.location__map{width:100%;height:550px;background:#eee;}
.location__info{display:flex;flex-direction:column;justify-content:center;padding:60px 100px;border-radius:0 80px 0 0;background:var(--c-white);}
.location__tel{font-family:var(--ff-eng);font-size:40px;line-height:1.2;color:#111;}
.location__tel a{color:inherit;text-decoration:none;}
.location__addr{margin-top:14px;font-size:var(--fs-desc);line-height:1.5;letter-spacing:-.05em;color:#111;word-break:keep-all;}
.location__hours{margin:50px 0 0;}
.location__row{display:flex;gap:30px;font-size:var(--fs-sm);line-height:1.9;letter-spacing:-.03em;color:#555;}
.location__row dt{flex:0 0 4.2em;text-align:justify;text-align-last:justify;}
.location__row dd{margin:0;}
.location__notice{margin-top:14px;font-size:var(--fs-sm);line-height:1.5;letter-spacing:-.05em;color:#D9261C;}
.location__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px;}
.location__btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 24px;border-radius:24px;background:var(--c-beige);font-size:var(--fs-sm);letter-spacing:-.05em;color:#333;text-decoration:none;transition:background-color .2s;}
.location__btn:hover{background:#EEE9E1;}
.location__btn img{display:block;width:18px;height:18px;}
.map-pin{position:relative;width:0;height:0;cursor:pointer;}
.map-pin__label{position:absolute;left:0;bottom:10px;display:flex;align-items:center;gap:8px;padding:6px 18px 6px 6px;border-radius:30px;background:var(--c-navy);box-shadow:0 4px 12px rgba(0,0,0,.25);font-family:var(--ff-base);font-size:16px;font-weight:700;letter-spacing:-.03em;color:var(--c-white);white-space:nowrap;transform:translateX(-50%);transition:transform .2s;}
.map-pin__label::after{content:'';position:absolute;left:50%;bottom:-7px;border:7px solid transparent;border-bottom:0;border-top-color:var(--c-navy);transform:translateX(-50%);}
.map-pin:hover .map-pin__label{transform:translateX(-50%) translateY(-3px);}
.map-pin__icon{display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:var(--c-white);}
.map-pin__icon svg{display:block;width:14px;height:14px;}

@media (max-width:1280px){
.location__info{padding:50px 60px;}
.location__tel{font-size:34px;}
}
@media (max-width:1024px){
.location{grid-template-columns:1fr;margin-top:40px;}
.location__map{height:420px;}
.location__info{padding:50px 40px;border-radius:0 0 40px 0;}
.location__hours{margin-top:30px;}
.location__btns{margin-top:30px;}
}
@media (max-width:768px){
.location{margin-top:30px;}
.location__map{height:300px;}
.location__info{padding:36px 24px;border-radius:0 0 24px 0;}
.location__tel{font-size:28px;}
.location__addr{margin-top:8px;}
.location__hours{margin-top:24px;}
.location__row{gap:20px;}
.location__btns{gap:8px;margin-top:24px;}
.location__btn{flex:1 1 0;justify-content:center;height:44px;padding:0 16px;}
}

/* 10. 장비 카드 (device-grid) : 열 개수는 style="--col:3" 등으로 변경 / 사진형 이미지는 device-grid__img--cover */
.device-grid{display:grid;grid-template-columns:repeat(var(--col,2),1fr);gap:60px 30px;margin:60px 0 0;padding:0;list-style:none;}
.device-grid__img{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:635 / 400;overflow:hidden;border-radius:0 60px 0 0;background:#f3efe8;}
.device-grid__img img{display:block;max-width:100%;max-height:100%;object-fit:contain;}
.device-grid__img--cover img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;}
.device-grid__label{position:absolute;top:24px;left:28px;z-index:1;font-size:14px;letter-spacing:-.03em;color:#777;}
.device-grid__label::before{content:'';display:inline-block;width:4px;height:4px;margin-right:8px;border-radius:50%;background:var(--c-navy);vertical-align:middle;}
.device-grid__name{margin-top:24px;font-size:var(--fs-card-title);font-weight:700;line-height:1.4;letter-spacing:-.05em;color:#111;}
.device-grid__name small{margin-left:8px;font-family:var(--ff-eng);font-size:14px;font-weight:400;letter-spacing:0;color:var(--c-navy);}
.device-grid__desc{margin-top:10px;font-size:var(--fs-sm);line-height:1.6;letter-spacing:-.05em;color:#555;word-break:keep-all;}

@media (max-width:1024px){
.device-grid{gap:40px 16px;margin-top:40px;}
.device-grid__img{border-radius:0 40px 0 0;}
.device-grid__label{top:16px;left:18px;font-size:13px;}
.device-grid__name{margin-top:16px;}
.device-grid__name small{display:block;margin:2px 0 0;}
}
@media (max-width:768px){
.device-grid{grid-template-columns:1fr;gap:36px;margin-top:30px;}
.device-grid__img{border-radius:0 30px 0 0;}
.device-grid__desc{margin-top:6px;}
}
/* 11. 텍스트 박스 그리드 (text-grid) : 제목 + 설명 가운데 정렬 박스 */
.text-grid{display:grid;grid-template-columns:repeat(var(--col,2),1fr);gap:20px;margin:60px 0 0;padding:0;list-style:none;}
.text-grid__item{padding:30px 40px;border-radius:16px;background:var(--c-beige);text-align:center;}
.sec--beige .text-grid__item{background:var(--c-white);}
.text-grid__title{font-size:var(--fs-desc);font-weight:700;line-height:1.4;letter-spacing:-.05em;color:#111;}
.text-grid__desc{margin-top:8px;font-size:var(--fs-sm);line-height:1.6;letter-spacing:-.05em;color:#666;word-break:keep-all;}

@media (max-width:1024px){
.text-grid{gap:14px;margin-top:40px;}
.text-grid__item{padding:24px;}
}
@media (max-width:768px){
.text-grid{grid-template-columns:1fr;gap:10px;margin-top:30px;}
.text-grid__item{padding:20px;border-radius:12px;}
}
/* 12. 얼굴 부위 맵 (face-map) : 버튼 hover·클릭 시 가운데 이미지 교체 (스크립트 tail.php) */
.face-map{display:grid;grid-template-columns:1fr 460px 1fr;grid-template-areas:"l img r";align-items:center;gap:40px;margin-top:60px;}
.face-map__img{grid-area:img;text-align:center;}
.face-map__img img{display:inline-block;width:100%;max-width:460px;height:auto;}
.face-map__col{display:flex;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;}
.face-map__col--l{grid-area:l;align-items:flex-end;}
.face-map__col--r{grid-area:r;align-items:flex-start;}
.face-map__col li{width:300px;max-width:100%;}
.face-map__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:76px;padding:12px 24px;border:0;border-radius:40px;background:#f3efe8;font-family:inherit;text-align:center;cursor:pointer;transition:background-color .25s,box-shadow .25s;}
.face-map__btn.is-active{background:var(--c-white);box-shadow:0 6px 20px rgba(0,0,0,.06);}
.face-map__btn strong{font-size:var(--fs-desc);font-weight:700;line-height:1.4;letter-spacing:-.05em;color:#111;}
.face-map__btn.is-active strong{color:var(--c-navy);}
.face-map__btn span{font-size:15px;line-height:1.4;letter-spacing:-.05em;color:#777;word-break:keep-all;}

@media (max-width:1280px){
.face-map{grid-template-columns:1fr 380px 1fr;gap:24px;}
.face-map__col li{width:260px;}
}
@media (max-width:1024px){
.face-map{grid-template-columns:1fr 1fr;grid-template-areas:"img img";gap:12px;margin-top:40px;}
.face-map__img{margin-bottom:20px;}
.face-map__img img{max-width:360px;}
.face-map__col{display:contents;}
.face-map__col li{width:auto;}
.face-map__btn{height:100%;border-radius:20px;}
}
@media (max-width:768px){
.face-map{gap:8px;margin-top:30px;}
.face-map__img img{max-width:280px;}
.face-map__btn{min-height:64px;padding:10px 12px;border-radius:14px;}
.face-map__btn span{font-size:13px;}
}
/* 13. 제품 라인업 카드 (card-grid--product) : card-grid 확장, 네이비 박스 + 제품 이미지 */
.card-grid--product{gap:30px;}
.card-grid--product .card-grid__img{display:flex;align-items:center;justify-content:center;aspect-ratio:400 / 280;border-radius:0;background:var(--c-navy);}
.card-grid--product .card-grid__img img{width:auto;max-width:70%;max-height:75%;aspect-ratio:auto;object-fit:contain;}
.card-grid--product .card-grid__title small{margin-left:6px;font-family:var(--ff-eng);font-size:13px;font-weight:400;letter-spacing:0;color:var(--c-navy);}

@media (max-width:1024px){
.card-grid--product{grid-template-columns:repeat(3,1fr);gap:16px;}
.card-grid--product .card-grid__title small{display:block;margin:2px 0 0;}
}
@media (max-width:768px){
.card-grid--product{grid-template-columns:1fr;gap:30px;}
}
/* 14. 비교 표 (compare-table) : 좌·우 헤더 색상은 style="--ct-a:#색;--ct-b:#색" 으로 변경 */
.compare-table{--ct-a:#1F7A68;--ct-b:#3A2160;width:100%;margin-top:60px;border-collapse:collapse;table-layout:fixed;}
.compare-table th,.compare-table td{padding:18px 20px;border-bottom:1px solid #eee;font-size:var(--fs-sm);line-height:1.5;letter-spacing:-.03em;color:#333;text-align:center;word-break:keep-all;}
.compare-table thead th{padding:20px;border-bottom:0;font-size:var(--fs-desc);font-weight:700;color:var(--c-white);}
.compare-table thead th small{margin-left:6px;font-family:var(--ff-eng);font-size:13px;font-weight:400;letter-spacing:0;opacity:.8;}
.compare-table__a{background:var(--ct-a);}
.compare-table__b{background:var(--ct-b);}
.compare-table__label{width:160px;background:#F7F5F1;font-weight:500;color:#888 !important;}
.compare-table thead .compare-table__label{background:#222;color:var(--c-white) !important;}

@media (max-width:1024px){
.compare-table{margin-top:40px;}
.compare-table__label{width:120px;}
}
@media (max-width:768px){
.compare-table{margin-top:30px;}
.compare-table th,.compare-table td{padding:12px 8px;font-size:13px;}
.compare-table thead th{padding:14px 8px;font-size:14px;}
.compare-table thead th small{display:block;margin:2px 0 0;font-size:11px;}
.compare-table__label{width:76px;}
}
/* 15. 장비 갤러리 (device-grid--gallery) + 장비 모달 (eq-modal) : 카드 클릭 시 모달 */
.device-grid--gallery{grid-template-columns:repeat(var(--col,4),1fr);gap:20px;margin-top:0;}
.device-grid--gallery .device-grid__img{width:100%;aspect-ratio:280 / 340;align-items:flex-end;padding:56px 0 0;border:0;border-radius:0 50px 0 0;background:#f9f7f3;font-family:inherit;cursor:pointer;}
.device-grid--gallery .device-grid__img img{max-width:100%;max-height:100%;transition:transform .4s;}
.device-grid--gallery .device-grid__img:hover img{transform:scale(1.04);}
.device-grid--gallery .device-grid__name,.device-grid--gallery .device-grid__desc{display:none;}
.eq-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--gutter);background:rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.eq-modal.is-open{opacity:1;visibility:visible;}
.eq-modal__box{position:relative;display:flex;align-items:center;gap:50px;width:100%;max-width:900px;max-height:100%;padding:50px;overflow-y:auto;border-radius:0 50px 0 0;background:var(--c-white);box-sizing:border-box;transform:translateY(20px);transition:transform .3s;}
.eq-modal.is-open .eq-modal__box{transform:translateY(0);}
.eq-modal__img{display:flex;align-items:flex-end;justify-content:center;flex:0 0 320px;aspect-ratio:280 / 340;padding-top:30px;border-radius:0 40px 0 0;background:#f9f7f3;box-sizing:border-box;}
.eq-modal__img img{display:block;max-width:85%;max-height:100%;object-fit:contain;}
.eq-modal__text{flex:1 1 auto;min-width:0;}
.eq-modal__label{font-family:var(--ff-eng);font-size:var(--fs-eng);color:var(--c-navy);}
.eq-modal__name{margin-top:8px;font-size:var(--fs-sec-title);font-weight:700;line-height:1.3;letter-spacing:-.05em;color:#111;}
.eq-modal__desc{margin-top:24px;padding-top:24px;border-top:1px solid #eee;font-size:var(--fs-desc);line-height:1.7;letter-spacing:-.05em;color:#555;word-break:keep-all;}
.eq-modal__close{position:absolute;top:20px;right:20px;width:40px;height:40px;padding:0;border:0;background:none;cursor:pointer;}
.eq-modal__close::before,.eq-modal__close::after{content:'';position:absolute;top:50%;left:50%;width:22px;height:2px;background:#111;}
.eq-modal__close::before{transform:translate(-50%,-50%) rotate(45deg);}
.eq-modal__close::after{transform:translate(-50%,-50%) rotate(-45deg);}
html.is-modal-open{overflow:hidden;}

@media (max-width:1024px){
.device-grid--gallery{grid-template-columns:repeat(3,1fr);gap:16px;}
.device-grid--gallery .device-grid__img{padding-top:44px;border-radius:0 36px 0 0;}
.eq-modal__box{gap:30px;padding:40px 30px;}
.eq-modal__img{flex-basis:240px;}
}
@media (max-width:768px){
.device-grid--gallery{grid-template-columns:repeat(2,1fr);gap:10px;}
.device-grid--gallery .device-grid__img{padding-top:38px;border-radius:0 24px 0 0;}
.device-grid--gallery .device-grid__label{top:12px;left:12px;font-size:12px;}
.eq-modal__box{flex-direction:column;align-items:stretch;gap:20px;padding:50px 20px 24px;border-radius:0 30px 0 0;}
.eq-modal__img{flex-basis:auto;width:60%;margin:0 auto;}
.eq-modal__desc{margin-top:16px;padding-top:16px;}
}
/* 16. 번호 3단 (num-cols) : 왼쪽 세로선 + 번호 + 설명 / 네이비 영문 제목 (sec-title--navy) */
.sec-title--navy{color:var(--c-navy);}
.num-cols{display:grid;grid-template-columns:repeat(var(--col,3),1fr);gap:40px;margin:60px 0 0;padding:0;list-style:none;}
.num-cols__item{padding-left:24px;border-left:2px solid #C9C2B6;}
.num-cols__num{font-family:var(--ff-eng);font-size:24px;line-height:1;color:#111;}
.num-cols__desc{margin-top:50px;font-size:var(--fs-sm);line-height:1.7;letter-spacing:-.05em;color:#555;word-break:keep-all;}

@media (max-width:1024px){
.num-cols{gap:24px;margin-top:40px;}
.num-cols__item{padding-left:18px;}
.num-cols__desc{margin-top:30px;}
}
@media (max-width:768px){
.num-cols{grid-template-columns:1fr;gap:24px;margin-top:30px;}
.num-cols__num{font-size:20px;}
.num-cols__desc{margin-top:12px;}
}
/* 17. 의료진 프로필 (doctor) : 사진 + 인사말 + 이력, 배경 워터마크 글자는 data-mark 로 변경 */
.doctor{position:relative;isolation:isolate;display:flex;align-items:center;gap:80px;}
.doctor::before{content:attr(data-mark);position:absolute;top:-80px;right:0;z-index:-1;font-family:var(--ff-eng);font-size:300px;line-height:1;color:rgba(0,0,0,.035);pointer-events:none;}
.doctor__photo{flex:0 0 400px;aspect-ratio:400 / 470;overflow:hidden;border-radius:120px 0 0 0;background:var(--c-beige);}
.doctor__photo img{display:block;width:100%;height:100%;object-fit:cover;}
.doctor__info{flex:1 1 auto;min-width:0;}
.doctor__quote{font-size:var(--fs-sec-title);font-weight:300;line-height:1.45;letter-spacing:-.05em;color:#333;word-break:keep-all;}
.doctor__quote strong{display:block;font-weight:700;color:#111;}
.doctor__name{margin-top:60px;font-size:24px;font-weight:700;letter-spacing:-.05em;color:#111;}
.doctor__name small{margin-left:8px;font-size:14px;font-weight:400;color:#777;}
.doctor__career{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(var(--rows,4),auto);grid-auto-flow:column;gap:8px 40px;margin:20px 0 0;padding:0;list-style:none;}
.doctor__career li{position:relative;padding-left:16px;font-size:var(--fs-sm);line-height:1.6;letter-spacing:-.03em;color:#555;word-break:keep-all;}
.doctor__career li::before{content:'';position:absolute;top:.65em;left:0;width:6px;height:6px;border-radius:50%;background:#C8A96A;}

@media (max-width:1280px){
.doctor{gap:50px;}
.doctor__photo{flex-basis:340px;}
.doctor__career{gap:8px 24px;}
}
@media (max-width:1024px){
.doctor{gap:36px;}
.doctor::before{top:-40px;font-size:200px;}
.doctor__photo{flex-basis:280px;border-radius:80px 0 0 0;}
.doctor__name{margin-top:36px;}
.doctor__career{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;}
}
@media (max-width:768px){
.doctor{flex-direction:column;align-items:stretch;}
.doctor::before{top:auto;bottom:0;font-size:160px;}
.doctor__photo{flex-basis:auto;width:80%;max-width:360px;margin:0 auto;border-radius:60px 0 0 0;}
.doctor__name{margin-top:24px;font-size:20px;}
.doctor__career{margin-top:14px;}
}
