/* =========================================================
   subpage.css
   - 서브페이지 공통(greeting/participation/venue)
   - 상단 배너(subHero), breadcrumb, 본문 회색배경(subSection),
     카드(contentCard) 공통 스타일
========================================================= */

/* 상단 배너(회색톤 + 하늘색 박스 유지) */
.subHero{
  background:
    radial-gradient(circle at 18% 35%, rgba(255,255,255,.08) 0 90px, transparent 91px),
    radial-gradient(circle at 82% 55%, rgba(255,255,255,.06) 0 140px, transparent 141px),
    linear-gradient(90deg, #4d67a6 0%, #8aa7c0 100%);
  padding: 56px 0;
}

.subHero__inner{
  width:min(1100px, calc(100% - 48px));
  margin:0 auto;
  display:flex;
  justify-content:center;
}

.subHero__box{
  width:min(720px, 100%);
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(86, 176, 232, .35);
  border-radius: 8px;
  padding: 28px 34px;
  color:#fff;
}

.subHero__title{
  font-size: 44px;
  font-weight: 900;
  letter-spacing:-0.02em;
  margin-bottom: 6px;
}
.subHero__sub{
  font-size: 18px;
  opacity: .92;
  font-weight: 700;
}

/* breadcrumb */
.breadcrumb{
  background:#fff;
  border-bottom: 1px solid rgba(9,18,37,.08);
}

.breadcrumb__inner{
  /* ✅ (수정) 모든 서브페이지 breadcrumb 글씨를 상단 메뉴와 같은 계열로 통일했습니다.
     - 폰트 크기/굵기를 메뉴와 비슷하게 맞춰 서브메뉴 간 일관성을 높였습니다. */
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
  padding: 14px 0;
  color: rgba(9,18,37,.72);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.01em;
}

/* ✅ (초보자 설명) breadcrumb 구분자(>)는 각 페이지 HTML에서 <span class="breadcrumb__sep">&gt;</span> 로 표시됩니다. */
.breadcrumb__sep{ opacity:.55; }
.breadcrumb__inner > span,
.breadcrumb__inner > a{
  font-family: inherit; /* ✅ 설명: 상단 메뉴와 같은 기본 글꼴을 그대로 사용합니다. */
}
.breadcrumb__active,
.breadcrumb__current{
  color: #2a6fe8;
  font-weight: 800;
}
.breadcrumb__muted{ opacity:.9; }

.breadcrumb__homeLink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  color: rgba(9,18,37,.55);
}
.breadcrumb__homeIcon{
  width: 16px;
  height: 16px;
  fill: currentColor;
  display:block;
}
.breadcrumb__homeLink:hover{
  background: rgba(42,111,232,.10);
  color: #2a6fe8;
}
.breadcrumb__homeLink:focus-visible{
  outline: 3px solid rgba(42,111,232,.35);
  outline-offset: 2px;
}

/* 본문 배경(회색) */
.subSection{
  padding: 46px 0 64px;
  background: #e9edf2;
}

/* 공통 카드(서브페이지 내용 컨테이너) */
.contentCard{
  background:#fff;
  border: 1px solid rgba(9,18,37,.10);
  border-radius: 8px;
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
  padding: 28px 34px 34px;
}

.contentCard__head{ margin-bottom: 22px; }
.contentCard__title{
  font-size: 28px;
  font-weight: 900;
  letter-spacing:-0.02em;
  color:#0b1220;
  margin:0;
}
.contentCard__hint{
  font-size: 14px;
  font-weight: 800;
  color: rgba(9,18,37,.55);
  margin-left: 8px;
}
.contentCard__divider{
  height:1px;
  background: rgba(9,18,37,.10);
  margin-top: 18px;
}

@media (max-width: 980px){
  .subHero__title{ font-size: 38px; }
}

@media (max-width: 720px){
  .subHero{ padding: 40px 0; }
  .subHero__title{ font-size: 34px; }
  .contentCard{ padding: 22px 20px 26px; }

  .breadcrumb__inner{ width: calc(100% - 18px); }
}

/* =========================================================
   ✅ (신규) 서브페이지 하단 공통 안내 영역
   - 홈 화면의 행사 카드 느낌을 서브페이지 하단에도 이어주기 위한 스타일입니다.
========================================================= */
.subpageShowcase{
  padding: 0 0 42px;
  background: linear-gradient(180deg, #e9edf2 0%, #f7f9fc 100%);
}

.subpageShowcase__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.subpagePosterCard,
.subpageQuickCard{
  background:#fff;
  border:1px solid rgba(9,18,37,.10);
  border-radius: 16px;
  overflow:hidden;
  box-shadow: 0 12px 28px rgba(9,18,37,.08);
}

.subpagePosterCard__thumb{
  display:block;
  aspect-ratio: 4 / 5;
  overflow:hidden;
  background:#edf2f7;
}
.subpagePosterCard__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.subpagePosterCard__body{
  padding: 18px 20px 22px;
}
.subpagePosterCard__title{
  margin:0 0 10px;
  font-size: 28px;
  line-height:1.15;
  font-weight: 900;
  letter-spacing:-0.02em;
  color:#0b1220;
}
.subpagePosterCard__meta{
  margin:0 0 12px;
  font-size:15px;
  line-height:1.65;
  color: rgba(9,18,37,.78);
}
.subpagePosterCard__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 132px;
  padding: 12px 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffcf3e 0%, #ffb600 100%);
  color:#0b1220;
  font-weight:900;
}

.subpageQuickCard{
  padding: 26px 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(42,111,232,.08) 0 90px, transparent 91px),
    #fff;
}
.subpageQuickCard__title{
  margin:0 0 12px;
  font-size: 26px;
  font-weight: 900;
  letter-spacing:-0.02em;
  color:#0b1220;
}
.subpageQuickCard__links{
  display:grid;
  gap:12px;
}
.subpageQuickCard__links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 13px 16px;
  border-radius: 12px;
  border:1px solid rgba(9,18,37,.08);
  background:#f8fbff;
  color:#1e3352;
  font-weight: 800;
}
.subpageQuickCard__links a::after{
  content:'›';
  font-size: 20px;
  color:#2a6fe8;
}

/* =========================================================
   ✅ (신규) Faculty & Presenters 전용 2열 프로필 레이아웃
========================================================= */
.facultySection{
  padding-bottom: 34px;
}
.facultyCardWrap{
  padding-bottom: 18px;
}
.facultyGrid--twoCol{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}
.facultyProfile{
  display:grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 22px;
  border:1px solid rgba(9,18,37,.08);
  border-radius: 14px;
  padding: 18px;
  background:#fcfdff;
}
.facultyProfile__media{
  aspect-ratio: 4 / 5;
  border-radius: 10px;
  overflow:hidden;
  background:#e9edf2;
}
.facultyProfile__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.facultyProfile__name{
  margin: 2px 0 10px;
  font-size: 34px;
  line-height:1.12;
  font-weight: 900;
  letter-spacing:-0.03em;
  color:#0b1220;
}
.facultyProfile__affiliation{
  font-size: 18px;
  font-weight: 800;
  color:#16365f;
  margin-bottom: 6px;
}
.facultyProfile__meta{
  font-size: 15px;
  line-height:1.6;
  color: rgba(9,18,37,.72);
  margin-bottom: 16px;
}
.facultyProfile__bio{
  margin:0;
  font-size: 15px;
  line-height: 1.85;
  color:#1b2431;
}
.facultyProfile__actions{
  margin-top: 18px;
}
.facultyProfile__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 126px;
  padding: 11px 16px;
  border-radius: 999px;
  background:#133b70;
  color:#fff;
  font-weight: 800;
}

@media (max-width: 1180px){
  .subpageShowcase__grid,
  .facultyGrid--twoCol{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px){
  .facultyProfile{
    grid-template-columns: 1fr;
  }
  .facultyProfile__media{
    max-width: 280px;
  }
  .facultyProfile__name{
    font-size: 28px;
  }
  .subpagePosterCard__title,
  .subpageQuickCard__title{
    font-size: 24px;
  }
}


/* =========================================================
   ✅ (대규모 수정) 모든 서브페이지 헤더를 홈의 "완성형" 스타일로 다시 정리
   - 기존처럼 큰 배너가 뜨지 않도록 상단 로고 영역 높이를 크게 줄였습니다.
   - 로고는 왼쪽에 작게, HOME/CONTACT/ADMIN은 오른쪽 위에 배치합니다.
   - 메인 메뉴 아래에는 첫 번째 참고 이미지처럼 노란색 서브메뉴 바가 추가됩니다.
   - 이 규칙은 subpage.css에만 넣어서 index(홈 화면)는 건드리지 않도록 분리했습니다.
========================================================= */

/* ✅ 서브페이지에서는 파란 상단 배너(subHero)를 완전히 숨겨 본문이 바로 올라오게 합니다. */
.subHero{
  display:none;
}

/* ✅ (수정) 서브페이지 헤더도 홈 화면과 완전히 같은 비율로 맞췄습니다.
   - 첫 번째 사진처럼 로고 크기, 상하 여백, 메뉴 줄 높이가 동일하게 보이도록 홈과 같은 값으로 통일
   - 초보자 팁: 홈 헤더 값을 그대로 복사해 두면 이후 전체 페이지를 한 번에 맞추기 쉽습니다. */
.utilityBar--homepage{
  padding: 0;
  background:#ffffff;
  border-bottom:none;
}
.utilityBar__inner--homepage{
  min-height:auto;
  padding:8px 0 6px; /* ✅ 홈과 같은 로고 영역 높이 */
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.utilityBrand--homepage{
  display:block;
  width:min(600px, 100%); /* ✅ 홈과 같은 로고 배너 폭 */
  flex:0 0 auto;
}
.utilityBrand__banner{
  display:block;
  width:100%;
  max-height:100px; /* ✅ 홈과 같은 배너 최대 높이 */
  object-fit:contain;
  object-position:left center;
}
.topQuickLinks--homepage{
  padding-top:0; /* ✅ 홈과 같은 높이에서 정렬 */
}

/* ✅ (수정) 메인 메뉴 줄도 홈과 같은 간격/높이로 통일 */
.primaryNavBar--homepage{
  background:#ffffff;
  box-shadow:none;
  border-top:none;
  border-bottom:1px solid rgba(8,44,88,.08);
}
.header__inner--homepage{
  min-height:58px; /* ✅ 홈과 같은 메뉴 줄 높이 */
  justify-content:center;
}
.nav__list--homepage{
  width:min(980px, 100%);
  justify-content:space-between;
  gap:16px;
  flex-wrap:nowrap;
}
.nav__link--homepage{
  min-height:58px; /* ✅ 홈과 같은 메뉴 줄 높이 */
  font-size:15.5px;
}

/* ✅ 현재 선택된 대메뉴를 살짝 진하게 보여줍니다. */
.nav__link--homepage.is-current{
  color:#083f78;
  font-weight:800;
}

/* ✅ 첫 번째 참고 이미지처럼 메인 메뉴 아래에 들어가는 노란 서브메뉴 줄입니다. */
.subMenuStrip{
  background: #123f73; /* ✅ 요청 반영: 서브메뉴 줄 색상을 노란색에서 남색으로 변경 */
  color:#fff;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(9,18,37,.14);
}
.subMenuStrip__inner{
  width:min(1480px, calc(100% - 80px));
  margin:0 auto;
  min-height: 46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 40px;
  padding: 0 16px;
  overflow-x:auto;
  scrollbar-width:none;
}
.subMenuStrip__inner::-webkit-scrollbar{
  display:none;
}
.subMenuStrip__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  color:#fff;
  font-size:15.5px;
  font-weight:700;
  white-space:nowrap;
  opacity:.88;
}
.subMenuStrip__link:hover{
  opacity:1;
}
.subMenuStrip__link.is-current{
  opacity:1;
  text-decoration:underline;
  text-underline-offset: 3px;
}

@media (max-width: 980px){
  .utilityBar__inner--homepage{
    min-height:auto;
    padding:8px 0 6px; /* ✅ 태블릿에서도 홈과 같은 로고 높이 유지 */
  }
  .utilityBrand--homepage{
    width:min(520px, 100%);
  }
  .utilityBrand__banner{
    max-height:92px;
  }
  .subMenuStrip__inner{
    width:calc(100% - 24px);
    justify-content:flex-start;
    gap:20px;
  }
}

@media (max-width: 720px){
  .utilityBar__inner--homepage{
    min-height:auto;
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .utilityBrand--homepage{
    width:min(320px, 100%);
  }
  .utilityBrand__banner{
    max-height:72px;
  }
  .topQuickLinks--homepage{
    padding-top:0;
  }
  .header__inner--homepage{
    min-height:50px;
  }
  .nav__link--homepage{
    min-height:50px;
    font-size:14px;
  }
  .subMenuStrip__link{
    font-size:13px;
  }
}

/* =========================================================
   ✅ (신규) Faculty & Presenters 하단 발표자 명단 블록
   - 기존 2명 프로필 카드는 그대로 유지하고,
     그 아래에 참고 이미지처럼 알파벳 인덱스 + 행 목록을 추가합니다.
========================================================= */
.facultyRoster{
  margin-top: 34px;
  border-top:1px solid rgba(9,18,37,.10);
  padding-top: 28px;
}
.facultyRoster__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom: 18px;
}
.facultyRoster__title{
  margin:0;
  font-size: 28px;
  font-weight: 900;
  letter-spacing:-0.02em;
  color:#0b1220;
}
.facultyRoster__hint{
  margin:0;
  color: rgba(9,18,37,.58);
  font-size:14px;
  font-weight:700;
}
.facultyRoster__alphabet{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0;
  margin: 0 0 20px;
  padding: 16px 18px;
  border-top:1px solid rgba(9,18,37,.12);
  border-bottom:1px solid rgba(9,18,37,.12);
}
.facultyRoster__alphabet a{
  color:#15a4c6;
  font-weight:700;
  padding:0 8px;
  line-height:1.2;
  border-right:1px solid rgba(9,18,37,.20);
}
.facultyRoster__alphabet a:last-child{
  border-right:0;
}
.facultyRoster__group{
  margin-bottom: 22px;
  border:1px solid rgba(9,18,37,.14);
}
.facultyRoster__letter{
  margin:0;
  padding: 10px 14px;
  background:#19a2b8;
  color:#fff;
  font-size: 26px;
  font-weight:900;
  letter-spacing:-0.01em;
}
.facultyRoster__row{
  display:grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 20px;
  padding: 12px 16px;
  border-top:1px solid rgba(9,18,37,.14);
  background:#fff;
}
.facultyRoster__row:first-of-type{
  border-top:0;
}
.facultyRoster__name{
  color:#0aa0c2;
  font-weight:800;
  font-size:15px;
  line-height:1.45;
}
.facultyRoster__role{
  display:block;
  margin-top: 4px;
  color: rgba(9,18,37,.62);
  font-size:13px;
  font-weight:700;
}
.facultyRoster__affiliation{
  color:#1b2431;
  font-size:15px;
  line-height:1.65;
  align-self:center;
}

@media (max-width: 860px){
  .facultyRoster__row{
    grid-template-columns: 1fr;
    gap:8px;
  }
}


/* =========================================================
   ✅ (추가) 노란 서브메뉴 줄 바로 아래 현재 페이지 제목 표시
   - 사용자가 클릭한 서브메뉴를 큰 글씨로 한 번 더 보여줍니다.
   - 배경은 요청하신 참고 이미지처럼 연한 블루 패턴 느낌으로 변경했습니다.
========================================================= */
.subpageCurrentTitle{
  background:
    radial-gradient(circle at 12% 54%, rgba(78, 111, 165, .10) 0 2px, transparent 2.8px) 0 0 / 22px 22px,
    radial-gradient(circle at 78% 20%, rgba(78, 111, 165, .07) 0 1.8px, transparent 2.6px) 11px 11px / 24px 24px,
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.10)),
    linear-gradient(90deg, #dbe7f8 0%, #d7e4f6 50%, #dce8f8 100%);
  border-bottom:1px solid rgba(9,18,37,.08);
}
.subpageCurrentTitle .container{
  padding: 34px 0 30px;
  display:flex;
  justify-content:center; /* ✅ 제목을 항상 가운데 정렬 */
  align-items:center;
}
.subpageCurrentTitle__text{
  margin:0;
  width:100%;
  text-align:center; /* ✅ 사용자가 요청한 가운데 정렬 */
  font-size: 54px;
  line-height:1.05;
  font-weight: 900;
  letter-spacing:-0.03em;
  color:#123f73;
}

/* =========================================================
   ✅ (수정) Faculty 하단 명단은 가운데 정렬 + 더 넓은 폭으로 보이게 조정
========================================================= */
.facultyRoster{
  width:min(100%, 1180px);
  margin: 40px auto 0;
}
.facultyRoster__head,
.facultyRoster__alphabet,
.facultyRoster__group{
  width:100%;
}
.facultyRoster__head{
  align-items:center;
  margin-bottom: 22px;
}
.facultyRoster__title{
  font-size: 44px;
}
.facultyRoster__hint{
  font-size:18px;
}
.facultyRoster__row{
  grid-template-columns: minmax(280px, 420px) minmax(320px, 1fr);
  min-height: 92px;
}
.facultyRoster__name{
  font-size: 19px;
}
.facultyRoster__role{
  font-size: 14px;
}
.facultyRoster__affiliation{
  font-size: 17px;
}

@media (max-width: 980px){
  .subpageCurrentTitle .container{
    padding: 24px 0 20px;
  }
  .subpageCurrentTitle__text{
    font-size: 42px;
  }
  .facultyRoster{
    width:100%;
  }
  .facultyRoster__title{
    font-size: 34px;
  }
  .facultyRoster__hint{
    font-size:15.5px;
  }
}

@media (max-width: 720px){
  .subpageCurrentTitle__text{
    font-size: 34px;
  }
  .facultyRoster__head{
    align-items:flex-start;
  }
  .facultyRoster__title{
    font-size: 30px;
  }
  .facultyRoster__hint{
    font-size:15px;
  }
}


/* =========================================================
   ✅ (수정) 서브페이지 하단에 자동으로 붙던 행사 카드 / Quick Menu 영역 제거
   - 사용자가 원치 않는 하단 카드 영역이 모든 서브페이지에 반복 노출되어 숨김 처리했습니다.
========================================================= */
.subpageShowcase{
  display:none; /* 추가 설명: HTML은 유지하되 CSS로 숨기면 다른 구조를 건드리지 않고 바로 제거할 수 있습니다. */
}

/* =========================================================
   ✅ (수정) 서브페이지 상단 요소가 스크롤 시 따라 내려오지 않도록 고정 해제
   - 헤더/서브 비주얼이 sticky처럼 보이지 않게 일반 문서 흐름으로 변경했습니다.
========================================================= */
.header,
.header--homepage{
  position:sticky !important; /* ✅ (수정) Bylaws 등 모든 서브페이지에서도 상단 메뉴가 항상 보이도록 sticky 헤더를 다시 적용했습니다. */
  top:0;
}
.subHero,
.breadcrumb{
  position:relative;
  top:auto;
}

/* =========================================================
   ✅ (신규) Invitation 페이지 한글/영문 2단 구성
   - 왼쪽 사진, 오른쪽 한글 안내문, 구분선, 영문 안내문 순서로 배치합니다.
========================================================= */
.invitationCard{
  display:grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap:24px;
  align-items:start;
}
.invitationCard__photo{
  margin:0;
  border:1px solid rgba(9,18,37,.10);
  border-radius:16px;
  overflow:hidden;
  background:#f5f7fa;
  box-shadow:0 10px 24px rgba(9,18,37,.08);
}
.invitationCard__photo img{
  width:100%;
  display:block;
  aspect-ratio: 4 / 5;
  object-fit:cover;
}
.invitationCard__body{
  min-width:0;
}
.invitationCard__sectionTitle{
  margin:0 0 12px;
  font-size:22px;
  line-height:1.3;
  font-weight:900;
  color:#0d3f77;
  letter-spacing:-0.02em;
}
.invitationCard__sectionTitle--en{
  margin-top:22px;
}
.invitationCard__text{
  color:rgba(9,18,37,.84);
  line-height:1.9;
  font-size:15.5px;
}
.invitationCard__text p{
  margin:0 0 12px;
}
.invitationCard__divider{
  height:1px;
  background:rgba(9,18,37,.14);
  margin:22px 0;
}
.invitationCard__signature{
  margin-top:20px;
  text-align:right;
  font-weight:800;
  color:#10345d;
  line-height:1.7;
}
@media (max-width: 900px){
  .invitationCard{
    grid-template-columns: 1fr; /* 추가 설명: 화면이 좁아지면 사진 위 / 글 아래로 자동 변경됩니다. */
  }
  .invitationCard__photo{
    max-width:320px;
  }
}


/* =========================================================
   ✅ (신규) History 페이지 전용 타임라인/요약 카드
   - 사용자가 제공한 지회 창립/변천/현황 내용을 가독성 좋게 정리하기 위한 스타일입니다.
========================================================= */
.historyIntro{
  display:grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap:24px;
  align-items:start;
  margin-bottom:28px;
}
.historyLead{
  margin:0;
  color:rgba(9,18,37,.84);
  font-size:17px;
  line-height:1.88; /* ✅ (수정) 사진 옆 본문 공간을 더 효율적으로 쓰도록 줄간격을 약간 줄였습니다. */
}
.historyStats{
  display:grid;
  gap:14px;
}
.historyStat{
  padding:18px 20px;
  border-radius:18px;
  border:1px solid rgba(17,52,93,.08);
  background:linear-gradient(180deg, rgba(18,63,115,.05), rgba(18,63,115,.02));
}
.historyStat__label{
  display:block;
  margin-bottom:8px;
  color:#123f73;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.historyStat__value{
  display:block;
  color:#0b1220;
  font-size:28px;
  font-weight:900;
  letter-spacing:-0.02em;
}
.historyStat__desc{
  margin-top:6px;
  color:rgba(9,18,37,.66);
  font-size:14px;
  line-height:1.7;
}
.historySection{
  margin-top:32px;
}
.historySection:first-of-type{
  margin-top:0;
}
.historySection__title{
  margin:0 0 12px;
  font-size:24px;
  font-weight:900;
  letter-spacing:-0.02em;
  color:#123f73;
}
.historySection__card{
  padding:22px 24px;
  border-radius:20px;
  border:1px solid rgba(17,52,93,.10);
  background:#fbfcfe;
  box-shadow:0 10px 24px rgba(9,18,37,.05);
}
.historySection__card p{
  margin:0;
  color:rgba(9,18,37,.84);
  font-size:15.5px;
  line-height:1.88; /* ✅ (수정) 사진 옆 본문 공간을 더 효율적으로 쓰도록 줄간격을 약간 줄였습니다. */
}
.historyTimeline{
  display:grid;
  gap:14px;
}
.historyTimeline__item{
  display:grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap:14px;
  align-items:start;
}
.historyTimeline__year{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(90deg, #1d6ede 0%, #28b9d7 100%);
  color:#fff;
  font-size:18px;
  font-weight:900;
  letter-spacing:-0.02em;
}
.historyTimeline__body{
  padding:18px 20px;
  border-radius:18px;
  border:1px solid rgba(17,52,93,.09);
  background:#fff;
}
.historyTimeline__body p{
  margin:0;
  color:rgba(9,18,37,.84);
  font-size:15px;
  line-height:1.9;
}

/* =========================================================
   ✅ (신규) Registration Check 결과 카드
========================================================= */
.checkResult{
  margin-top:18px;
  padding:18px 20px;
  border-radius:16px;
  border:1px solid rgba(18,63,115,.12);
  background:linear-gradient(180deg, rgba(42,111,232,.05), rgba(30,195,223,.04));
}
.checkResult[hidden]{
  display:none !important;
}
.checkResult__title{
  margin:0 0 12px;
  font-size:18px;
  font-weight:900;
  color:#123f73;
}
.checkResult__grid{
  display:grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap:10px 14px;
}
.checkResult__label{
  color:rgba(9,18,37,.62);
  font-size:14px;
  font-weight:800;
}
.checkResult__value{
  color:#0b1220;
  font-size:14px;
  font-weight:600;
  word-break:break-word;
}
@media (max-width: 900px){
  .historyIntro{
    grid-template-columns:1fr;
  }
}
@media (max-width: 720px){
  .historyTimeline__item{
    grid-template-columns:1fr;
    gap:10px;
  }
  .historyTimeline__year{
    justify-self:start;
  }
  .checkResult__grid{
    grid-template-columns: 92px minmax(0, 1fr);
  }
}


/* ✅ (수정) breadcrumb 글씨를 상단 남색 메뉴와 같은 계열의 두께/자간으로 다시 맞췄습니다. */
.breadcrumb__inner,
.breadcrumb__inner > span,
.breadcrumb__inner > a{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,"Noto Sans KR",sans-serif;
  letter-spacing: -0.01em;
}
.breadcrumb__inner > span{
  font-weight: 500;
}
.breadcrumb__current,
.breadcrumb__active{
  font-weight: 700;
  color: #2a6fe8;
}

/* ✅ (추가) History 페이지의 원문 서술을 가독성 좋게 보여주기 위한 문단 카드 스타일입니다. */
.historyArticle .historySection{
  margin-top: 0;
}
.historySection__card--narrative{
  padding: 30px 32px;
}
.historyNarrative{
  margin: 0;
  font-size: 17px;
  line-height: 2.05;
  color: rgba(9,18,37,.86);
  word-break: keep-all;
}
.historyNarrative + .historyNarrative{
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px dashed rgba(9,18,37,.12);
}
@media (max-width: 720px){
  .historySection__card--narrative{
    padding: 22px 18px;
  }
  .historyNarrative{
    font-size: 15px;
    line-height: 1.9;
  }
}


/* =========================================================
   ✅ (신규) History 페이지를 Invitation 페이지처럼 사진+본문형으로 보이게 하는 전용 레이아웃
========================================================= */
.historyFeature{
  display:grid;
  grid-template-columns:minmax(300px, 380px) minmax(0, 1fr); /* ✅ (수정) History 사진이 너무 작아 보이지 않도록 좌측 사진 영역을 더 넓혔습니다. */
  gap:24px;
  align-items:start;
}
.historyFeature__media{
  display:grid;
  gap:14px;
}
.historyFeature__photo{
  margin:0;
  border:1px solid rgba(9,18,37,.10);
  border-radius:18px;
  overflow:hidden;
  background:#f5f7fa;
  box-shadow:0 10px 24px rgba(9,18,37,.08);
}
.historyFeature__photo img{
  width:100%;
  display:block;
  object-fit:contain; /* ✅ (수정) History 사진이 잘리지 않도록 cover 대신 contain으로 변경했습니다. */
  background:#f5f7fa;
}
.historyFeature__body{
  min-width:0;
}
.historyFeature__title{
  margin:0 0 12px;
  font-size:22px;
  line-height:1.3;
  font-weight:900;
  color:#0d3f77;
  letter-spacing:-0.02em;
}
.historyFeature__text{
  color:rgba(9,18,37,.84);
  line-height:1.88; /* ✅ (수정) 사진 옆 본문 공간을 더 효율적으로 쓰도록 줄간격을 약간 줄였습니다. */
  font-size:15.5px;
}
.historyFeature__text p{
  margin:0 0 12px;
}
.historySection__card--continuation{
  margin-top:24px; /* ✅ 아래 문단이 상단 History 영역과 자연스럽게 이어지도록 여백만 유지합니다. */
}
.historyContinuation{
  padding: 0; /* ✅ (수정) 사용자가 요청한 대로 아래 History 본문은 네모 박스를 제거했습니다. */
  border: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
.historyContinuation .historyNarrative{
  font-size: 16.5px;
  line-height: 2;
}
.historyContinuation .historyNarrative + .historyNarrative{
  margin-top: 14px;
  padding-top: 14px;
  border-top: none;
}
@media (max-width: 900px){
  .historyFeature{
    grid-template-columns:1fr; /* ✅ (추가 설명) 화면이 좁아지면 사진이 위, 글이 아래로 정렬됩니다. */
  }
  .historyFeature__media{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px){
  .historyFeature__media{
    grid-template-columns:1fr;
  }
  .historyFeature__title{
    font-size:20px;
  }
  .historyFeature__text{
    font-size:15px;
    line-height:1.9;
  }
}


/* =========================================================
   ✅ (신규) Contact 페이지 전용 레이아웃
========================================================= */
.contactInfoGrid{
  display:grid;
  grid-template-columns:minmax(320px, 420px) minmax(0, 1fr);
  gap:22px;
  align-items:start;
}
.contactInfoCard,
.contactMapCard{
  background:#fff;
  border:1px solid rgba(9,18,37,.10);
  border-radius:18px;
  padding:22px;
  box-shadow:0 10px 24px rgba(9,18,37,.06);
}
.contactInfoCard__title{
  margin:0 0 16px;
  font-size:20px;
  font-weight:900;
  color:#0d3f77;
}
.contactList{
  margin:0;
  display:grid;
  gap:12px;
}
.contactList__row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.contactList__row dt{
  font-weight:800;
  color:#123d72;
}
.contactList__row dd{
  margin:0;
  color:rgba(9,18,37,.82);
  line-height:1.7;
}
.contactInlineNote{
  color:rgba(9,18,37,.55);
  font-size:13px;
}
.contactActions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.contactAddressBox{
  margin-top:14px;
  padding:12px 14px;
  border-radius:12px;
  background:#f2f6ff;
  border:1px solid rgba(31,79,214,.16);
  color:rgba(9,18,37,.84);
  line-height:1.6;
}
.contactMap{
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(9,18,37,.10);
  background:#f6f7f9;
}
.contactMap iframe{
  width:100%;
  height:360px;
  border:0;
  display:block;
}
@media (max-width: 900px){
  .contactInfoGrid{
    grid-template-columns:1fr;
  }
}

.countryFlagBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:6px;
  font-size:18px;
  vertical-align:middle;
}

.historyEnglishBlock{
  margin-top:26px;
}
.historyEnglishBlock__divider{
  height:1px;
  background:rgba(9,18,37,.10);
  margin-bottom:20px;
}
.historyEnglishBlock__title{
  margin:0 0 14px;
  font-size:22px;
  line-height:1.3;
  font-weight:900;
  color:#0d3f77;
}
.historyEnglishBlock__text{
  color:rgba(9,18,37,.82);
  font-size:15.5px;
  line-height:1.9;
}
.historyEnglishBlock__text p{
  margin:0 0 14px;
}
.contactInlineNote{
  display:block; /* ✅ (수정) Contact 이메일 보조 문구를 두 줄로 자연스럽게 보이도록 block으로 바꿨습니다. */
  margin-top:4px;
}

.historyPhotoButton{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:zoom-in;
}
.historyPhotoButton img{
  transition:transform .22s ease;
}
.historyPhotoButton:hover img{
  transform:scale(1.02);
}
.historyLightbox[hidden]{
  display:none;
}
.historyLightbox{
  position:fixed;
  inset:0;
  z-index:2200;
}
.historyLightbox__backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(6,18,37,.72);
}
.historyLightbox__dialog{
  position:relative;
  width:min(1120px, calc(100% - 32px));
  max-height:calc(100% - 32px);
  margin:16px auto;
  padding:14px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 24px 80px rgba(0,0,0,.32);
}
.historyLightbox__img{
  width:100%;
  max-height:calc(100vh - 92px);
  object-fit:contain;
  display:block;
  border-radius:14px;
  background:#f5f7fa;
}
.historyLightbox__close{
  position:absolute;
  top:10px;
  right:10px;
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:rgba(9,18,37,.82);
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.contactCopyBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:120px;
  padding:11px 18px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg, #123d72 0%, #1f5fa8 100%); /* ✅ (수정) Contact의 주소 복사 버튼을 사이트 톤에 맞는 파란 그라데이션 pill 버튼으로 재디자인했습니다. */
  color:#fff;
  font-weight:800;
  font-size:14px;
  box-shadow:0 10px 20px rgba(18,61,114,.18);
  cursor:pointer;
}
.contactCopyBtn:hover{
  filter:brightness(1.03);
}
.contactCopyBtn:active{
  transform:translateY(1px);
}

.contactCopyBtn--map{ text-decoration:none; } /* ✅ (수정) 지도에서 열기 버튼도 주소 복사 버튼과 동일한 디자인을 사용하도록 맞췄습니다. */
