@charset "utf-8";
/* =========================================================
   Sub Page CSS
   - Wedding Director (웨딩디렉터 > 소개)
   * 디자인 토큰(색상/타이포/간격)은 reset.css :root 변수를 사용
   ========================================================= */


/* 섹션 공통 여백 ------------------------------------------------- */
.director-intro,
.director-process,
.director-profile{padding-block:var(--row-gap160);}
.director-intro{background:var(--point-white);}
.director-process{background:var(--point-color03);}

.banquet-sec, .partner-sec{padding-block:var(--row-gap160);}
.banquet-sec + .banquet-sec,
.partner-sec:not(.has_bg) + .partner-sec:not(.has_bg){padding-top: 0;}
.partner-sec.has_bg {background:var(--point-color03);}

/* =========================================================
   0) OUR WEDDING HALL — 완벽한 공간
   * 다른 서브페이지 첫 영역(.hall-video-sec / .intro-sec)과 동일하게
     크림 배경 + 큰 타이틀 구성
   ========================================================= */
.hall-band{background:var(--point-color03);padding-block:var(--row-gap160);text-align:center;}
.hall-band__head{display:flex;flex-direction:column;align-items:center;}
.hall-band__head .label{font-family:var(--font-type02);font-size:var(--text-20);font-weight:700;line-height:1.2;letter-spacing:0;text-transform:uppercase;color:var(--point-color01);}
.hall-band__head h2{margin-top:var(--row-gap20);font-size:var(--text-48);font-weight:500;color:var(--black-color01);line-height:1.4;letter-spacing:-0.05em;font-family:var(--font-type02);}
.hall-band__head h2 strong{font-weight:700;}
.hall-band__media{margin-top:var(--row-gap50);aspect-ratio:16 / 6;overflow:hidden;}
.hall-band__media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;}
.hall-band__foot{margin-top:var(--row-gap45);display:grid;gap:var(--row-gap20);}
.hall-band__foot .sub{font-size:var(--text-18);font-weight:500;color:var(--point-color01);letter-spacing:-0.01em;}
.hall-band__foot .stress{font-size:var(--text-30);color:var(--black-color01);font-weight:500;font-family:var(--font-type02);letter-spacing:-0.02em;line-height:1.5;}

@media (max-width:767px){
    .hall-band__media{aspect-ratio:4 / 3;}
}

/* =========================================================
   1) 인트로 — 프리미엄 토탈 웨딩디렉팅 서비스
   ========================================================= */
.director-intro__row{display:flex;align-items:center;gap:clamp(30px,5vw,80px);}
.director-intro__txt{flex:1 1 auto;min-width:0;}
.director-intro__media{flex:0 0 42%;max-width:42%;}
.director-intro__media img{width:100%;height:auto;}
.director-intro .sec-title p{font-size:var(--text-22);color: var(--black-color02);font-weight:600;}

.director-intro__body{margin-top:var(--row-gap35);padding-top:var(--row-gap35);border-top:1px solid var(--border-color03);display:grid;gap:var(--row-gap20);}
.director-intro__body p{font-size:var(--text-18);color:var(--black-color05);line-height:1.9;letter-spacing:-0.02em;}
.director-intro__body p strong{color:var(--point-color01);font-weight:600;}
.director-intro__body .stress{font-size:var(--text-20);color: var(--point-color01);font-weight:500;line-height:1.7;}

@media (max-width:1023px){
    .director-intro__row{flex-direction:column;align-items:stretch;gap:var(--row-gap40);}
    .director-intro__media{flex:none;max-width:100%;order:-1;}
    .director-intro__media img{display:block;max-width:440px;margin-inline:auto;}
}

/* =========================================================
   2) 진행순서 — PROCESS
   ========================================================= */
/* 메인 .gallery-list 카드 패턴과 동일 : 흰 박스 없이 이미지 + 하단 텍스트 */
.process-list{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--row-gap60) var(--col-gap40);}
.process-card{position:relative;display:flex;flex-direction:column;gap:var(--row-gap25);}

.process-card__thumb{position:relative;aspect-ratio:auto 1.4;overflow:hidden;transition:all 0.4s;}
.process-card__thumb img{width:100%;height:100%;object-fit:cover;transition:all 0.4s;}

.process-card__cont{display:grid;gap:var(--row-gap15);}
.process-card__cont h4{display:flex;align-items:baseline;gap:10px;font-size:var(--text-24);font-weight:600;color:var(--black-color03);letter-spacing:-0.03em;line-height:1.3;}
.process-card__no{flex-shrink:0;font-family:var(--font-type02);font-size:var(--text-24);font-weight:700;color:var(--point-color01);line-height:1;}
.process-card__cont p{font-size:var(--text-18);color:var(--black-color05);line-height:1.75;letter-spacing:-0.03em;}
.process-card__cont p strong{color:var(--black-color03);font-weight:500;}

@media (hover:hover) and (pointer:fine){
    .process-card:hover .process-card__thumb img{scale:1.05;}
}
@media (max-width:1023px){
    .process-list{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
    .process-list{grid-template-columns:1fr;max-width:440px;margin-inline:auto;}
}

/* =========================================================
   3) 디렉터 소개 — WEDDING DIRECTOR (가운데 정렬)
   * about .intro-sec / .cta-sec 처럼 센터 정렬 + 하단 연락처 밴드
   ========================================================= */
.director-profile__inner{display:flex;flex-direction:column;align-items:center;text-align:center;}
.director-profile .info-desc{margin-top:var(--row-gap30);max-width:820px;font-size:var(--text-20);color:var(--black-color04);line-height:1.95;letter-spacing:-0.02em;}
.feature-list{margin-top:var(--row-gap30);display:flex;justify-content:center;flex-wrap:wrap;gap:var(--row-gap15) clamp(20px,3vw,30px);}
.feature-list li{position:relative;padding-left:var(--row-gap25);font-size:var(--text-18);color:var(--point-color01);font-weight:500;letter-spacing:-0.02em;}
.feature-list li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:var(--row-gap15);height:var(--row-gap15);background:url('/images/ico_chk.svg') no-repeat center / contain;}
.director-quote{margin-top:var(--row-gap40);max-width:820px;font-family:var(--font-type02);font-style:italic;font-weight:600;font-size:var(--text-24);color:var(--black-color01);line-height:1.55;letter-spacing:-0.01em;}

/* 하단 연락처 밴드 → 공통 .contact-band 사용 (아래 공통 컴포넌트 참조) */

/* =========================================================
   파트너 공통 레이아웃 (.partner-*)
   * 타이틀=.sec-title / 버튼=.view-more 등 사이트 공통 컴포넌트 사용
   ========================================================= */

.partner-head{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--row-gap60);}
.partner-head .badge{margin-top:var(--row-gap20);display: flex;align-items: center;justify-content: center;text-align: center;font-size: var(--text-17);font-weight: 500;color: var(--point-color01);line-height: 1.2;flex-shrink: 0;background: var(--point-color05);padding: clamp(5px, 1.1vw, 6px) clamp(10px, 1.3vw, 13px);}
.partner-showcase{max-width:760px;margin-inline:auto;}
.partner-showcase img{width:100%;height:auto;}
.partner-lead{text-align:center;margin-top:var(--row-gap50);}
.partner-lead .lead{font-size:var(--text-30);font-weight:600;font-family:var(--font-type02);color:var(--black-color01);letter-spacing:-0.03em;line-height:1.4;}
.partner-lead .sub{margin-top:var(--row-gap15);font-size:var(--text-18);color:var(--black-color05);}
/* 가격표 */
.partner-price{box-sizing: border-box; padding: var(--row-gap40) var(--row-gap60);background:var(--point-white);}
.partner-price__row{display:grid;grid-template-columns:clamp(150px,20vw,230px) 1fr;gap:clamp(16px,2.4vw,30px);padding:clamp(22px,3vw,34px) clamp(14px,2.4vw,34px);border-bottom:1px solid var(--border-color01);}
.partner-price__row:last-child {border-bottom: 0;}
.partner-price__grade{display:flex;flex-direction:column;justify-content:center;gap:8px;}
.partner-price__grade .g{font-size:var(--text-26);font-weight:700;font-family:var(--font-type02);color:var(--black-color01);}
.partner-price__grade .p{font-size:var(--text-18);color:var(--black-color05);}
.partner-price__detail .dt{font-size:var(--text-18);font-weight:600;color:var(--point-color01);margin-bottom:var(--row-gap15);}
.partner-price__detail ul{display:grid;gap:8px;}
.partner-price__detail li{font-size:var(--text-16);color:var(--black-color04);line-height:1.6;}
.partner-price__detail li em{font-style:normal;color:var(--black-color06);font-size:var(--text-15);}
.partner-noteline{margin-top:var(--row-gap25);text-align:center;font-size:var(--text-16);color:var(--black-color05);line-height:1.9;}
.partner-noteline b{color:var(--black-color03);font-weight:600;}
/* =========================================================
   공통 문의 밴드 (.contact-band)
   * 디렉터 / 연회 최하단 문의 / 파트너 문의 안내에 공통 적용
   * 좌: __who(직함/이름/소속)  ·  우: __list(연락처)
   ========================================================= */
.contact-band{margin-top:var(--row-gap60);width:100%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px var(--row-gap30);background:var(--point-color03);padding:var(--row-gap35) clamp(28px,3.5vw,48px);text-align:left;}
.contact-band_tit {display: flex; align-items:center; gap:10px var(--row-gap30);}
.contact-band__label{flex-shrink:0;align-self:center;display:inline-flex;align-items:center;gap:var(--row-gap15);font-size:var(--text-20);font-weight:600;color:var(--point-color01);letter-spacing:-0.02em;}
.contact-band__label::before{content:'';flex-shrink:0;width:6px;height:6px;background:var(--point-color01);}
.contact-band__who{display:flex;align-items:center;flex-wrap:wrap;gap:12px;}
.contact-band__who .role{font-size:var(--text-18);color:var(--black-color05);}
.contact-band__who .name{font-size:var(--text-30);font-weight:700;font-family:var(--font-type01);letter-spacing:-0.01em;color:var(--black-color01);line-height:1;}
.contact-band__who .dept{font-size:var(--text-18);color:var(--black-color05);}
.contact-band__list{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--row-gap30);list-style:none;}
.contact-band__list li{font-size:var(--text-18);color:var(--black-color05);}
.contact-band__list li b{color:var(--black-color03);font-family:var(--font-type02);font-weight:500;margin-right:14px;}
.contact-band__list li a{color:inherit;transition:color .3s;}
.contact-band__list li a:hover{color:var(--point-color01);}

@media (max-width:1200px){
    .contact-band {align-items: flex-start; flex-direction: column;}
	.ontact-band_tit {width: 100%; align-items: flex-start; flex-direction: column;}
	.contact-band_tit {border-bottom: 1px solid var(--border-color01); padding-bottom: var(--row-gap30);}
	.contact-band__label {align-self: flex-start;}
}

/* 갤러리(합본 컷 분할) */
.partner-gallery{margin-top:var(--row-gap55);display:grid;gap:var(--row-gap15);}
.partner-gallery__hero{overflow:hidden; display: flex; align-items: center; justify-content: center;}
.partner-gallery__hero:has(iframe){aspect-ratio: auto 1.78;}
.partner-gallery__hero iframe{width: 100%; height: 100%;}
.partner-gallery__row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--row-gap15);}
.partner-gallery__row iframe{width: 100%; height: 100%;}
/* .partner-gallery__row .cell{aspect-ratio:1.28;overflow:hidden;} */
.partner-gallery__row .cell{width: 100%; overflow: hidden;}
.partner-gallery__row .cell:has(iframe){aspect-ratio: auto 1.78;}
.partner-gallery__row .cell img{width:100%;height:100%;object-fit:cover;}
	.partner-gallery__row.row2 {grid-template-columns:repeat(2,1fr);}
	.partner-gallery__row.row4 {grid-template-columns:repeat(4,1fr);}

/* 안내(설명+불릿) */
.partner-notes{margin-top:var(--row-gap60);display:grid;gap:var(--row-gap60);}
.partner-notes__group h4{font-size:var(--text-26);font-weight:600;color:var(--black-color03);margin-bottom:var(--row-gap20);padding-bottom:var(--row-gap15);border-bottom:1px solid var(--border-color01);}
.partner-notes__group ul{display:grid;gap:8px;}
.partner-notes__group li{position:relative;padding-left:var(--row-gap15);font-size:var(--text-16);color:var(--black-color04);line-height:1.7;display: flex;gap: 15px;}
.partner-notes__group li::before{content:'';position:absolute;left:0;top:0.7em;width:4px;height:4px;border-radius:50%;background:#bbb;}
.partner-notes__group li b{color:var(--black-color02);font-weight:600;flex-shrink: 0;}
/* 아이콘 행 */
.partner-icons{margin-top:var(--row-gap60);padding-block:var(--row-gap40);display:flex;justify-content:center;/* flex-wrap:wrap; */gap:var(--row-gap30) var(--row-gap60);}
.partner-icons .ic{position: relative; display:flex;flex-direction:column;align-items:center;gap:var(--row-gap15);color:var(--point-color01);width:var(--row-gap120);}
.partner-icons .ic svg{width:34px;height:34px;}
.partner-icons .ic span{font-size:var(--text-19);color:var(--black-color03); font-weight:500;}
/* CTA */
.partner-cta{margin-top:var(--row-gap60);display:flex;justify-content:center;}

@media (max-width:720px){
    .partner-price__row{grid-template-columns:1fr;gap:10px;}
    .partner-gallery__row, .partner-gallery__row.row2{grid-template-columns:1fr;}
		.partner-gallery__row.row4 {grid-template-columns:repeat(2,1fr);}
}


/* =========================================================
   연회 공통 레이아웃 (.banquet-*)
   ========================================================= */

/* 정보 : 스펙 + 무료/유료 옵션 (항목별 개별 박스, 한 줄 4개) */
.banquet-info{margin-top:var(--row-gap60);width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.banquet-info__item{display:flex;flex-direction:column;gap:8px;background:var(--point-color03);padding:var(--row-gap25);}
.banquet-info__item .k{font-size:var(--text-16);font-weight:600;color:var(--point-color01);letter-spacing:0.02em;}
.banquet-info__item .v{font-size:var(--text-18);color:var(--black-color04);line-height:1.55;}
/* 비용안내처럼 칸 전체가 링크인 항목 : 사이트 공통 버튼(.view-more)을 그대로 적용해 배너처럼 칸을 채움 */
.banquet-info__item.view-more{flex-direction:row;}
.banquet-info__item.view-more span{display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.banquet-info__item.view-more span em{font-style:normal;font-size:var(--text-16);font-weight:600;}
.banquet-info__item.view-more span small{font-size:var(--text-18);font-weight:400;}
@media (max-width:1400px){.banquet-info{grid-template-columns:repeat(3,1fr);}}
@media (max-width:860px){.banquet-info{grid-template-columns:repeat(2,1fr);}}

/* 좌석 모듈 (일러스트 아이콘 컷 + HTML 라벨/인원, 동일 규격 카드) */
.seat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--row-gap30);}
.seat-card{box-sizing:border-box; padding: var(--row-gap15); border:1px solid var(--border-color01);background:var(--point-white);display:flex;flex-direction:column;text-align:center;overflow:hidden;}
.seat-card__ico{position:relative;aspect-ratio:288 / 168;background:var(--gray-bg02); margin-bottom: var(--row-gap15);}
.seat-card__ico img{width:100%;height:100%;object-fit:cover;}
.seat-card__num{position:absolute;top:var(--row-gap15);left:var(--row-gap15);font-family:var(--font-type02);font-size:var(--text-40);font-weight:700;color:var(--point-color01);line-height:1;}
.seat-card__name{font-size:var(--text-24);font-weight:600;color:var(--black-color01);line-height:1.4;}
.seat-card__cap{margin-top:var(--row-gap10);font-size:var(--text-20);font-weight:500;color:var(--black-color05);font-family:var(--font-type02);}
/* 콤보(라운드+사각테이블) : 전체폭
   * combo-ico / combo-foot가 같은 --combo-mid 변수로 가운데 칸 폭을 공유해
     위 이미지와 아래 라운드/사각테이블 텍스트가 열 기준으로 정확히 맞도록 정렬 */
.seat-card--combo{grid-column:1 / -1;--combo-mid:clamp(130px, 19vw, 190px);}
.seat-card--combo .combo-ico{position:relative;display:grid;grid-template-columns:1fr var(--combo-mid) 1fr;grid-template-areas:"c1 mid c2";align-items:center;background:var(--gray-bg02);}
.seat-card--combo .combo-ico .cell{aspect-ratio:288 / 150;}
.seat-card--combo .combo-ico .cell img{width:100%;height:100%;object-fit:contain;}
.seat-card--combo .combo-ico .cell:nth-child(1){grid-area:c1;}
.seat-card--combo .combo-ico .cell:nth-child(3){grid-area:c2;}
.seat-card--combo .combo-ico .combo-mid{grid-area:mid;display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 6px;}
.seat-card--combo .combo-ico .combo-mid .plus{font-size:var(--text-34);font-weight:700;color:var(--point-color01);line-height:1;}
.seat-card--combo .combo-ico .combo-mid .caption{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--point-color01);white-space:nowrap;}
.seat-card--combo .combo-ico .combo-mid .caption .line1{font-size:var(--text-20);font-weight:600;line-height:1.3;}
.seat-card--combo .combo-ico .combo-mid .caption .line2{font-size:var(--text-28);font-weight:700;line-height:1.3;}
.seat-card--combo .combo-foot{display:grid;grid-template-columns:1fr var(--combo-mid) 1fr;box-sizing: border-box; padding-top: var(--row-gap15);}
.seat-card--combo .combo-foot .ci{display:grid;gap:10px;padding: 0 10px;text-align:center;}
.seat-card--combo .combo-foot .n{font-size:var(--text-22);font-weight:600;color:var(--black-color01);}
.seat-card--combo .combo-foot .c{font-size:var(--text-20);font-weight:500;color:var(--black-color05);font-family:var(--font-type02);}
   @media (min-width:601px) {
      .seat-grid:not(:has(.seat-card:nth-child(3))){grid-template-columns: repeat(2, 1fr)}
   }
@media (max-width:600px){
   .seat-grid{grid-template-columns:1fr;}
   /* 모바일에서는 가운데 칸이 이미지를 짓눌러 너무 작아지므로,
      PC와 동일한 순서(이미지-플러스/캡션-이미지)를 유지하되 1열로 세로 정렬 */
   .seat-card--combo .combo-ico{grid-template-columns:1fr;grid-template-areas:"c1" "mid" "c2";row-gap:var(--row-gap20);padding:var(--row-gap20) 0;}
   .seat-card--combo .combo-ico .cell{aspect-ratio:288 / 168;}
   .seat-card--combo .combo-foot{grid-template-columns:1fr 1fr;}
   .seat-card--combo .combo-foot .combo-mid{display:none;}
}
/* 홀 갤러리 */
.banquet-gallery{margin-top:var(--row-gap60);width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(10px,1.4vw,20px);}
.banquet-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:1.5;}
.banquet-gallery.one{grid-template-columns:1fr;}
.banquet-gallery.one img{aspect-ratio:2.4;}

/* 연회 메뉴 (한정식 / 뷔페 등 택일형 메뉴 카드) — seat-card와 동일하게 박스로 감싸 텍스트 영역이 뜨지 않게 처리 */
.banquet-menu{margin-top:var(--row-gap100);}
.menu-grid{margin-inline:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--row-gap30);}
.menu-card{box-sizing:border-box;border:1px solid var(--border-color01);background:var(--point-white);overflow:hidden;}
.menu-card__thumb{width:100%;aspect-ratio:1.4;background:var(--gray-bg02);overflow:hidden;}
.menu-card__thumb img{width:100%;height:100%;object-fit:cover;}
.menu-card__body{box-sizing:border-box;padding:var(--row-gap30) var(--row-gap25);display:flex;flex-direction:column;align-items:center;gap:var(--row-gap20);text-align:center;}
.menu-card__name{font-size:var(--text-32);font-weight:600;color:var(--black-color01);}
@media (max-width:600px){.menu-card__body{padding:var(--row-gap25) var(--row-gap15);}}

/* 연회 하단 문의 = 공통 .contact-band 사용 */

@media (max-width:720px){
    .banquet-gallery{grid-template-columns:1fr;}
    .menu-grid{grid-template-columns:1fr;}
}