/*
Theme Name: KRIED Basic
Theme URI: https://kried.dothome.co.kr/
Author: KRIED
Description: 국토환경연구원용 접근성 고려 워드프레스 기본 테마
Version: 1.0
Text Domain: kried-basic
*/

/* =====================================================
   1. 기본 색상 설정
   - 시안2 느낌의 녹색 계열 색상입니다.
   - 나중에 색상을 바꾸고 싶으면 이 부분만 수정하면 됩니다.
===================================================== */

/* =====================================================
   1. 기본 색상 설정
   - 기존 시안2 색상 기준
   - 진한 녹색 + 흰색 + 연녹색 배경
===================================================== */

/* :root {
  --green-900: #114b2f;
  --green-800: #1c6b43;
  --green-700: #2f8f5b;
  --green-600: #43a86f;
  --green-100: #e9f7ef;
  --green-50: #f7fcf9;

  --text-900: #1f2933;
  --text-700: #46515f;
  --text-500: #6b7280;

  --white: #ffffff;
  --border: #d7eadf;

  --shadow: 0 14px 35px rgba(17, 75, 47, 0.14);
  --radius: 18px;
} */
/* =====================================================
   KRIED 최종 디자인 색상
   - 파랑 중심 + 녹색 포인트 + 회색 안정감
===================================================== */

:root {
  --primary-900: #0f2f5f;
  --primary-800: #1d4f86;
  --primary-700: #2d6f9f;
  --primary-100: #edf3f8;
  --primary-50: #f8fafc;

  --green-900: #1e6f4a;
  --green-800: #2d8a5b;
  --green-700: #48a878;
  --green-600: #48a878;
  --green-100: #edf7f2;
  --green-50: #f7fbf9;

  --gray-900: #202b3d;
  --gray-800: #334155;
  --gray-700: #526174;
  --gray-500: #7c8898;
  --gray-100: #eef2f5;
  --gray-50: #f8fafc;

  --text-900: #202b3d;
  --text-700: #526174;
  --text-500: #7c8898;

  --white: #ffffff;
  --border: #dfe7ee;
  --shadow: 0 18px 45px rgba(15, 47, 95, 0.10);
  --radius: 20px;
}

/* =====================================================
   2. 전체 기본 설정
===================================================== */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family:
    "Noto Sans KR",
    "Apple SD Gothic Neo",
    "Malgun Gothic",
    Arial,
    sans-serif;
  color: var(--text-900);
  background: var(--green-50);
  line-height: 1.7;
  word-break: keep-all;
}

a {
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
}

.container {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

/* =====================================================
   3. 접근성용 바로가기 링크
   - 키보드 사용자가 본문으로 바로 이동할 수 있게 합니다.
===================================================== */

.skip-link {
  position: absolute;
  left: 16px;
  top: -80px;
  z-index: 99999;
  padding: 12px 16px;
  background: var(--green-900);
  color: var(--white);
  text-decoration: none;
  border-radius: 8px;
}

.skip-link:focus {
  top: 16px;
}

/* =====================================================
   4. 상단 헤더
===================================================== */

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(10px);
}

.header-inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.site-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--green-900);
  font-size: 22px;
  font-weight: 800;
  text-decoration: none;
}

.logo-mark {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--green-800), var(--green-600));
  color: var(--white);
  font-weight: 900;
}

.site-nav ul {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav a {
  display: block;
  padding: 10px 14px;
  color: var(--text-900);
  font-weight: 700;
  text-decoration: none;
  border-radius: 999px;
}

.site-nav a:hover,
.site-nav a:focus {
  background: var(--green-100);
  color: var(--green-900);
  outline: none;
}

/* =====================================================
   5. 버튼 공통 디자인
===================================================== */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: 0.2s ease;
}

.btn-primary {
  background: var(--green-800);
  color: var(--white);
  box-shadow: 0 10px 24px rgba(20, 92, 67, 0.25);
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--green-900);
  color: var(--white);
}

.btn-secondary {
  background: var(--white);
  color: var(--green-900);
  border: 2px solid var(--green-700);
}

.btn-secondary:hover,
.btn-secondary:focus {
  background: var(--green-100);
}

/* =====================================================
   6. 시안1 구조: 메인 첫 화면
   - 구조는 시안1
   - 색상은 시안2의 녹색과 흰색 느낌
===================================================== */

.hero {
  padding: 86px 0 72px;
  background:
    linear-gradient(135deg, #e9f7ef 0%, #ffffff 55%, #f7fcf9 100%);
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: 36px;
  align-items: center;
}

.hero-kicker {
  display: inline-flex;
  margin-bottom: 18px;
  padding: 7px 14px;
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 15px;
  font-weight: 800;
}

.hero h1 {
  margin: 0 0 20px;
  color: var(--green-900);
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.18;
  letter-spacing: -0.04em;
}

.hero p {
  max-width: 680px;
  margin: 0;
  color: var(--text-700);
  font-size: 18px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

/* =====================================================
   7. 빠른 서비스 카드
===================================================== */

.hero-card {
  padding: 30px;
  border: 1px solid var(--border);
  border-radius: 26px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.hero-card h2 {
  margin: 0 0 18px;
  color: var(--green-900);
  font-size: 24px;
}

.quick-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.quick-list li + li {
  margin-top: 10px;
}

.quick-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--green-50);
  color: var(--text-900);
  font-weight: 800;
  text-decoration: none;
}

.quick-list a:hover,
.quick-list a:focus {
  background: var(--green-100);
  color: var(--green-900);
}

/* =====================================================
   8. 공통 섹션
===================================================== */

section {
  scroll-margin-top: 96px;
}

.about,
.business,
.notice {
  padding: 76px 0;
}

#reports,
#location {
  padding: 76px 0;
  background: var(--white);
}

.section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

.section-header h2 {
  margin: 0 0 8px;
  color: var(--green-900);
  font-size: clamp(26px, 3vw, 38px);
  letter-spacing: -0.03em;
}

.section-header p {
  margin: 0;
  color: var(--text-700);
}

.more-link {
  flex: 0 0 auto;
  color: var(--green-800);
  font-weight: 900;
  text-decoration: none;
}

.more-link:hover,
.more-link:focus {
  text-decoration: underline;
}

/* =====================================================
   9. 연구원 소개 이미지 대체 영역
===================================================== */

.about-visual {
  min-height: 220px;
  display: grid;
  place-items: center;
  padding: 36px;
  border: 1px dashed var(--green-600);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(234, 246, 240, 0.9), rgba(255, 255, 255, 0.96));
  color: var(--green-900);
  font-size: 18px;
  font-weight: 800;
  text-align: center;
}

/* =====================================================
   10. 주요 사업 카드
===================================================== */

.card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.business-card,
.report-card,
.contact-box {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: 0 10px 24px rgba(15, 61, 46, 0.07);
}

.business-card {
  padding: 24px;
}

.business-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-bottom: 16px;
  border-radius: 16px;
  background: var(--green-100);
  font-size: 28px;
}

.business-card h3 {
  margin: 0 0 10px;
  color: var(--green-900);
  font-size: 21px;
}

.business-card p {
  margin: 0;
  color: var(--text-700);
}

/* =====================================================
   11. 최근 연구자료
===================================================== */

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

.report-card {
  padding: 24px;
}

.tag {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.report-card h3 {
  margin: 0 0 10px;
  font-size: 21px;
}

.report-card h3 a {
  color: var(--text-900);
  text-decoration: none;
}

.report-card h3 a:hover,
.report-card h3 a:focus {
  color: var(--green-800);
  text-decoration: underline;
}

.report-card p {
  margin: 0 0 18px;
  color: var(--text-700);
}

.meta {
  color: var(--text-500);
  font-size: 14px;
  font-weight: 700;
}

/* =====================================================
   12. 알림마당 / 문의
===================================================== */

.notice-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 22px;
}

.notice-list {
  display: grid;
  gap: 12px;
}

.notice-item {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  text-decoration: none;
}

.notice-item:hover,
.notice-item:focus {
  border-color: var(--green-600);
  box-shadow: 0 10px 24px rgba(15, 61, 46, 0.08);
}

.notice-date {
  color: var(--green-800);
  font-weight: 900;
}

.notice-title {
  color: var(--text-900);
  font-weight: 900;
}

.notice-summary {
  margin-top: 4px;
  color: var(--text-700);
}

.contact-box {
  padding: 24px;
}

.contact-box h3 {
  margin: 0 0 10px;
  color: var(--green-900);
  font-size: 24px;
}

.contact-box p {
  margin: 0 0 18px;
  color: var(--text-700);
}

.contact-info {
  display: grid;
  gap: 8px;
  margin-bottom: 22px;
  color: var(--text-700);
}

/* =====================================================
   13. 지도 영역
===================================================== */

.map-placeholder {
  min-height: 260px;
  display: grid;
  place-items: center;
  padding: 36px;
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, var(--green-100), var(--white));
  border: 1px solid var(--border);
  color: var(--green-900);
  font-size: 18px;
  font-weight: 800;
  text-align: center;
}

/* =====================================================
   14. 일반 페이지 공통 디자인
   - 관리자 화면에서 만든 페이지들이 이 디자인을 사용합니다.
===================================================== */

.page-hero {
  padding: 64px 0;
  background:
    linear-gradient(135deg, #114b2f, #1c6b43);
  color: var(--white);
}

.page-hero h1 {
  margin: 0;
  font-size: clamp(32px, 4vw, 48px);
  letter-spacing: -0.04em;
}

.page-content {
  padding: 60px 0 80px;
  background: var(--white);
}

.page-content .entry-content {
  max-width: 900px;
  margin: 0 auto;
  font-size: 18px;
}

.page-content h2 {
  margin-top: 42px;
  color: var(--green-900);
}

.page-content h3 {
  color: var(--green-800);
}

.page-content a {
  color: var(--green-800);
  font-weight: 800;
}

/* =====================================================
   15. 하단 푸터
===================================================== */

.site-footer {
  padding: 36px 0;
  background: var(--green-900);
  color: rgba(255, 255, 255, 0.86);
}

.footer-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.footer-title {
  color: var(--white);
  font-size: 20px;
  font-weight: 900;
}

.footer-info {
  margin-top: 8px;
  font-size: 14px;
}

.footer-copy {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
}

/* =====================================================
   16. 모바일 반응형
===================================================== */

@media (max-width: 900px) {
  .header-inner {
    align-items: flex-start;
    flex-direction: column;
    padding: 16px 0;
  }

  .site-nav ul {
    flex-wrap: wrap;
  }

  .hero-grid,
  .notice-layout {
    grid-template-columns: 1fr;
  }

  .card-grid,
  .reports-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-header {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  .hero {
    padding: 56px 0;
  }

  .hero h1 {
    font-size: 34px;
  }

  .hero p {
    font-size: 16px;
  }

  .card-grid,
  .reports-grid {
    grid-template-columns: 1fr;
  }

  .notice-item {
    grid-template-columns: 1fr;
  }

  .footer-inner {
    flex-direction: column;
  }

  .btn {
    width: 100%;
  }

  .hero-actions {
    width: 100%;
  }
}

/* =====================================================
   카카오맵 지도 영역
   - 오시는 길 페이지에 들어가는 카카오맵을 보기 좋게 정리합니다.
===================================================== */

.kried-map-box {
  overflow: hidden;
  margin: 24px 0;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow);
}

/* 카카오맵 기본 박스 */
.kried-map-box .root_daum_roughmap {
  width: 100% !important;
}

/* 카카오맵 안쪽 지도 영역 */
.kried-map-box .root_daum_roughmap .wrap_map {
  width: 100% !important;
}

/* 지도 아래 주소/확대/길찾기 영역 */
.kried-map-box .root_daum_roughmap .wrap_controllers {
  width: 100% !important;
}

/* 지도 아래 안내 정보 */
.location-info-box {
  margin-top: 24px;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--green-50);
}

.location-info-box h2 {
  margin-top: 0;
  color: var(--green-900);
}

.location-info-box p {
  margin: 8px 0;
}
/* =====================================================
   구성원 상세 소개형 디자인
   - 의료진 상세소개 페이지처럼
     사진 + 기본정보 + 전문분야 + 상세소개 구조로 보여줍니다.
===================================================== */

.profile-detail-page {
  display: grid;
  gap: 34px;
}

.profile-page-intro {
  padding: 30px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--green-50);
}

.profile-page-intro h2 {
  margin: 0 0 10px;
  color: var(--green-900);
}

.profile-page-intro p {
  margin: 0;
  color: var(--text-700);
}

.profile-detail-card {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--white);
  box-shadow: var(--shadow);
}

.profile-main {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 32px;
  padding: 34px;
  background:
    linear-gradient(135deg, var(--white), var(--green-50));
}

.profile-photo-box {
  display: flex;
  justify-content: center;
}

.profile-photo-placeholder {
  width: 220px;
  height: 260px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 18px;
  background:
    linear-gradient(135deg, var(--green-100), var(--white));
  color: var(--green-800);
  font-size: 22px;
  font-weight: 900;
}

.profile-summary {
  min-width: 0;
}

.profile-role {
  display: inline-flex;
  margin: 0 0 10px;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 14px;
  font-weight: 900;
}

.profile-summary h3 {
  margin: 0;
  color: var(--green-900);
  font-size: 36px;
  letter-spacing: -0.04em;
}

.profile-title {
  margin: 6px 0 22px;
  color: var(--text-700);
  font-size: 18px;
  font-weight: 700;
}

.profile-field {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.profile-field strong {
  color: var(--green-900);
}

.profile-field span {
  color: var(--text-700);
}

.profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.profile-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 900;
  text-decoration: none;
}

.profile-btn.primary {
  background: var(--green-800);
  color: var(--white);
}

.profile-btn.secondary {
  background: var(--white);
  color: var(--green-900);
  border: 1px solid var(--green-700);
}

.profile-detail-body {
  display: grid;
  gap: 0;
  padding: 0 34px 34px;
}

.profile-info-section {
  padding: 26px 0;
  border-top: 1px solid var(--border);
}

.profile-info-section h4 {
  margin: 0 0 12px;
  color: var(--green-900);
  font-size: 22px;
}

.profile-info-section p {
  margin: 0;
  color: var(--text-700);
}

.profile-info-section ul {
  margin: 0;
  padding-left: 20px;
  color: var(--text-700);
}

.profile-info-section li + li {
  margin-top: 6px;
}

.profile-team-section {
  padding-top: 10px;
}

.profile-team-section > h3 {
  margin: 0 0 18px;
  color: var(--green-900);
  font-size: 30px;
  border-left: 6px solid var(--green-700);
  padding-left: 14px;
}

.profile-list-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.profile-mini-card {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 18px;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: 0 10px 24px rgba(17, 75, 47, 0.08);
}

.profile-mini-photo {
  width: 100px;
  height: 120px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: var(--green-100);
  color: var(--green-800);
  font-weight: 900;
}

.profile-mini-card h4 {
  margin: 2px 0 4px;
  color: var(--green-900);
  font-size: 22px;
}

.profile-mini-card p {
  margin: 4px 0;
  color: var(--text-700);
  font-size: 15px;
}

@media (max-width: 800px) {
  .profile-main {
    grid-template-columns: 1fr;
  }

  .profile-photo-box {
    justify-content: flex-start;
  }

  .profile-list-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .profile-main,
  .profile-detail-body {
    padding-left: 22px;
    padding-right: 22px;
  }

  .profile-field {
    grid-template-columns: 1fr;
  }

  .profile-mini-card {
    grid-template-columns: 1fr;
  }

  .profile-mini-photo {
    width: 100%;
  }
}
/* =====================================================
   연구원 소개 / 연혁형 페이지 디자인
   - 참고 이미지처럼 중앙 정렬 제목, 연도 탭, 연혁 타임라인 구조
===================================================== */

.kried-history-page {
  max-width: 980px;
  margin: 0 auto;
}

/* 소개 제목 영역 */
.history-intro {
  margin-bottom: 34px;
  text-align: center;
}

.history-intro h2 {
  position: relative;
  margin: 0 0 22px;
  color: var(--text-900);
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.history-intro h2::after {
  content: "";
  display: block;
  width: 1px;
  height: 28px;
  margin: 16px auto 0;
  background: var(--green-800);
}

.history-intro p {
  max-width: 720px;
  margin: 0 auto;
  color: var(--text-700);
  font-size: 16px;
}

/* 연도 탭 */
.history-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 34px 0 40px;
  border: 1px solid var(--border);
  background: var(--white);
}

.history-tabs a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  border-right: 1px solid var(--border);
  color: var(--text-700);
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
}

.history-tabs a:last-child {
  border-right: 0;
}

.history-tabs a:hover,
.history-tabs a:focus,
.history-tabs a.active {
  background: var(--green-800);
  color: var(--white);
}

/* 대표 이미지형 배너 */
.history-visual {
  min-height: 210px;
  display: grid;
  place-items: center;
  margin-bottom: 48px;
  border-radius: 2px;
  background:
    linear-gradient(rgba(17, 75, 47, 0.55), rgba(17, 75, 47, 0.55)),
    linear-gradient(135deg, var(--green-900), var(--green-600));
  color: var(--white);
  text-align: center;
}

.history-visual strong {
  display: block;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 900;
  letter-spacing: -0.04em;
}

.history-visual span {
  display: block;
  margin-top: 8px;
  font-size: 15px;
  opacity: 0.9;
}

/* 연혁 한 줄 구조 */
.history-block {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 36px;
  padding: 0 0 38px;
}

.history-year {
  position: relative;
  border-top: 2px solid rgba(28, 107, 67, 0.35);
  padding-top: 18px;
}

.history-year h3 {
  margin: 0;
  color: var(--green-800);
  font-size: 32px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.history-list {
  border-top: 1px solid var(--border);
}

.history-item {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 18px;
  padding: 15px 0;
  border-bottom: 1px solid var(--border);
}

.history-item .month {
  color: var(--text-700);
  font-size: 14px;
  font-weight: 900;
}

.history-item p {
  margin: 0;
  color: var(--text-700);
  font-size: 15px;
}

/* 모바일 */
@media (max-width: 760px) {
  .history-tabs {
    grid-template-columns: repeat(2, 1fr);
  }

  .history-tabs a:nth-child(2) {
    border-right: 0;
  }

  .history-tabs a:nth-child(1),
  .history-tabs a:nth-child(2) {
    border-bottom: 1px solid var(--border);
  }

  .history-block {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-bottom: 34px;
  }

  .history-year {
    padding-top: 12px;
  }

  .history-year h3 {
    font-size: 28px;
  }

  .history-item {
    grid-template-columns: 48px minmax(0, 1fr);
  }
}
/* =====================================================
   조직도 페이지 디자인
   - 국토연구원 조직도처럼 위에서 아래로 내려가는 계층형 구조
===================================================== */

.kried-org-page {
  max-width: 1080px;
  margin: 0 auto;
}

.org-intro {
  margin-bottom: 42px;
  text-align: center;
}

.org-intro h2 {
  position: relative;
  margin: 0 0 22px;
  color: var(--text-900);
  font-size: 36px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.org-intro h2::after {
  content: "";
  display: block;
  width: 1px;
  height: 28px;
  margin: 16px auto 0;
  background: var(--green-800);
}

.org-intro p {
  max-width: 760px;
  margin: 0 auto;
  color: var(--text-700);
  font-size: 16px;
}

.org-chart {
  position: relative;
  padding: 10px 0 20px;
}

/* 공통 박스 */
.org-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 14px 18px;
  border-radius: 8px;
  background: var(--white);
  border: 1px solid var(--border);
  color: var(--text-900);
  font-weight: 900;
  text-align: center;
  box-shadow: 0 8px 20px rgba(17, 75, 47, 0.08);
}

/* 원장 */
.org-top {
  display: flex;
  justify-content: center;
  position: relative;
  margin-bottom: 56px;
}

.org-president {
  width: 220px;
  min-height: 70px;
  background: var(--green-800);
  color: var(--white);
  font-size: 22px;
  border-color: var(--green-800);
}

/* 원장에서 아래로 내려오는 선 */
.org-top::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -56px;
  width: 1px;
  height: 56px;
  background: var(--border);
}

/* 감사 / 부원장 */
.org-second-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 180px;
  max-width: 620px;
  margin: 0 auto 70px;
}

/* 가로 연결선 */
.org-second-row::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 25%;
  right: 25%;
  height: 1px;
  background: var(--border);
  z-index: 0;
}

.org-second-row .org-box {
  position: relative;
  z-index: 1;
}

.org-sub {
  background: #f7fcf9;
  color: var(--green-900);
}

.org-vice {
  background: var(--green-100);
  color: var(--green-900);
}

/* 부서 그리드 */
.org-main-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

/* 부원장에서 부서 쪽으로 내려오는 느낌의 선 */
.org-main-grid::before {
  content: "";
  position: absolute;
  top: -36px;
  left: 10%;
  right: 10%;
  height: 1px;
  background: var(--border);
}

.org-division {
  position: relative;
}

/* 각 부서 위 연결선 */
.org-division::before {
  content: "";
  position: absolute;
  top: -36px;
  left: 50%;
  width: 1px;
  height: 36px;
  background: var(--border);
}

.org-division-title {
  background: var(--green-800);
  color: var(--white);
  border-color: var(--green-800);
  border-radius: 8px 8px 0 0;
}

.org-division ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--border);
  border-top: 0;
  background: var(--white);
}

.org-division li {
  padding: 13px 14px;
  border-bottom: 1px solid var(--border);
  color: var(--text-700);
  font-size: 15px;
  text-align: center;
}

.org-division li:last-child {
  border-bottom: 0;
}

/* 하단 지원부서 */
.org-support {
  max-width: 260px;
  margin: 70px auto 0;
  position: relative;
}

.org-support::before {
  content: "";
  position: absolute;
  top: -70px;
  left: 50%;
  width: 1px;
  height: 70px;
  background: var(--border);
}

/* 모바일 */
@media (max-width: 900px) {
  .org-second-row {
    gap: 40px;
  }

  .org-main-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .org-main-grid::before,
  .org-division::before,
  .org-top::after,
  .org-second-row::before,
  .org-support::before {
    display: none;
  }
}

@media (max-width: 560px) {
  .org-second-row,
  .org-main-grid {
    grid-template-columns: 1fr;
  }

  .org-president {
    width: 100%;
  }

  .org-support {
    max-width: none;
  }
}
/* =====================================================
   상단 메뉴 하위메뉴 디자인
   - 연구원 소개 아래에 설립취지, 연혁, 조직도, 오시는 길을 표시합니다.
===================================================== */

.site-nav li {
  position: relative;
}

.site-nav .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 190px;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow);
  z-index: 9999;
}

.site-nav .sub-menu li {
  width: 100%;
}

.site-nav .sub-menu a {
  display: block;
  padding: 11px 16px;
  border-radius: 0;
  color: var(--text-900);
  white-space: nowrap;
}

.site-nav .sub-menu a:hover,
.site-nav .sub-menu a:focus {
  background: var(--green-100);
  color: var(--green-900);
}

/* 마우스를 올렸을 때 하위메뉴 표시 */
.site-nav li:hover > .sub-menu,
.site-nav li:focus-within > .sub-menu {
  display: block;
}

/* 상위 메뉴에 하위메뉴가 있을 때 표시 */
.site-nav .menu-item-has-children > a::after {
  content: " ▾";
  font-size: 12px;
}

/* 모바일에서는 하위메뉴를 펼쳐진 상태로 표시 */
@media (max-width: 900px) {
  .site-nav .sub-menu {
    position: static;
    display: block;
    margin-top: 4px;
    padding: 4px 0 4px 14px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
  }

  .site-nav .sub-menu a {
    padding: 8px 12px;
    font-size: 15px;
  }
}
/* =====================================================
   모바일 햄버거 메뉴
   - PC에서는 일반 가로 메뉴
   - 휴대폰에서는 햄버거 버튼을 누르면 메뉴가 펼쳐집니다.
===================================================== */

/* 화면에는 보이지 않지만 스크린리더가 읽을 수 있는 텍스트 */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

/* PC에서는 햄버거 버튼 숨김 */
.menu-toggle {
  display: none;
}

/* 모바일 메뉴 */
@media (max-width: 900px) {

  /* 헤더를 한 줄 구조로 정리 */
  .header-inner {
    position: relative;
    min-height: 70px;
    flex-direction: row;
    align-items: center;
    padding: 12px 0;
  }

  /* 로고 */
  .site-logo {
    flex: 1;
  }

  /* 햄버거 버튼 */
  .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--white);
    color: var(--green-900);
    font-size: 26px;
    font-weight: 900;
    cursor: pointer;
  }

  .menu-toggle:hover,
  .menu-toggle:focus {
    background: var(--green-100);
    outline: 3px solid rgba(28, 107, 67, 0.2);
  }

  /* 모바일에서는 기본적으로 메뉴 숨김 */
  .site-nav {
    display: none;
    position: absolute;
    top: 74px;
    left: 0;
    right: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--white);
    box-shadow: var(--shadow);
    z-index: 9999;
  }

  /* 햄버거 버튼을 눌렀을 때 메뉴 표시 */
  body.menu-open .site-nav {
    display: block;
  }

  /* 모바일 메뉴는 세로로 표시 */
  .site-nav ul {
    display: block;
    width: 100%;
  }

  .site-nav li {
    width: 100%;
  }

  .site-nav a {
    display: block;
    width: 100%;
    padding: 13px 14px;
    border-radius: 12px;
  }

  /* 모바일 하위메뉴 */
  .site-nav .sub-menu {
    position: static;
    display: block;
    margin: 4px 0 8px;
    padding: 4px 0 4px 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .site-nav .sub-menu a {
    padding: 10px 14px;
    color: var(--text-700);
    font-size: 15px;
  }

  .site-nav .sub-menu a::before {
    content: "- ";
  }
}
/* =====================================================
   KRIED 텍스트 로고
   - 업로드한 이미지 로고를 텍스트로 비슷하게 구현
===================================================== */

.kried-text-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  line-height: 1;
}

.kried-logo-left {
  display: inline-flex;
  align-items: baseline;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 38px;
  font-weight: 900;
  letter-spacing: -0.08em;
  line-height: 0.9;
}

.kried-k,
.kried-r, 
.kried-i,
.kried-e, 
.kried-d {
  color: var(--green-900);
}

.kried-logo-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 2px;
}

.kried-logo-ko {
  color: var(--green-900);
  font-size: 25px;
  font-weight: 900;
  letter-spacing: -0.08em;
  line-height: 1;
}

.kried-logo-en {
  margin-top: 4px;
  color: var(--text-700);
  font-size: 7.5px;
  font-weight: 700;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

/* 휴대폰 화면에서 로고가 너무 길어지지 않게 조정 */
@media (max-width: 640px) {
  .kried-text-logo {
    gap: 7px;
  }

  .kried-logo-left {
    font-size: 30px;
  }

  .kried-logo-ko {
    font-size: 20px;
  }

  .kried-logo-en {
    max-width: 190px;
    font-size: 6.5px;
    white-space: normal;
    line-height: 1.1;
  }
}
/* =====================================================
   공지사항 글이 없을 때 안내 박스
===================================================== */

.notice-empty {
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--text-700);
  text-align: center;
  font-weight: 700;
}
/* =====================================================
   카테고리 게시판 디자인
   - 공지사항, 연구자료 등 카테고리 목록을 게시판처럼 보여줍니다.
===================================================== */

.board-wrap {
  max-width: 1000px;
  margin: 0 auto;
}

.board-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.board-header h2 {
  margin: 0 0 8px;
  color: var(--green-900);
  font-size: 32px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.board-header p {
  margin: 0;
  color: var(--text-700);
}

.board-list {
  overflow: hidden;
  border-top: 2px solid var(--green-800);
  background: var(--white);
}

.board-row {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) 130px;
  align-items: center;
  gap: 18px;
  padding: 18px 16px;
  border-bottom: 1px solid var(--border);
}

.board-head {
  padding: 14px 16px;
  background: var(--green-50);
  color: var(--green-900);
  font-weight: 900;
  text-align: center;
}

.board-no {
  color: var(--text-500);
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

.board-title {
  min-width: 0;
}

.board-title a {
  color: var(--text-900);
  font-size: 18px;
  font-weight: 900;
  text-decoration: none;
}

.board-title a:hover,
.board-title a:focus {
  color: var(--green-800);
  text-decoration: underline;
}

.board-summary {
  margin: 6px 0 0;
  color: var(--text-700);
  font-size: 14px;
}

.board-date {
  color: var(--text-500);
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

.board-empty {
  padding: 42px 20px;
  border-bottom: 1px solid var(--border);
  color: var(--text-700);
  text-align: center;
  font-weight: 800;
}

/* 페이지 번호 */
.board-pagination {
  margin-top: 28px;
  text-align: center;
}

.board-pagination .nav-links {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.board-pagination a,
.board-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--white);
  color: var(--text-700);
  font-weight: 800;
  text-decoration: none;
}

.board-pagination .current,
.board-pagination a:hover,
.board-pagination a:focus {
  background: var(--green-800);
  border-color: var(--green-800);
  color: var(--white);
}

/* 모바일 게시판 */
@media (max-width: 720px) {
  .board-head {
    display: none;
  }

  .board-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px 14px;
  }

  .board-no {
    display: none;
  }

  .board-title a {
    font-size: 17px;
  }

  .board-date {
    text-align: left;
  }
}
/* =====================================================
   글 상세 페이지 디자인
   - 공지사항, 연구자료 등 개별 글을 보기 좋게 보여줍니다.
===================================================== */

.single-post-wrap {
  max-width: 940px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow);
}

.single-post-header {
  padding: 34px 36px 26px;
  border-bottom: 1px solid var(--border);
  background:
    linear-gradient(135deg, var(--white), var(--green-50));
}

.single-post-category {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.single-post-category a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.single-post-category a:hover,
.single-post-category a:focus {
  background: var(--green-800);
  color: var(--white);
}

.single-post-title {
  margin: 0 0 14px;
  color: var(--green-900);
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: -0.04em;
}

.single-post-meta {
  color: var(--text-500);
  font-size: 14px;
  font-weight: 700;
}

.single-post-content {
  min-height: 220px;
  padding: 38px 36px;
  color: var(--text-900);
  font-size: 18px;
  line-height: 1.85;
}

.single-post-content p {
  margin: 0 0 18px;
}

.single-post-content h2 {
  margin: 38px 0 14px;
  color: var(--green-900);
  font-size: 28px;
}

.single-post-content h3 {
  margin: 30px 0 12px;
  color: var(--green-800);
  font-size: 23px;
}

.single-post-content ul,
.single-post-content ol {
  margin: 0 0 20px;
  padding-left: 24px;
}

.single-post-content li + li {
  margin-top: 8px;
}

.single-post-content a {
  color: var(--green-800);
  font-weight: 900;
}

.single-post-thumbnail {
  padding: 0 36px 36px;
}

.single-post-thumbnail img {
  display: block;
  width: 100%;
  border-radius: var(--radius);
}

.single-post-footer {
  padding: 26px 36px 34px;
  border-top: 1px solid var(--border);
  background: var(--green-50);
}

.single-post-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 24px;
}

.single-post-nav a {
  display: block;
  padding: 15px 18px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--white);
  color: var(--text-700);
  font-weight: 800;
  text-decoration: none;
}

.single-post-nav a:hover,
.single-post-nav a:focus {
  border-color: var(--green-700);
  color: var(--green-900);
}

.single-next {
  text-align: right;
}

.single-list-button {
  display: flex;
  justify-content: center;
}

/* 모바일 상세 페이지 */
@media (max-width: 720px) {
  .single-post-header,
  .single-post-content,
  .single-post-footer {
    padding-left: 22px;
    padding-right: 22px;
  }

  .single-post-content {
    font-size: 16px;
  }

  .single-post-nav {
    grid-template-columns: 1fr;
  }

  .single-next {
    text-align: left;
  }
}
/* =====================================================
   연구자료 첨부파일 다운로드 버튼 색상 조정
   - 워드프레스 파일 블록의 다운로드 버튼을 사이트 색상에 맞게 밝게 변경
===================================================== */

.wp-block-file {
  margin: 24px 0;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--green-50);
}

.wp-block-file a {
  color: var(--green-900);
  font-weight: 800;
  text-decoration: none;
}

.wp-block-file a:hover,
.wp-block-file a:focus {
  color: var(--green-800);
  text-decoration: underline;
}

/* 다운로드 버튼 */
.wp-block-file .wp-block-file__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 12px;
  padding: 9px 16px;
  border-radius: 999px;
  background: var(--green-800);
  color: #ffffff !important;
  font-weight: 900;
  text-decoration: none;
}

/* 다운로드 버튼 hover */
.wp-block-file .wp-block-file__button:hover,
.wp-block-file .wp-block-file__button:focus {
  background: var(--green-600);
  color: #ffffff !important;
  text-decoration: none;
}
/* =====================================================
   연구자료 게시판 전용 디자인
   - 전체 구조는 기존 홈페이지 디자인과 통일
   - 연구자료 목록 부분만 NKIS형 목록 스타일 적용
===================================================== */

.research-list-wrap {
  max-width: 1040px;
  margin: 0 auto;
}

/* 연구자료 소개 박스 */
.research-board-header {
  margin-bottom: 30px;
  padding: 34px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background:
    linear-gradient(135deg, var(--green-50), var(--white));
  box-shadow: 0 10px 24px rgba(17, 75, 47, 0.08);
}

.research-board-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.research-board-header h2 {
  margin: 0 0 10px;
  color: var(--green-900);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 900;
  letter-spacing: -0.04em;
}

.research-board-header p {
  margin: 0;
  color: var(--text-700);
}

/* 연구자료 목록 상단 */
.research-list-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 0;
  padding: 16px 18px;
  border-top: 2px solid var(--green-800);
  border-bottom: 1px solid var(--border);
  background: var(--green-50);
}

.research-list-title {
  color: var(--green-900);
  font-weight: 900;
}

.research-count {
  color: var(--green-800);
  font-size: 14px;
  font-weight: 900;
}

/* =====================================================
   여기부터 연구자료 목록 부분
   - NKIS형 자료 목록 느낌
===================================================== */

.research-nkis-list {
  display: grid;
  gap: 0;
  border-bottom: 1px solid var(--border);
}

.research-nkis-item {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 26px;
  padding: 26px 0;
  border-top: 1px solid var(--border);
  background: var(--white);
}

/* 썸네일 */
.research-thumb {
  width: 150px;
}

.research-thumb a {
  display: block;
  text-decoration: none;
}

.research-thumb img {
  display: block;
  width: 150px;
  height: 196px;
  object-fit: cover;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--green-50);
}

.research-thumb-placeholder {
  width: 150px;
  height: 196px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background:
    linear-gradient(135deg, var(--green-100), var(--white));
  color: var(--green-900);
  text-align: center;
  text-decoration: none;
}

.research-thumb-placeholder span {
  font-size: 25px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.research-thumb-placeholder small {
  color: var(--text-700);
  font-size: 12px;
  font-weight: 800;
}

/* 오른쪽 정보 */
.research-info {
  min-width: 0;
}

.research-title {
  margin: 0 0 12px;
  font-size: 23px;
  line-height: 1.35;
}

.research-title a {
  color: var(--text-900);
  text-decoration: none;
}

.research-title a:hover,
.research-title a:focus {
  color: var(--green-800);
  text-decoration: underline;
}

.research-meta-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 18px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}

.research-meta-list li {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  color: var(--text-700);
  font-size: 15px;
}

.research-meta-list strong {
  color: var(--green-900);
  font-weight: 900;
}

.research-summary {
  margin: 0 0 18px;
  color: var(--text-700);
  font-size: 15px;
}

/* 버튼 */
.research-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.research-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.research-action-btn.download {
  background: var(--green-800);
  border: 2px solid var(--green-800);
  color: #ffffff;
}

.research-action-btn.download::before {
  content: "⬇";
  margin-right: 6px;
}

.research-action-btn.view {
  background: #ffffff;
  border: 2px solid var(--green-700);
  color: var(--green-900);
}

.research-action-btn.view::before {
  content: "↗";
  margin-right: 6px;
}

.research-action-btn:hover,
.research-action-btn:focus {
  opacity: 0.9;
}

/* 등록일 */
.research-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--text-500);
  font-size: 13px;
  font-weight: 700;
}

.research-empty {
  padding: 42px 20px;
  border-top: 1px solid var(--border);
  color: var(--text-700);
  text-align: center;
  font-weight: 800;
}

/* 모바일 */
@media (max-width: 760px) {
  .research-list-top {
    align-items: flex-start;
    flex-direction: column;
  }

  .research-nkis-item {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .research-thumb,
  .research-thumb img,
  .research-thumb-placeholder {
    width: 100%;
  }

  .research-thumb img,
  .research-thumb-placeholder {
    height: 220px;
  }

  .research-meta-list {
    grid-template-columns: 1fr;
  }

  .research-meta-list li {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .research-action-btn {
    width: 100%;
  }
}
/* =====================================================
   연구자료 상세페이지 디자인
   - 연구자료 카테고리 reports 글 상세화면 전용
===================================================== */

.research-single-wrap {
  max-width: 1040px;
  margin: 0 auto;
}

.research-detail-main {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 34px;
  margin-bottom: 30px;
  padding: 34px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background:
    linear-gradient(135deg, var(--green-50), var(--white));
  box-shadow: 0 10px 24px rgba(17, 75, 47, 0.08);
}

.research-cover-placeholder {
  width: 210px;
  height: 278px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background:
    linear-gradient(135deg, var(--green-100), var(--white));
  color: var(--green-900);
  text-align: center;
}

.research-cover-placeholder span {
  font-size: 32px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.research-cover-placeholder small {
  color: var(--text-700);
  font-size: 13px;
  font-weight: 800;
}

.research-cover-image img {
  display: block;
  width: 210px;
  height: 278px;
  object-fit: cover;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--green-50);
}

.research-detail-title h2 {
  margin: 0 0 14px;
  color: var(--green-900);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: -0.04em;
}

.research-detail-title p {
  margin: 0 0 22px;
  color: var(--text-700);
}

.research-meta-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.research-meta-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  background: var(--white);
  border: 1px solid var(--border);
  color: var(--text-700);
  font-size: 14px;
  font-weight: 800;
}

.research-meta-chip strong {
  margin-right: 6px;
  color: var(--green-900);
}

.research-download-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}

.research-download-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.research-download-btn.primary {
  background: var(--green-800);
  border: 2px solid var(--green-800);
  color: #ffffff;
}

.research-download-btn.primary::before {
  content: "⬇";
  margin-right: 6px;
}

.research-download-btn.secondary {
  background: #ffffff;
  border: 2px solid var(--green-700);
  color: var(--green-900);
}

.research-download-btn.secondary::before {
  content: "↗";
  margin-right: 6px;
}

.research-download-btn:hover,
.research-download-btn:focus {
  opacity: 0.9;
}

.research-single-content {
  margin-bottom: 30px;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
}

.research-single-content h3 {
  margin: 0 0 16px;
  color: var(--green-900);
  font-size: 24px;
  font-weight: 900;
}

.research-content-grid {
  display: grid;
  gap: 22px;
}

.research-content-section {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--green-50);
}

.research-content-section h4 {
  margin: 0 0 14px;
  color: var(--green-900);
  font-size: 21px;
  font-weight: 900;
}

.research-content-section h4::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--green-700);
  vertical-align: middle;
}

.research-content-body {
  color: var(--text-900);
  font-size: 17px;
  line-height: 1.85;
}

.research-content-body p {
  margin: 0 0 18px;
}

.research-content-body ul {
  margin: 0 0 20px;
  padding-left: 22px;
  color: var(--text-700);
}

.research-single-footer {
  display: flex;
  justify-content: center;
  padding-top: 10px;
}

/* 모바일 */
@media (max-width: 760px) {
  .research-detail-main {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .research-cover-placeholder,
  .research-cover-image img {
    width: 100%;
    height: 220px;
  }

  .research-download-btn {
    width: 100%;
  }
}
/* =====================================================
   연구자료 상세페이지 디자인
   - 연구자료 카테고리 reports 글 상세화면 전용
===================================================== */

.research-single-wrap {
  max-width: 1040px;
  margin: 0 auto;
}

.research-detail-main {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 34px;
  margin-bottom: 30px;
  padding: 34px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background:
    linear-gradient(135deg, var(--green-50), var(--white));
  box-shadow: 0 10px 24px rgba(17, 75, 47, 0.08);
}

.research-cover-placeholder {
  width: 210px;
  height: 278px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background:
    linear-gradient(135deg, var(--green-100), var(--white));
  color: var(--green-900);
  text-align: center;
}

.research-cover-placeholder span {
  font-size: 32px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.research-cover-placeholder small {
  color: var(--text-700);
  font-size: 13px;
  font-weight: 800;
}

.research-cover-image img {
  display: block;
  width: 210px;
  height: 278px;
  object-fit: cover;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--green-50);
}

.research-detail-title h2 {
  margin: 0 0 14px;
  color: var(--green-900);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: -0.04em;
}

.research-detail-title p {
  margin: 0 0 22px;
  color: var(--text-700);
}

.research-meta-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.research-meta-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  background: var(--white);
  border: 1px solid var(--border);
  color: var(--text-700);
  font-size: 14px;
  font-weight: 800;
}

.research-meta-chip strong {
  margin-right: 6px;
  color: var(--green-900);
}

.research-download-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}

.research-download-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.research-download-btn.primary {
  background: var(--green-800);
  border: 2px solid var(--green-800);
  color: #ffffff;
}

.research-download-btn.primary::before {
  content: "⬇";
  margin-right: 6px;
}

.research-download-btn.secondary {
  background: #ffffff;
  border: 2px solid var(--green-700);
  color: var(--green-900);
}

.research-download-btn.secondary::before {
  content: "↗";
  margin-right: 6px;
}

.research-download-btn:hover,
.research-download-btn:focus {
  opacity: 0.9;
}

.research-single-content {
  margin-bottom: 30px;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
}

.research-single-content h3 {
  margin: 0 0 16px;
  color: var(--green-900);
  font-size: 24px;
  font-weight: 900;
}

.research-content-grid {
  display: grid;
  gap: 22px;
}

.research-content-section {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--green-50);
}

.research-content-section h4 {
  margin: 0 0 14px;
  color: var(--green-900);
  font-size: 21px;
  font-weight: 900;
}

.research-content-section h4::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--green-700);
  vertical-align: middle;
}

.research-content-body {
  color: var(--text-900);
  font-size: 17px;
  line-height: 1.85;
}

.research-content-body p {
  margin: 0 0 18px;
}

.research-content-body ul {
  margin: 0 0 20px;
  padding-left: 22px;
  color: var(--text-700);
}

.research-single-footer {
  display: flex;
  justify-content: center;
  padding-top: 10px;
}

/* 모바일 */
@media (max-width: 760px) {
  .research-detail-main {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .research-cover-placeholder,
  .research-cover-image img {
    width: 100%;
    height: 220px;
  }

  .research-download-btn {
    width: 100%;
  }
}
/* =====================================================
   연구자료 목록 정렬 보정
   - 표지 이미지와 제목이 같은 높이에서 시작되도록 조정
===================================================== */

.research-nkis-item {
  align-items: start;
}

.research-info {
  padding-top: 0;
  margin-top: 0;
}

.research-title {
  margin-top: 0;
}

.research-thumb,
.research-thumb a,
.research-thumb img {
  vertical-align: top;
}
/* =====================================================
   연구자료 목록: 표지 이미지와 제목 상단 정렬 강제 보정
   - 왼쪽 표지의 위쪽과 오른쪽 제목의 위쪽을 같은 높이로 맞춥니다.
===================================================== */

.research-nkis-item {
  align-items: flex-start !important;
}

.research-thumb {
  align-self: start !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.research-thumb a,
.research-thumb img,
.research-thumb-default-image,
.research-thumb-default-image img {
  display: block !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.research-info {
  align-self: start !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 제목 위쪽 여백 제거 */
.research-info .research-title,
.research-title {
  margin-top: 0 !important;
  padding-top: 0 !important;
  line-height: 1.35;
}

/* 제목 안의 링크도 위 여백 제거 */
.research-title a {
  display: inline-block;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* =====================================================
   상단 이미지 로고
   - AI 파일에서 변환한 PNG 로고를 상단에 표시합니다.
===================================================== */

.image-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.image-logo img {
  display: block;
  width: auto;
  height: 52px;
  max-width: 320px;
  object-fit: contain;
}

/* 모바일 로고 크기 조정 */
@media (max-width: 760px) {
  .image-logo img {
    height: 44px;
    max-width: 240px;
  }
}
/* =====================================================
   연구자료 목록 모바일 이미지 크기 보정 - 추천 버전
   - 너무 커지지 않게 가운데 정렬
===================================================== */

@media (max-width: 760px) {
  .research-nkis-item {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .research-thumb {
    width: 100% !important;
    max-width: 260px !important;
    margin: 0 auto 6px !important;
  }

  .research-thumb a,
  .research-thumb-default-image {
    display: block !important;
    width: 100% !important;
  }

  .research-thumb img,
  .research-thumb-default-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 260px !important;
    object-fit: contain !important;
    border-radius: 14px !important;
  }
}

/* =====================================================
   KRIED 전체 디자인 최종 보정
   - 시안 기준 적용
   - 파랑 중심 + 녹색 포인트 + 회색 안정감
   - PC / 태블릿 / 휴대폰 반응형 포함
===================================================== */


/* =====================================================
   전체 기본
===================================================== */

body {
  background: linear-gradient(180deg, #ffffff 0%, var(--primary-50) 100%);
  color: var(--text-900);
}


/* =====================================================
   상단 헤더 / 로고 / 메뉴
===================================================== */

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid rgba(223, 231, 238, 0.9);
  box-shadow: 0 10px 30px rgba(15, 47, 95, 0.06);
  backdrop-filter: blur(14px);
}

.header-inner {
  min-height: 78px;
}

/* 이미지 로고 */
.image-logo,
.site-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.image-logo img,
.site-logo img {
  display: block;
  width: auto;
  height: 52px;
  max-width: 340px;
  object-fit: contain;
}

/* 상단 메뉴 */
.site-nav a,
.site-nav span {
  color: var(--gray-700);
  border-radius: 999px;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.site-nav a:hover,
.site-nav a:focus,
.site-nav span:hover,
.site-nav .current-menu-item > a,
.site-nav .current_page_item > a {
  background: linear-gradient(135deg, var(--primary-100), #ffffff);
  color: var(--primary-900);
  box-shadow: inset 0 0 0 1px rgba(29, 79, 134, 0.08);
  transform: translateY(-1px);
}

/* 하위메뉴 */
.site-nav .sub-menu {
  border: 1px solid var(--border);
  background: var(--white);
  box-shadow: var(--shadow);
}


/* =====================================================
   메인 첫 화면 Hero
===================================================== */

.hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 12%, rgba(72, 168, 120, 0.16), transparent 32%),
    radial-gradient(circle at 88% 14%, rgba(45, 111, 159, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, var(--primary-50) 48%, var(--green-50) 100%);
}

.hero::after {
  content: "";
  position: absolute;
  right: -140px;
  bottom: -170px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: linear-gradient(
    135deg,
    rgba(29, 79, 134, 0.10),
    rgba(72, 168, 120, 0.10)
  );
  pointer-events: none;
}

.hero .container,
.hero-grid {
  position: relative;
  z-index: 1;
}

.hero-kicker {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 7px 14px;
  border: 1px solid rgba(72, 168, 120, 0.24);
  border-radius: 999px;
  background: rgba(237, 247, 242, 0.95);
  color: var(--green-900);
  font-weight: 900;
  box-shadow: 0 6px 16px rgba(30, 111, 74, 0.06);
}

.hero h1 {
  color: var(--primary-900);
  letter-spacing: -0.055em;
}

.hero p {
  color: var(--text-700);
}


/* =====================================================
   버튼
===================================================== */

.btn-primary {
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  border: 2px solid transparent;
  color: var(--white);
  box-shadow: 0 12px 24px rgba(15, 47, 95, 0.18);
}

.btn-primary:hover,
.btn-primary:focus {
  opacity: 0.95;
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.9);
  border: 2px solid rgba(29, 79, 134, 0.55);
  color: var(--primary-900);
  box-shadow: 0 8px 18px rgba(15, 47, 95, 0.06);
}

.btn-secondary:hover,
.btn-secondary:focus {
  background: var(--primary-100);
  color: var(--primary-900);
}


/* =====================================================
   카드 / 박스 공통
===================================================== */

.hero-card,
.business-card,
.report-card,
.notice-item,
.contact-box,
.single-post-wrap,
.research-board-header,
.research-detail-main,
.research-single-content,
.preview-card {
  border: 1px solid rgba(223, 231, 238, 0.95);
  background: rgba(255, 255, 255, 0.94);
  border-radius: 24px;
  box-shadow: var(--shadow);
}

.business-card,
.report-card,
.notice-item,
.preview-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.business-card:hover,
.report-card:hover,
.notice-item:hover,
.preview-card:hover {
  transform: translateY(-4px);
  border-color: rgba(45, 111, 159, 0.28);
  box-shadow: 0 22px 44px rgba(15, 47, 95, 0.12);
}


/* =====================================================
   제목 / 텍스트
===================================================== */

.section-header h2,
.page-content h2,
.page-content h3,
.business-card h3,
.report-card h3,
.contact-box h3,
.notice-title,
.single-post-title,
.research-title,
.research-detail-title h2,
.research-board-header h2,
.research-single-content h3 {
  color: var(--primary-900);
}

.section-header p,
.page-content p,
.business-card p,
.report-card p,
.contact-box p {
  color: var(--text-700);
}


/* =====================================================
   아이콘 / 태그 / 포인트
===================================================== */

.business-icon,
.tag,
.research-board-kicker,
.single-post-category a,
.member-position,
.profile-role {
  background: linear-gradient(135deg, var(--green-100), #ffffff);
  color: var(--green-900);
  border: 1px solid rgba(72, 168, 120, 0.22);
}


/* =====================================================
   더보기 링크
===================================================== */

.more-link {
  border: 2px solid var(--primary-800);
  color: var(--primary-900);
}

.more-link:hover,
.more-link:focus {
  background: var(--primary-100);
  color: var(--primary-900);
}


/* =====================================================
   페이지 상단 배너
===================================================== */

.page-hero {
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.18), transparent 34%),
    linear-gradient(135deg, var(--primary-900), var(--primary-800));
  color: var(--white);
}

.page-hero h1 {
  color: var(--white);
}


/* =====================================================
   공지사항 게시판
===================================================== */

.board-list {
  overflow: hidden;
  border-top: 2px solid var(--primary-900);
  border-radius: 0 0 20px 20px;
  background: var(--white);
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.06);
}

.board-head {
  background: linear-gradient(135deg, var(--primary-50), #ffffff);
  color: var(--primary-900);
}

.board-title a {
  color: var(--text-900);
}

.board-title a:hover,
.board-title a:focus {
  color: var(--primary-800);
}

.board-pagination .current,
.board-pagination a:hover,
.board-pagination a:focus {
  background: var(--primary-900);
  border-color: var(--primary-900);
  color: var(--white);
}


/* =====================================================
   연구자료 목록
===================================================== */

.research-board-header {
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.10), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
}

.research-list-top {
  border-top: 2px solid var(--primary-900);
  border-bottom: 1px solid var(--border);
  background: linear-gradient(135deg, var(--primary-50), #ffffff);
  color: var(--primary-900);
}

.research-list-title,
.research-count {
  color: var(--primary-900);
}

.research-nkis-item {
  align-items: flex-start !important;
}

.research-title {
  margin-top: 0 !important;
  color: var(--text-900);
}

.research-title a {
  color: var(--text-900);
}

.research-title a:hover,
.research-title a:focus {
  color: var(--primary-800);
}

.research-meta-list strong {
  color: var(--primary-900);
}

/* 연구자료 버튼 */
.research-action-btn.download {
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  border: 2px solid transparent;
  color: var(--white);
  box-shadow: 0 8px 18px rgba(15, 47, 95, 0.16);
}

.research-action-btn.view {
  background: var(--white);
  border: 2px solid rgba(45, 138, 91, 0.72);
  color: var(--primary-900);
}

.research-action-btn.view:hover,
.research-action-btn.view:focus {
  background: var(--green-50);
}

/* 연구자료 표지 이미지 */
.research-thumb img,
.research-thumb-default-image img,
.research-cover-image img {
  border: 1px solid rgba(223, 231, 238, 0.95);
  box-shadow: 0 14px 26px rgba(15, 47, 95, 0.14);
}


/* =====================================================
   연구자료 상세페이지
===================================================== */

.research-detail-main {
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.10), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
}

.research-detail-title h2 {
  color: var(--primary-900);
}

.research-meta-chip {
  background: var(--white);
  border: 1px solid var(--border);
  color: var(--text-700);
}

.research-meta-chip strong {
  color: var(--primary-900);
}

.research-download-btn.primary {
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  border: 2px solid transparent;
  color: var(--white);
}

.research-download-btn.secondary {
  background: var(--white);
  border: 2px solid rgba(45, 138, 91, 0.72);
  color: var(--primary-900);
}

.research-content-section {
  background: linear-gradient(135deg, var(--gray-50), #ffffff);
  border: 1px solid var(--border);
}

.research-content-section h4,
.research-single-content h3 {
  color: var(--primary-900);
}

.research-content-section h4::before {
  background: var(--green-700);
}


/* =====================================================
   구성원 / 조직도 / 기타 페이지
===================================================== */

.location-info-box,
.members-intro,
.profile-page-intro,
.org-intro {
  background: var(--gray-50);
  border-color: var(--border);
}

.location-info-box h2,
.members-intro h2,
.profile-page-intro h2,
.org-intro h2,
.member-section h2,
.profile-team-section > h3,
.profile-summary h3,
.profile-info-section h4 {
  color: var(--primary-900);
}

.member-section h2,
.profile-team-section > h3 {
  border-left-color: var(--green-700);
}

.org-president,
.org-division-title {
  background: var(--primary-900);
  border-color: var(--primary-900);
  color: var(--white);
}

.org-vice {
  background: var(--primary-100);
  color: var(--primary-900);
}

.org-sub {
  background: var(--green-50);
  color: var(--green-900);
}


/* =====================================================
   푸터
===================================================== */

.site-footer {
  background:
    radial-gradient(circle at top left, rgba(72, 168, 120, 0.14), transparent 32%),
    linear-gradient(135deg, var(--primary-900), #102842);
  color: rgba(255, 255, 255, 0.88);
}

.site-footer a {
  color: var(--white);
}

.footer-title {
  color: var(--white);
}


/* =====================================================
   모바일 / 태블릿 반응형 보정
===================================================== */

@media (max-width: 900px) {
  .site-header {
    position: relative;
  }

  .image-logo img,
  .site-logo img {
    height: 44px;
    max-width: 240px;
  }

  .menu-toggle {
    background: var(--white);
    color: var(--primary-900);
    border-color: var(--border);
  }

  .menu-toggle:hover,
  .menu-toggle:focus {
    background: var(--primary-100);
  }

  .site-nav {
    background: var(--white);
    border-color: var(--border);
    box-shadow: var(--shadow);
  }

  .site-nav a {
    color: var(--text-900);
  }

  .site-nav a:hover,
  .site-nav a:focus {
    background: var(--primary-100);
    color: var(--primary-900);
  }
}


@media (max-width: 760px) {
  .hero {
    padding-top: 64px;
    padding-bottom: 56px;
  }

  .hero h1 {
    font-size: clamp(34px, 11vw, 48px);
  }

  .hero p {
    font-size: 16px;
  }

  .btn {
    width: 100%;
  }

  .section {
    padding-top: 46px;
    padding-bottom: 46px;
  }

  .section-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .card-grid {
    grid-template-columns: 1fr !important;
  }

  .board-head {
    display: none;
  }

  .board-row {
    grid-template-columns: 1fr !important;
    gap: 8px;
  }

  .research-nkis-item {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .research-thumb {
    width: 100% !important;
    max-width: 260px !important;
    margin: 0 auto 6px !important;
  }

  .research-thumb img,
  .research-thumb-default-image img {
    width: 100% !important;
    max-width: 260px !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 14px !important;
  }

  .research-meta-list {
    grid-template-columns: 1fr !important;
  }

  .research-actions {
    flex-direction: column;
  }

  .research-action-btn {
    width: 100%;
  }

  .research-detail-main {
    grid-template-columns: 1fr !important;
    padding: 24px;
  }

  .research-cover-image img {
    width: 100% !important;
    max-width: 280px !important;
    height: auto !important;
    margin: 0 auto;
    object-fit: contain !important;
  }
}
/* =====================================================
   첫 화면 더보기 링크 디자인 수정
   - 사각형 버튼 느낌 제거
   - 텍스트 링크 + 화살표 느낌으로 변경
===================================================== */

.more-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: auto;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  color: var(--primary-900);
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: none !important;
}

.more-link::after {
  content: "→";
  font-size: 15px;
  color: var(--green-800);
  transition: transform 0.2s ease;
}

.more-link:hover,
.more-link:focus {
  background: transparent !important;
  color: var(--primary-800);
  text-decoration: underline;
}

.more-link:hover::after,
.more-link:focus::after {
  transform: translateX(3px);
}
/* =====================================================
   원장 소개 페이지
   - 인사말 + 약력 + 주요 연구분야 + 주요 연구실적
   - PC / 태블릿 / 휴대폰 반응형 포함
===================================================== */

.president-page {
  max-width: 1040px;
  margin: 0 auto;
}

/* 상단 소개 박스 */
.president-hero-box {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  margin-bottom: 28px;
  padding: 34px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.10), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: var(--shadow);
}

.president-photo-wrap {
  width: 260px;
}

.president-photo-wrap img {
  display: block;
  width: 260px;
  height: 320px;
  object-fit: cover;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--gray-50);
  box-shadow: 0 12px 28px rgba(15, 47, 95, 0.10);
}

/* 사진 없을 때 */
.president-photo-placeholder {
  width: 260px;
  height: 320px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(15, 47, 95, 0.96), rgba(45, 138, 91, 0.78)),
    linear-gradient(135deg, var(--primary-100), var(--white));
  color: var(--white);
  text-align: center;
  box-shadow: 0 12px 28px rgba(15, 47, 95, 0.12);
}

.president-photo-placeholder span {
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.president-photo-placeholder small {
  font-size: 14px;
  font-weight: 800;
  opacity: 0.9;
}

.president-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 6px 13px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.president-hero-text h2 {
  margin: 0 0 16px;
  color: var(--primary-900);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.3;
  letter-spacing: -0.05em;
}

.president-hero-text p {
  margin: 0 0 22px;
  color: var(--text-700);
  font-size: 17px;
}

.president-sign {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.president-sign strong {
  color: var(--primary-900);
  font-weight: 900;
}

.president-sign span {
  color: var(--green-900);
  font-size: 22px;
  font-weight: 900;
}

/* 탭 */
.president-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 30px;
}

.president-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 2px solid var(--primary-800);
  border-radius: 999px;
  background: var(--white);
  color: var(--primary-900);
  font-weight: 900;
  text-decoration: none;
}

.president-tabs a:hover,
.president-tabs a:focus {
  background: var(--primary-100);
}

/* 공통 섹션 */
.president-section {
  margin-bottom: 30px;
  padding: 30px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.06);
}

.president-section-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.president-section-header span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  color: var(--white);
  font-weight: 900;
}

.president-section-header h3 {
  margin: 0;
  color: var(--primary-900);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

/* 인사말 */
.president-message-content {
  color: var(--text-700);
  font-size: 17px;
  line-height: 1.9;
}

.president-message-content p {
  margin: 0 0 18px;
}

.president-message-content p:first-child {
  color: var(--primary-900);
  font-size: 20px;
  font-weight: 900;
}

/* 약력 */
.president-profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.president-profile-card {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background:
    linear-gradient(135deg, var(--gray-50), #ffffff);
}

.president-profile-card h4 {
  margin: 0 0 14px;
  color: var(--primary-900);
  font-size: 21px;
  font-weight: 900;
}

.president-profile-card h4::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--green-700);
  vertical-align: middle;
}

.president-profile-card ul {
  margin: 0;
  padding-left: 20px;
  color: var(--text-700);
}

.president-profile-card li + li {
  margin-top: 9px;
}

/* 연구분야 태그 */
.president-field-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.president-field-list span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-weight: 900;
}

/* 주요 연구실적 */
.president-work-list {
  display: grid;
  gap: 14px;
}

.president-work-list article {
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: linear-gradient(135deg, var(--gray-50), #ffffff);
}

.president-work-list h4 {
  margin: 0 0 6px;
  color: var(--primary-900);
  font-size: 18px;
  font-weight: 900;
}

.president-work-list p {
  margin: 0;
  color: var(--text-700);
  font-size: 15px;
}

/* 저서 */
.president-book-list ul {
  margin: 0;
  padding-left: 22px;
  color: var(--text-700);
}

.president-book-list li + li {
  margin-top: 9px;
}

/* 태블릿 */
@media (max-width: 900px) {
  .president-hero-box {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 26px;
  }

  .president-photo-wrap,
  .president-photo-wrap img,
  .president-photo-placeholder {
    width: 220px;
  }

  .president-photo-wrap img,
  .president-photo-placeholder {
    height: 280px;
  }

  .president-profile-grid {
    grid-template-columns: 1fr;
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .president-hero-box {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .president-photo-wrap {
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
  }

  .president-photo-wrap img,
  .president-photo-placeholder {
    width: 100%;
    height: 300px;
  }

  .president-hero-text h2 {
    font-size: 28px;
  }

  .president-hero-text p {
    font-size: 16px;
  }

  .president-tabs {
    flex-direction: column;
  }

  .president-tabs a {
    width: 100%;
  }

  .president-section {
    padding: 22px;
  }

  .president-section-header h3 {
    font-size: 24px;
  }

  .president-message-content {
    font-size: 16px;
  }
}
/* =====================================================
   연구원들 페이지 - 사진 없는 최종 카드 디자인
===================================================== */

.members-page {
  max-width: 1040px;
  margin: 0 auto;
}

.member-section {
  margin-bottom: 44px;
}

.member-section h2 {
  margin: 0 0 18px;
  padding-left: 14px;
  border-left: 5px solid var(--green-700);
  color: var(--primary-900);
  font-size: 28px;
  font-weight: 900;
}

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

.member-card.no-photo {
  display: block;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.08), transparent 32%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.07);
}

.member-card-content {
  width: 100%;
}

.member-card h3 {
  margin: 0 0 8px;
  color: var(--primary-900);
  font-size: 24px;
  font-weight: 900;
}

.member-position {
  display: inline-flex;
  margin: 0 0 16px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 14px;
  font-weight: 900;
}

.member-field {
  margin: 0 0 18px;
  color: var(--text-700);
  line-height: 1.8;
}

.member-field strong {
  display: block;
  margin-bottom: 4px;
  color: var(--primary-900);
}

.member-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.member-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.member-actions a:first-child {
  background: var(--white);
  border: 2px solid var(--green-800);
  color: var(--primary-900);
}

.member-actions a:last-child {
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  border: 2px solid transparent;
  color: var(--white);
}

/* 휴대폰 */
@media (max-width: 760px) {
  .member-grid {
    grid-template-columns: 1fr;
  }

  .member-card.no-photo {
    padding: 22px;
  }

  .member-actions {
    flex-direction: column;
  }

  .member-actions a {
    width: 100%;
  }
}

/* =====================================================
   연구원들 페이지 - 사진 없는 카드형 디자인
   - PC 2열 / 모바일 1열 반응형
===================================================== */

.members-page/* =====================================================
   연구원들 페이지 - 화면 폭 넓게 사용
===================================================== */

.members-page.no-photo-members {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

/* 연구원들 페이지 내부 여백 */
.no-photo-members .members-intro,
.no-photo-members .member-section {
  width: 100%;
}

/* 카드 목록을 화면에 맞게 넓게 사용 */
.no-photo-members .member-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

/* 카드도 한쪽으로 쏠리지 않게 전체 폭 사용 */
.no-photo-members .member-card.no-photo {
  width: 100%;
}

/* 큰 화면에서는 2열 유지 */
@media (min-width: 1000px) {
  .no-photo-members .member-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 태블릿과 휴대폰에서는 1열 */
@media (max-width: 900px) {
  .no-photo-members .member-grid {
    grid-template-columns: 1fr;
  }
}

/* 상단 소개 박스 */
.no-photo-members .members-intro {
  margin-bottom: 34px;
  padding: 34px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.10), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: var(--shadow);
}

.no-photo-members .members-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 6px 13px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.no-photo-members .members-intro h2 {
  margin: 0 0 10px;
  color: var(--primary-900);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 900;
  letter-spacing: -0.05em;
}

.no-photo-members .members-intro p {
  margin: 0;
  color: var(--text-700);
  font-size: 17px;
}

/* 섹션 */
.no-photo-members .member-section {
  margin-bottom: 44px;
}

.no-photo-members .member-section > h2 {
  margin: 0 0 18px;
  padding-left: 14px;
  border-left: 5px solid var(--green-700);
  color: var(--primary-900);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

/* 카드 목록 */
.no-photo-members .member-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

/* 사진 없는 카드 */
.no-photo-members .member-card.no-photo {
  display: block !important;
  width: 100%;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.08), transparent 32%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.07);
}

.no-photo-members .member-card-content {
  width: 100%;
  max-width: 100%;
}

.no-photo-members .member-card h3 {
  margin: 0 0 8px;
  color: var(--primary-900);
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.no-photo-members .member-position {
  display: inline-flex;
  margin: 0 0 18px;
  padding: 5px 12px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 14px;
  font-weight: 900;
}

/* 전문분야 */
.no-photo-members .member-field {
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--white);
  color: var(--text-700);
  line-height: 1.8;
}

.no-photo-members .member-field strong {
  display: block;
  margin-bottom: 4px;
  color: var(--primary-900);
  font-weight: 900;
}

/* 상세소개 / 주요 연구분야 */
.no-photo-members .member-detail-box {
  margin-top: 16px;
}

.no-photo-members .member-detail-box h4 {
  margin: 0 0 8px;
  color: var(--primary-900);
  font-size: 18px;
  font-weight: 900;
}

.no-photo-members .member-detail-box h4::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--green-700);
  vertical-align: middle;
}

.no-photo-members .member-detail-box p {
  margin: 0;
  color: var(--text-700);
}

.no-photo-members .member-detail-box ul {
  margin: 0;
  padding-left: 20px;
  color: var(--text-700);
}

.no-photo-members .member-detail-box li + li {
  margin-top: 6px;
}

/* 버튼 */
.no-photo-members .member-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.no-photo-members .member-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.no-photo-members .member-actions a:first-child {
  background: var(--white);
  border: 2px solid rgba(45, 138, 91, 0.72);
  color: var(--primary-900);
}

.no-photo-members .member-actions a:last-child {
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  border: 2px solid transparent;
  color: var(--white);
}

/* 태블릿 */
@media (max-width: 900px) {
  .no-photo-members .member-grid {
    grid-template-columns: 1fr;
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .no-photo-members .members-intro {
    padding: 24px;
  }

  .no-photo-members .members-intro h2 {
    font-size: 28px;
  }

  .no-photo-members .members-intro p {
    font-size: 16px;
  }

  .no-photo-members .member-section > h2 {
    font-size: 24px;
  }

  .no-photo-members .member-card.no-photo {
    padding: 22px;
  }

  .no-photo-members .member-card h3 {
    font-size: 24px;
  }

  .no-photo-members .member-actions {
    flex-direction: column;
  }

  .no-photo-members .member-actions a {
    width: 100%;
  }
}
/* =====================================================
   연구원들 페이지 - 전체 화면 폭에 맞게 보정
===================================================== */

.members-page.no-photo-members {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.no-photo-members .members-intro,
.no-photo-members .member-section {
  width: 100%;
}

.no-photo-members .member-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.no-photo-members .member-card.no-photo {
  width: 100%;
}

/* 태블릿 */
@media (max-width: 900px) {
  .members-page.no-photo-members {
    max-width: 100%;
  }

  .no-photo-members .member-grid {
    grid-template-columns: 1fr;
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .no-photo-members .member-grid {
    gap: 18px;
  }
}
/* =====================================================
   연구원들 페이지 - 사진 없는 전체폭 카드형 최종 보정
===================================================== */

.members-page.no-photo-members {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.no-photo-members .members-intro {
  width: 100%;
  margin-bottom: 34px;
  padding: 34px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.10), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: var(--shadow);
}

.no-photo-members .members-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 6px 13px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.no-photo-members .members-intro h2 {
  margin: 0 0 10px;
  color: var(--primary-900);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 900;
  letter-spacing: -0.05em;
}

.no-photo-members .members-intro p {
  margin: 0;
  color: var(--text-700);
  font-size: 17px;
}

.no-photo-members .member-section {
  width: 100%;
  margin-bottom: 44px;
}

.no-photo-members .member-section > h2 {
  margin: 0 0 18px;
  padding-left: 14px;
  border-left: 5px solid var(--green-700);
  color: var(--primary-900);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.no-photo-members .member-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.no-photo-members .member-card.no-photo {
  display: block !important;
  width: 100%;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.08), transparent 32%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.07);
}

.no-photo-members .member-card h3 {
  margin: 0 0 8px;
  color: var(--primary-900);
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.no-photo-members .member-position {
  display: inline-flex;
  margin: 0 0 18px;
  padding: 5px 12px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 14px;
  font-weight: 900;
}

.no-photo-members .member-field {
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--white);
  color: var(--text-700);
  line-height: 1.8;
}

.no-photo-members .member-field strong {
  display: block;
  margin-bottom: 4px;
  color: var(--primary-900);
  font-weight: 900;
}

.no-photo-members .member-detail-box {
  margin-top: 16px;
}

.no-photo-members .member-detail-box h4 {
  margin: 0 0 8px;
  color: var(--primary-900);
  font-size: 18px;
  font-weight: 900;
}

.no-photo-members .member-detail-box h4::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--green-700);
  vertical-align: middle;
}

.no-photo-members .member-detail-box p {
  margin: 0;
  color: var(--text-700);
}

.no-photo-members .member-detail-box ul {
  margin: 0;
  padding-left: 20px;
  color: var(--text-700);
}

.no-photo-members .member-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.no-photo-members .member-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.no-photo-members .member-actions a:first-child {
  background: var(--white);
  border: 2px solid rgba(45, 138, 91, 0.72);
  color: var(--primary-900);
}

.no-photo-members .member-actions a:last-child {
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  border: 2px solid transparent;
  color: var(--white);
}

@media (max-width: 900px) {
  .no-photo-members .member-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .no-photo-members .members-intro {
    padding: 24px;
  }

  .no-photo-members .members-intro h2 {
    font-size: 28px;
  }

  .no-photo-members .members-intro p {
    font-size: 16px;
  }

  .no-photo-members .member-section > h2 {
    font-size: 24px;
  }

  .no-photo-members .member-card.no-photo {
    padding: 22px;
  }

  .no-photo-members .member-card h3 {
    font-size: 24px;
  }

  .no-photo-members .member-actions {
    flex-direction: column;
  }

  .no-photo-members .member-actions a {
    width: 100%;
  }
}
/* =====================================================
   연구원들 페이지 - 사진 있는 카드형
   - 새 PHP 없이 페이지 본문 + CSS만 사용
   - PC / 태블릿 / 휴대폰 반응형
===================================================== */

.members-page-photo {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.members-page-photo .members-intro {
  margin-bottom: 34px;
  padding: 34px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.10), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: var(--shadow);
}

.members-page-photo .members-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 6px 13px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.members-page-photo .members-intro h2 {
  margin: 0 0 10px;
  color: var(--primary-900);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 900;
  letter-spacing: -0.05em;
}

.members-page-photo .members-intro p {
  margin: 0;
  color: var(--text-700);
  font-size: 17px;
}

.members-page-photo .member-section {
  margin-bottom: 44px;
}

.members-page-photo .member-section > h2 {
  margin: 0 0 18px;
  padding-left: 14px;
  border-left: 5px solid var(--green-700);
  color: var(--primary-900);
  font-size: 28px;
  font-weight: 900;
}

.members-page-photo .member-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.members-page-photo .member-card {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  width: 100%;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.08), transparent 32%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.07);
}

.members-page-photo .member-photo {
  width: 220px;
}

.members-page-photo .member-photo img {
  display: block;
  width: 220px;
  height: 280px;
  object-fit: cover;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--gray-50);
  box-shadow: 0 12px 28px rgba(15, 47, 95, 0.10);
}

.members-page-photo .member-photo-placeholder {
  width: 220px;
  height: 280px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(15, 47, 95, 0.96), rgba(45, 138, 91, 0.78));
  color: var(--white);
  text-align: center;
  box-shadow: 0 12px 28px rgba(15, 47, 95, 0.12);
}

.members-page-photo .member-photo-placeholder span {
  font-size: 32px;
  font-weight: 900;
}

.members-page-photo .member-photo-placeholder small {
  font-size: 14px;
  font-weight: 800;
  opacity: 0.9;
}

.members-page-photo .member-info {
  min-width: 0;
}

.members-page-photo .member-info h3 {
  margin: 0 0 8px;
  color: var(--primary-900);
  font-size: 30px;
  font-weight: 900;
}

.members-page-photo .member-position {
  display: inline-flex;
  margin: 0 0 18px;
  padding: 5px 12px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 14px;
  font-weight: 900;
}

.members-page-photo .member-field {
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--white);
  color: var(--text-700);
  line-height: 1.8;
}

.members-page-photo .member-field strong {
  display: block;
  margin-bottom: 4px;
  color: var(--primary-900);
  font-weight: 900;
}

.members-page-photo .member-detail-box {
  margin-top: 16px;
}

.members-page-photo .member-detail-box h4 {
  margin: 0 0 8px;
  color: var(--primary-900);
  font-size: 18px;
  font-weight: 900;
}

.members-page-photo .member-detail-box h4::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--green-700);
  vertical-align: middle;
}

.members-page-photo .member-detail-box p {
  margin: 0;
  color: var(--text-700);
}

.members-page-photo .member-detail-box ul {
  margin: 0;
  padding-left: 20px;
  color: var(--text-700);
}

.members-page-photo .member-detail-box li + li {
  margin-top: 6px;
}

/* 태블릿 */
@media (max-width: 900px) {
  .members-page-photo .member-card {
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 24px;
  }

  .members-page-photo .member-photo,
  .members-page-photo .member-photo img,
  .members-page-photo .member-photo-placeholder {
    width: 180px;
  }

  .members-page-photo .member-photo img,
  .members-page-photo .member-photo-placeholder {
    height: 230px;
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .members-page-photo .members-intro {
    padding: 24px;
  }

  .members-page-photo .members-intro h2 {
    font-size: 28px;
  }

  .members-page-photo .members-intro p {
    font-size: 16px;
  }

  .members-page-photo .member-section > h2 {
    font-size: 24px;
  }

  .members-page-photo .member-card {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .members-page-photo .member-photo {
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
  }

  .members-page-photo .member-photo img,
  .members-page-photo .member-photo-placeholder {
    width: 100%;
    height: 300px;
  }

  .members-page-photo .member-info h3 {
    font-size: 26px;
  }
}
/* =====================================================
   연구원들 페이지 - 사진 없는 연구원 목록형 디자인
   - 참고 사이트처럼 텍스트 중심 목록 구성
   - 새 PHP 없이 페이지 본문 HTML + CSS만 사용
   - PC / 태블릿 / 휴대폰 반응형
===================================================== */

.kried-researcher-page {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

/* 상단 소개 */
.kried-researcher-page .researcher-intro {
  margin-bottom: 36px;
  padding: 34px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.10), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: var(--shadow);
}

.kried-researcher-page .researcher-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 6px 13px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.kried-researcher-page .researcher-intro h2 {
  margin: 0 0 10px;
  color: var(--primary-900);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 900;
  letter-spacing: -0.05em;
}

.kried-researcher-page .researcher-intro p {
  margin: 0;
  color: var(--text-700);
  font-size: 17px;
}

/* 직급 그룹 */
.kried-researcher-page .researcher-group {
  margin-bottom: 44px;
}

.kried-researcher-page .researcher-group > h3 {
  margin: 0 0 18px;
  padding-left: 14px;
  border-left: 5px solid var(--green-700);
  color: var(--primary-900);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

/* 연구원 목록 */
.kried-researcher-page .researcher-list {
  border-top: 2px solid var(--primary-900);
}

/* 개별 연구원 */
.kried-researcher-page .researcher-item {
  padding: 0;
  border-bottom: 1px solid var(--border);
  background: var(--white);
}

.kried-researcher-page .researcher-main {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 28px;
  padding: 28px 0;
  align-items: start;
}

/* 왼쪽 이름 영역 */
.kried-researcher-page .researcher-name-area {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 20px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.08), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: 0 10px 24px rgba(15, 47, 95, 0.06);
}

.kried-researcher-page .researcher-name-area h4 {
  margin: 0 0 8px;
  color: var(--primary-900);
  font-size: 30px;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.kried-researcher-page .researcher-name-area span {
  display: inline-flex;
  padding: 5px 12px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 14px;
  font-weight: 900;
}

/* 오른쪽 정보 영역 */
.kried-researcher-page .researcher-info-area {
  min-width: 0;
}

.kried-researcher-page .researcher-info-area dl {
  margin: 0;
  border-top: 1px solid var(--border);
}

.kried-researcher-page .researcher-info-area dl > div {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  border-bottom: 1px solid var(--border);
}

.kried-researcher-page .researcher-info-area dt {
  margin: 0;
  padding: 16px 18px;
  background: var(--primary-50);
  color: var(--primary-900);
  font-weight: 900;
}

.kried-researcher-page .researcher-info-area dd {
  margin: 0;
  padding: 16px 18px;
  color: var(--text-700);
  line-height: 1.8;
}

/* 마우스 hover */
.kried-researcher-page .researcher-item:hover .researcher-name-area {
  border-color: rgba(45, 111, 159, 0.28);
  box-shadow: 0 16px 34px rgba(15, 47, 95, 0.10);
}

/* 태블릿 */
@media (max-width: 900px) {
  .kried-researcher-page .researcher-main {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 22px;
  }

  .kried-researcher-page .researcher-name-area h4 {
    font-size: 26px;
  }

  .kried-researcher-page .researcher-info-area dl > div {
    grid-template-columns: 115px minmax(0, 1fr);
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .kried-researcher-page .researcher-intro {
    padding: 24px;
  }

  .kried-researcher-page .researcher-intro h2 {
    font-size: 28px;
  }

  .kried-researcher-page .researcher-intro p {
    font-size: 16px;
  }

  .kried-researcher-page .researcher-group > h3 {
    font-size: 24px;
  }

  .kried-researcher-page .researcher-main {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 24px 0;
  }

  .kried-researcher-page .researcher-name-area {
    padding: 22px;
  }

  .kried-researcher-page .researcher-name-area h4 {
    font-size: 26px;
  }

  .kried-researcher-page .researcher-info-area dl > div {
    grid-template-columns: 1fr;
  }

  .kried-researcher-page .researcher-info-area dt {
    padding: 13px 16px 6px;
    background: var(--white);
    color: var(--primary-900);
  }

  .kried-researcher-page .researcher-info-area dd {
    padding: 0 16px 14px;
  }
}
/* =====================================================
   오시는 길 페이지
   - 주소 / 지도 / 교통편 안내
   - PC / 태블릿 / 휴대폰 반응형
===================================================== */

.kried-location-page {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

/* 상단 소개 */
.kried-location-page .location-intro-box {
  margin-bottom: 34px;
  padding: 34px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.10), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: var(--shadow);
}

.kried-location-page .location-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 6px 13px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.kried-location-page .location-intro-box h2 {
  margin: 0 0 10px;
  color: var(--primary-900);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 900;
  letter-spacing: -0.05em;
}

.kried-location-page .location-intro-box p {
  margin: 0;
  color: var(--text-700);
  font-size: 17px;
}

/* 섹션 */
.kried-location-page .location-section {
  margin-bottom: 40px;
}

.kried-location-page .location-section-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.kried-location-page .location-section-header span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  color: var(--white);
  font-weight: 900;
}

.kried-location-page .location-section-header h3 {
  margin: 0;
  color: var(--primary-900);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

/* 주소 + 지도 */
.kried-location-page .location-address-card {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 24px;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.06);
}

.kried-location-page .location-address-info {
  padding: 24px;
  border-radius: 20px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.08), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  border: 1px solid var(--border);
}

.kried-location-page .location-address-info h4 {
  margin: 0 0 18px;
  color: var(--primary-900);
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.kried-location-page .location-address-info ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kried-location-page .location-address-info li {
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
  color: var(--text-700);
  line-height: 1.75;
}

.kried-location-page .location-address-info strong {
  display: block;
  margin-bottom: 4px;
  color: var(--primary-900);
  font-weight: 900;
}

/* 버튼 */
.kried-location-page .location-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.kried-location-page .location-buttons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 15px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.kried-location-page .location-buttons a:first-child {
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  border: 2px solid transparent;
  color: var(--white);
}

.kried-location-page .location-buttons a:last-child {
  background: var(--white);
  border: 2px solid rgba(45, 138, 91, 0.72);
  color: var(--primary-900);
}

/* 지도 */
.kried-location-page .location-map-box {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--gray-50);
}

.kried-location-page .location-map-box .root_daum_roughmap {
  width: 100% !important;
}

.kried-location-page .location-map-box iframe,
.kried-location-page .location-map-box img {
  max-width: 100%;
}

.kried-location-page .location-map-placeholder {
  min-height: 360px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  color: var(--text-700);
  text-align: center;
}

.kried-location-page .location-map-placeholder strong {
  color: var(--primary-900);
  font-size: 22px;
}

/* 교통편 */
.kried-location-page .location-traffic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.kried-location-page .traffic-card {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.08), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.06);
}

.kried-location-page .traffic-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 36px;
  margin-bottom: 14px;
  padding: 0 12px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.kried-location-page .traffic-card h4 {
  margin: 0 0 12px;
  color: var(--primary-900);
  font-size: 22px;
  font-weight: 900;
}

.kried-location-page .traffic-card ul {
  margin: 0;
  padding-left: 20px;
  color: var(--text-700);
}

.kried-location-page .traffic-card li + li {
  margin-top: 8px;
}

/* 태블릿 */
@media (max-width: 900px) {
  .kried-location-page .location-address-card {
    grid-template-columns: 1fr;
  }

  .kried-location-page .location-traffic-grid {
    grid-template-columns: 1fr;
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .kried-location-page .location-intro-box {
    padding: 24px;
  }

  .kried-location-page .location-intro-box h2 {
    font-size: 28px;
  }

  .kried-location-page .location-intro-box p {
    font-size: 16px;
  }

  .kried-location-page .location-section-header h3 {
    font-size: 24px;
  }

  .kried-location-page .location-address-card {
    padding: 20px;
  }

  .kried-location-page .location-address-info {
    padding: 20px;
  }

  .kried-location-page .location-buttons {
    flex-direction: column;
  }

  .kried-location-page .location-buttons a {
    width: 100%;
  }

  .kried-location-page .location-map-placeholder {
    min-height: 260px;
  }

  .kried-location-page .traffic-card {
    padding: 20px;
  }
}
/* =====================================================
   첫 화면 오시는 길 간단 안내
   - 상세 지도/교통편은 오시는 길 페이지로 연결
   - PC / 태블릿 / 휴대폰 반응형
===================================================== */

.home-location-simple {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
  gap: 22px;
  align-items: stretch;
}

.home-location-info,
.home-location-note {
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.08), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.06);
}

.home-location-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 6px 13px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.home-location-info h3,
.home-location-note h3 {
  margin: 0 0 16px;
  color: var(--primary-900);
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.home-location-info ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-location-info li {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
  color: var(--text-700);
}

.home-location-info li:first-child {
  border-top: 1px solid var(--border);
}

.home-location-info strong {
  color: var(--primary-900);
  font-weight: 900;
}

.home-location-actions {
  margin-top: 20px;
}

.home-location-note p {
  margin: 0;
  color: var(--text-700);
  line-height: 1.8;
}

/* 태블릿 */
@media (max-width: 900px) {
  .home-location-simple {
    grid-template-columns: 1fr;
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .home-location-info,
  .home-location-note {
    padding: 22px;
  }

  .home-location-info li {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .home-location-actions .btn {
    width: 100%;
  }
}
/* =====================================================
   오시는 길 구글지도 반응형
===================================================== */

.location-map-box {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: var(--gray-50);
}

.location-map-box iframe {
  display: block;
  width: 100%;
  height: 360px;
  border: 0;
}

/* 휴대폰 */
@media (max-width: 640px) {
  .location-map-box iframe {
    height: 280px;
  }
}
/* =====================================================
   연구원 목록 - 상세소개 보기 버튼
===================================================== */

.kried-researcher-page .researcher-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}

.kried-researcher-page .researcher-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  color: var(--white);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.kried-researcher-page .researcher-actions a::after {
  content: " →";
  margin-left: 4px;
}

.kried-researcher-page .researcher-actions a:hover,
.kried-researcher-page .researcher-actions a:focus {
  opacity: 0.92;
}

/* 휴대폰에서는 버튼을 전체 폭으로 */
@media (max-width: 640px) {
  .kried-researcher-page .researcher-actions {
    justify-content: stretch;
  }

  .kried-researcher-page .researcher-actions a {
    width: 100%;
  }
}
/* =====================================================
   원장/부원장 소개 페이지 - 약력 세로 카드형
   - 나머지 구조는 유지
   - 학력 / 주요 경력 / 주요 활동만 세로 정렬
===================================================== */

.president-profile-grid {
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 16px;
}

.president-profile-card {
  width: 100%;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.06), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: 0 8px 20px rgba(15, 47, 95, 0.05);
}

.president-profile-card h4 {
  margin: 0 0 12px;
  color: var(--primary-900);
  font-size: 21px;
  font-weight: 900;
}

.president-profile-card h4::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--green-700);
  vertical-align: middle;
}

.president-profile-card ul {
  margin: 0;
  padding-left: 20px;
  color: var(--text-700);
  line-height: 1.8;
}

.president-profile-card li + li {
  margin-top: 6px;
}

/* 휴대폰 */
@media (max-width: 640px) {
  .president-profile-card {
    padding: 20px;
  }

  .president-profile-card h4 {
    font-size: 20px;
  }
}

/* =====================================================
   인사말 페이지
   - KRIED 디자인 기준
   - PC / 태블릿 / 휴대폰 반응형
===================================================== */

.kried-greeting-page {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
}

/* 상단 인사말 박스 */
.greeting-hero-box {
  margin-bottom: 30px;
  padding: 38px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.12), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: var(--shadow);
}

.greeting-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 6px 13px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.greeting-title-area h2 {
  margin: 0 0 16px;
  color: var(--primary-900);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.3;
  letter-spacing: -0.05em;
}

.greeting-title-area p {
  margin: 0;
  color: var(--text-700);
  font-size: 17px;
}

/* 본문 인사말 */
.greeting-message-section {
  padding: 32px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.06);
}

.greeting-message-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}

.greeting-message-header span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  color: var(--white);
  font-size: 15px;
  font-weight: 900;
}

.greeting-message-header h3 {
  margin: 0;
  color: var(--primary-900);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.greeting-message-content {
  color: var(--text-700);
  font-size: 17px;
  line-height: 1.9;
}

.greeting-message-content p {
  margin: 0 0 18px;
}

.greeting-message-content .greeting-lead {
  color: var(--primary-900);
  font-size: 20px;
  font-weight: 900;
}

.greeting-signature {
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid var(--border);
  text-align: right;
}

.greeting-signature strong {
  display: block;
  margin-bottom: 4px;
  color: var(--primary-900);
  font-size: 16px;
  font-weight: 900;
}

.greeting-signature span {
  color: var(--green-900);
  font-size: 22px;
  font-weight: 900;
}

/* 태블릿 */
@media (max-width: 900px) {
  .greeting-hero-box,
  .greeting-message-section {
    padding: 28px;
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .greeting-hero-box,
  .greeting-message-section {
    padding: 22px;
  }

  .greeting-title-area h2 {
    font-size: 28px;
  }

  .greeting-title-area p,
  .greeting-message-content {
    font-size: 16px;
  }

  .greeting-message-header h3 {
    font-size: 24px;
  }

  .greeting-message-header span {
    width: 38px;
    height: 38px;
  }

  .greeting-message-content .greeting-lead {
    font-size: 18px;
  }

  .greeting-signature {
    text-align: left;
  }

  .greeting-signature span {
    font-size: 20px;
  }
}

/* =====================================================
   인사말 페이지 - 글자 크기 확대
   적용 페이지: /about-greeting/
===================================================== */

/* 상단 큰 제목 */
.kried-greeting-page .greeting-title-area h2 {
  font-size: clamp(36px, 4.5vw, 52px) !important;
  line-height: 1.28 !important;
}

/* 상단 설명 문구 */
.kried-greeting-page .greeting-title-area p {
  font-size: 20px !important;
  line-height: 1.8 !important;
}

/* 01 인사말 제목 */
.kried-greeting-page .greeting-message-header h3 {
  font-size: 32px !important;
}

/* 본문 전체 글자 */
.kried-greeting-page .greeting-message-content {
  font-size: 20px !important;
  line-height: 2.05 !important;
}

/* 첫 문장 강조 */
.kried-greeting-page .greeting-message-content .greeting-lead {
  font-size: 24px !important;
  line-height: 1.8 !important;
}

/* 서명 */
.kried-greeting-page .greeting-signature strong {
  font-size: 24px !important;
}

/* 태블릿 */
@media (max-width: 900px) {
  .kried-greeting-page .greeting-title-area h2 {
    font-size: 36px !important;
  }

  .kried-greeting-page .greeting-title-area p {
    font-size: 18px !important;
  }

  .kried-greeting-page .greeting-message-content {
    font-size: 18px !important;
  }

  .kried-greeting-page .greeting-message-content .greeting-lead {
    font-size: 22px !important;
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .kried-greeting-page .greeting-title-area h2 {
    font-size: 30px !important;
  }

  .kried-greeting-page .greeting-title-area p {
    font-size: 17px !important;
  }

  .kried-greeting-page .greeting-message-header h3 {
    font-size: 26px !important;
  }

  .kried-greeting-page .greeting-message-content {
    font-size: 17px !important;
    line-height: 1.9 !important;
  }

  .kried-greeting-page .greeting-message-content .greeting-lead {
    font-size: 19px !important;
  }

  .kried-greeting-page .greeting-signature strong {
    font-size: 20px !important;
  }
}
/* =====================================================
   인사말 페이지 - 상단 제목 크기만 조정
===================================================== */

/* 상단 큰 제목: 너무 커 보이지 않게 조정 */
.page .kried-greeting-page .greeting-title-area h2,
.kried-greeting-page .greeting-title-area h2 {
  font-size: 42px !important;
  line-height: 1.35 !important;
  letter-spacing: -0.04em !important;
}

/* 상단 설명 문구도 약간만 정리 */
.page .kried-greeting-page .greeting-title-area p,
.kried-greeting-page .greeting-title-area p {
  font-size: 19px !important;
  line-height: 1.75 !important;
}

/* 태블릿 */
@media (max-width: 900px) {
  .page .kried-greeting-page .greeting-title-area h2,
  .kried-greeting-page .greeting-title-area h2 {
    font-size: 34px !important;
  }

  .page .kried-greeting-page .greeting-title-area p,
  .kried-greeting-page .greeting-title-area p {
    font-size: 18px !important;
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .page .kried-greeting-page .greeting-title-area h2,
  .kried-greeting-page .greeting-title-area h2 {
    font-size: 28px !important;
    line-height: 1.38 !important;
  }

  .page .kried-greeting-page .greeting-title-area p,
  .kried-greeting-page .greeting-title-area p {
    font-size: 16px !important;
  }
}
/* =====================================================
   인사말 페이지 - 상단 제목 한 줄 표시
   PC에서는 한 줄, 모바일에서는 자연스럽게 줄바꿈
===================================================== */

/* PC: 상단 제목을 한 줄로 */
.page .kried-greeting-page .greeting-title-area h2,
.kried-greeting-page .greeting-title-area h2 {
  font-size: clamp(30px, 3vw, 38px) !important;
  line-height: 1.35 !important;
  letter-spacing: -0.045em !important;
  white-space: nowrap !important;
}

/* 상단 박스 안에서 제목이 들어갈 공간 확보 */
.page .kried-greeting-page .greeting-hero-box,
.kried-greeting-page .greeting-hero-box {
  max-width: 100% !important;
}

/* 태블릿: 너무 좁으면 자동 줄바꿈 허용 */
@media (max-width: 900px) {
  .page .kried-greeting-page .greeting-title-area h2,
  .kried-greeting-page .greeting-title-area h2 {
    font-size: 30px !important;
    white-space: normal !important;
  }
}

/* 휴대폰: 자연스럽게 2줄 정도로 표시 */
@media (max-width: 640px) {
  .page .kried-greeting-page .greeting-title-area h2,
  .kried-greeting-page .greeting-title-area h2 {
    font-size: 27px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
  }
}

/* =====================================================
   최동진 대표이사 상세페이지 - 상단 단순형
   KRIED / President / Profile 제거
===================================================== */

.president-hero-box.president-hero-simple {
  display: block !important;
  padding: 38px !important;
}

.president-hero-box.president-hero-simple .president-hero-text {
  width: 100% !important;
}

.president-hero-box.president-hero-simple h2 {
  margin: 0 0 10px !important;
  color: var(--primary-900) !important;
  font-size: clamp(38px, 5vw, 54px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.05em !important;
}

.president-hero-box.president-hero-simple .president-position {
  margin: 0 !important;
  color: var(--green-900) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.6 !important;
}

/* 휴대폰 */
@media (max-width: 640px) {
  .president-hero-box.president-hero-simple {
    padding: 24px !important;
  }

  .president-hero-box.president-hero-simple h2 {
    font-size: 36px !important;
  }

  .president-hero-box.president-hero-simple .president-position {
    font-size: 19px !important;
  }
}
/* =====================================================
   최동진 대표이사 상세페이지 - 학력사항 가로형
   박사 / 석사 / 학사를 내용 옆에 배치
===================================================== */

.president-education-list {
  display: grid;
  gap: 12px;
}

.president-education-row {
  display: grid;
  grid-template-columns: 90px 1fr;
  align-items: center;
  gap: 18px;
  padding: 18px 22px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--white);
  box-shadow: 0 8px 20px rgba(15, 47, 95, 0.05);
}

.president-education-row strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 15px;
  font-weight: 900;
}

.president-education-row span {
  color: var(--text-700);
  font-size: 17px;
  line-height: 1.7;
}

/* 휴대폰에서는 너무 좁으면 자연스럽게 세로 정렬 */
@media (max-width: 640px) {
  .president-education-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 18px;
  }

  .president-education-row strong {
    justify-content: flex-start;
    width: fit-content;
    padding: 0 14px;
  }

  .president-education-row span {
    font-size: 16px;
  }
}

/* =====================================================
   최동진 대표이사 상세페이지 - 주요 경력 가로형
   기간 / 경력 내용을 옆으로 정렬
===================================================== */

.president-career-list {
  display: grid;
  gap: 10px;
}

.president-career-row {
  display: grid;
  grid-template-columns: 170px 1fr;
  align-items: center;
  gap: 18px;
  padding: 16px 22px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--white);
  box-shadow: 0 8px 20px rgba(15, 47, 95, 0.04);
}

.president-career-row strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--primary-100);
  color: var(--primary-900);
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.president-career-row span {
  color: var(--text-700);
  font-size: 17px;
  line-height: 1.7;
}

/* 휴대폰 */
@media (max-width: 640px) {
  .president-career-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 17px 18px;
  }

  .president-career-row strong {
    justify-content: flex-start;
    width: fit-content;
  }

  .president-career-row span {
    font-size: 16px;
  }
}
/* =====================================================
   최동진 대표이사 상세페이지 - 전체 안정화
   적용 페이지: /member-choi-dongjin/
   - 글자 크기 / 줄 간격 / 카드 간격 / 모바일 정리
===================================================== */

/* 전체 폭 */
.resume-style-page,
.president-page.resume-style-page {
  max-width: 1040px;
  margin: 0 auto;
}

/* 상단 소개 박스 */
.president-hero-box.president-hero-simple {
  margin-bottom: 28px !important;
  padding: 34px 38px !important;
  border-radius: 24px !important;
}

/* 이름 */
.president-hero-box.president-hero-simple h2 {
  margin: 0 0 8px !important;
  font-size: 46px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: -0.045em !important;
}

/* 직책 */
.president-hero-box.president-hero-simple .president-position {
  margin: 0 !important;
  font-size: 21px !important;
  line-height: 1.6 !important;
  font-weight: 900 !important;
}

/* 각 섹션 카드 */
.president-section {
  margin-bottom: 26px !important;
  padding: 30px !important;
  border-radius: 22px !important;
}

/* 01 학력사항 / 02 주요 경력 제목 */
.president-section-header {
  margin-bottom: 22px !important;
}

.president-section-header span {
  width: 42px !important;
  height: 42px !important;
  font-size: 15px !important;
}

.president-section-header h3 {
  font-size: 27px !important;
  line-height: 1.35 !important;
}

/* 학력사항 */
.president-education-list {
  gap: 10px !important;
}

.president-education-row {
  grid-template-columns: 90px 1fr !important;
  padding: 16px 20px !important;
  gap: 16px !important;
  border-radius: 15px !important;
}

.president-education-row strong {
  min-height: 34px !important;
  font-size: 14px !important;
}

.president-education-row span {
  font-size: 16.5px !important;
  line-height: 1.75 !important;
}

/* 경력 / 연구보고서 / 논문 / 저서 공통 */
.president-career-list {
  gap: 9px !important;
}

.president-career-row {
  grid-template-columns: 170px 1fr !important;
  align-items: start !important;
  padding: 15px 20px !important;
  gap: 18px !important;
  border-radius: 15px !important;
}

.president-career-row strong {
  min-height: 32px !important;
  padding: 0 12px !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  text-align: center !important;
}

.president-career-row span {
  font-size: 16.5px !important;
  line-height: 1.75 !important;
  word-break: keep-all !important;
}

/* 목록으로 버튼 */
.president-detail-footer {
  display: flex !important;
  justify-content: center !important;
  margin-top: 34px !important;
}

.president-detail-footer a {
  min-height: 44px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

/* 태블릿 */
@media (max-width: 900px) {
  .president-hero-box.president-hero-simple {
    padding: 28px !important;
  }

  .president-hero-box.president-hero-simple h2 {
    font-size: 40px !important;
  }

  .president-section {
    padding: 26px !important;
  }

  .president-career-row {
    grid-template-columns: 150px 1fr !important;
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .president-hero-box.president-hero-simple {
    padding: 22px !important;
  }

  .president-hero-box.president-hero-simple h2 {
    font-size: 34px !important;
  }

  .president-hero-box.president-hero-simple .president-position {
    font-size: 18px !important;
  }

  .president-section {
    padding: 22px !important;
    margin-bottom: 22px !important;
  }

  .president-section-header h3 {
    font-size: 24px !important;
  }

  .president-section-header span {
    width: 38px !important;
    height: 38px !important;
  }

  .president-education-row,
  .president-career-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 16px 18px !important;
  }

  .president-education-row strong,
  .president-career-row strong {
    justify-content: flex-start !important;
    width: fit-content !important;
    padding: 6px 13px !important;
    min-height: auto !important;
    text-align: left !important;
  }

  .president-education-row span,
  .president-career-row span {
    font-size: 15.8px !important;
    line-height: 1.75 !important;
  }

  .president-detail-footer a {
    width: 100% !important;
  }
}
/* =====================================================
   최동진 대표이사 상세페이지 - 이름/직책 가로형
===================================================== */

.president-title-inline {
  display: flex !important;
  align-items: baseline !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

.president-title-inline h2 {
  margin: 0 !important;
  font-size: 46px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  color: var(--primary-900) !important;
  letter-spacing: -0.045em !important;
}

.president-title-inline .president-position {
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 1.6 !important;
  font-weight: 900 !important;
  color: var(--green-900) !important;
}

/* 휴대폰에서는 자연스럽게 세로 */
@media (max-width: 640px) {
  .president-title-inline {
    display: block !important;
  }

  .president-title-inline h2 {
    margin-bottom: 6px !important;
    font-size: 34px !important;
  }

  .president-title-inline .president-position {
    font-size: 18px !important;
  }
}
/* =====================================================
   연혁 페이지
   - 국토환경연구원
   - PC / 태블릿 / 휴대폰 반응형
===================================================== */

.kried-history-page {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
}

/* 상단 소개 */
.history-hero-box {
  margin-bottom: 34px;
  padding: 38px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(72, 168, 120, 0.12), transparent 34%),
    linear-gradient(135deg, var(--primary-50), var(--white));
  box-shadow: var(--shadow);
}

.history-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 6px 14px;
  border: 1px solid rgba(72, 168, 120, 0.22);
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-900);
  font-size: 13px;
  font-weight: 900;
}

.history-hero-box h2 {
  margin: 0 0 14px;
  color: var(--primary-900);
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.3;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.history-hero-box p {
  margin: 0;
  max-width: 760px;
  color: var(--text-700);
  font-size: 18px;
  line-height: 1.8;
}

/* 타임라인 전체 */
.history-timeline {
  position: relative;
  display: grid;
  gap: 22px;
}

/* 세로 라인 */
.history-timeline::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 120px;
  width: 2px;
  background: linear-gradient(to bottom, var(--green-700), var(--primary-800));
  opacity: 0.35;
}

/* 개별 연혁 */
.history-item {
  position: relative;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 28px;
  align-items: start;
}

.history-year {
  position: relative;
  z-index: 1;
  padding-top: 6px;
}

.history-year span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--primary-900), var(--primary-800));
  color: var(--white);
  font-size: 16px;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(15, 47, 95, 0.16);
}

.history-year small {
  display: block;
  margin-top: 8px;
  color: var(--green-900);
  font-size: 14px;
  font-weight: 900;
}

/* 오른쪽 내용 카드 */
.history-content {
  padding: 26px 28px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--white);
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.06);
}

.history-content h3 {
  margin: 0 0 14px;
  color: var(--primary-900);
  font-size: 23px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.history-content ul {
  margin: 0;
  padding-left: 20px;
  color: var(--text-700);
  font-size: 16.5px;
  line-height: 1.85;
}

.history-content li + li {
  margin-top: 6px;
}

/* 태블릿 */
@media (max-width: 900px) {
  .history-hero-box {
    padding: 30px;
  }

  .history-timeline::before {
    left: 92px;
  }

  .history-item {
    grid-template-columns: 145px 1fr;
    gap: 22px;
  }

  .history-content {
    padding: 24px;
  }
}

/* 휴대폰 */
@media (max-width: 640px) {
  .history-hero-box {
    padding: 22px;
  }

  .history-hero-box h2 {
    font-size: 30px;
  }

  .history-hero-box p {
    font-size: 16px;
  }

  .history-timeline::before {
    display: none;
  }

  .history-item {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .history-year {
    padding-top: 0;
  }

  .history-year span {
    min-height: 38px;
    font-size: 15px;
  }

  .history-content {
    padding: 22px;
    border-radius: 20px;
  }

  .history-content h3 {
    font-size: 21px;
  }

  .history-content ul {
    font-size: 15.8px;
    line-height: 1.8;
  }
}
/* =====================================================
   국토환경연구원 조직도 최종안
   - 3번째 시안 기준
   - 상단 설명 없음
   - PC / 태블릿 / 모바일 반응형
===================================================== */

.kried-org-final {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 20px 0 40px;
}

/* 전체 조직도 */
.kried-org-chart {
  position: relative;
  width: 100%;
  padding-top: 8px;
}

/* 상단 */
.kried-org-top,
.kried-org-middle {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 42px;
}

/* 상단 → 중간 연결선 */
.kried-org-top::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -42px;
  width: 2px;
  height: 42px;
  background: #dfe7ee;
}

/* 공통 박스 */
.kried-org-box {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 18px;
  box-sizing: border-box;
}

/* 이사회 / 주주총회 */
.kried-org-board {
  min-width: 500px;
  min-height: 88px;
  padding: 20px 42px;
  background: linear-gradient(135deg, #0f2f5f, #172f55);
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(15, 47, 95, 0.16);
}

.kried-org-board strong {
  font-size: 30px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.045em;
}

.kried-org-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-right: 20px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.12);
  color: #e8c785;
  font-size: 26px;
  font-weight: 900;
}

/* 연구협의회 */
.kried-org-middle::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -42px;
  width: 2px;
  height: 42px;
  background: #dfe7ee;
}

.kried-org-council {
  position: relative;
  flex-direction: column;
  min-width: 540px;
  min-height: 150px;
  padding: 28px 46px;
  background: linear-gradient(135deg, #145d4a, #1e6f4a);
  color: #ffffff;
  box-shadow: 0 14px 32px rgba(30, 111, 74, 0.20);
}

.kried-org-round-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #bfe4d2;
  font-size: 20px;
}

.kried-org-council strong {
  display: block;
  margin-bottom: 8px;
  font-size: 36px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.kried-org-council em {
  display: block;
  font-style: normal;
  color: rgba(255, 255, 255, 0.88);
  font-size: 20px;
  line-height: 1.55;
  font-weight: 700;
}

/* 하단 4개 조직 */
.kried-org-teams {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  margin-top: 70px;
}

/* 하단 가로 연결선 */
.kried-org-teams::before {
  content: "";
  position: absolute;
  top: -46px;
  left: 11%;
  right: 11%;
  height: 2px;
  background: #dfe7ee;
}

/* 카드 */
.kried-org-card {
  position: relative;
  min-height: 360px;
  padding: 34px 26px 30px;
  border: 1px solid #dfe7ee;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.07);
  text-align: center;
  box-sizing: border-box;
}

/* 각 카드 위 세로선 */
.kried-org-card::before {
  content: "";
  position: absolute;
  top: -46px;
  left: 50%;
  width: 2px;
  height: 46px;
  background: #dfe7ee;
}

/* 카드 아이콘 */
.kried-org-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 74px;
  height: 74px;
  margin-bottom: 20px;
  border-radius: 50%;
  background: #edf7f2;
  color: #1e6f4a;
  font-size: 34px;
  font-weight: 900;
}

/* 카드 제목 */
.kried-org-card h3 {
  min-height: 58px;
  margin: 0;
  color: #0f2f5f;
  font-size: 23px;
  line-height: 1.4;
  font-weight: 900;
  letter-spacing: -0.045em;
  word-break: keep-all;
}

/* 제목 아래 짧은 선 */
.kried-org-line {
  display: block;
  width: 44px;
  height: 3px;
  margin: 18px auto 24px;
  border-radius: 999px;
  background: #1e6f4a;
}

/* 목록 */
.kried-org-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kried-org-card li {
  position: relative;
  padding-left: 16px;
  color: #334155;
  font-size: 17px;
  line-height: 1.85;
  font-weight: 600;
  text-align: left;
  word-break: keep-all;
}

.kried-org-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.82em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #1e6f4a;
}

.kried-org-card li + li {
  margin-top: 7px;
}

/* 카드별 은은한 차이 */
.kried-org-card:nth-child(1) .kried-org-card-icon {
  background: #edf3f8;
  color: #1d4f86;
}

.kried-org-card:nth-child(2) .kried-org-card-icon {
  background: #edf7f2;
  color: #1e6f4a;
}

.kried-org-card:nth-child(3) .kried-org-card-icon {
  background: #eef3f8;
  color: #1d4f86;
}

.kried-org-card:nth-child(4) .kried-org-card-icon {
  background: #f8fafc;
  color: #526174;
}

/* 태블릿 */
@media (max-width: 1000px) {
  .kried-org-final {
    max-width: 820px;
  }

  .kried-org-teams {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .kried-org-teams::before,
  .kried-org-card::before {
    display: none;
  }

  .kried-org-card {
    min-height: 320px;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .kried-org-final {
    max-width: 100%;
    padding: 10px 0 30px;
  }

  .kried-org-board,
  .kried-org-council {
    width: 100%;
    min-width: 0;
  }

  .kried-org-board {
    min-height: auto;
    padding: 20px;
  }

  .kried-org-board strong {
    font-size: 24px;
  }

  .kried-org-icon {
    width: 40px;
    height: 40px;
    margin-right: 12px;
    font-size: 22px;
  }

  .kried-org-council {
    min-height: auto;
    padding: 26px 20px;
  }

  .kried-org-round-icon {
    width: 52px;
    height: 52px;
  }

  .kried-org-council strong {
    font-size: 30px;
  }

  .kried-org-council em {
    font-size: 16px;
  }

  .kried-org-top,
  .kried-org-middle {
    margin-bottom: 34px;
  }

  .kried-org-top::after,
  .kried-org-middle::after {
    bottom: -34px;
    height: 34px;
  }

  .kried-org-teams {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 42px;
  }

  .kried-org-teams::before,
  .kried-org-card::before {
    display: none;
  }

  .kried-org-card {
    min-height: auto;
    padding: 28px 24px;
  }

  .kried-org-card h3 {
    min-height: auto;
    font-size: 22px;
  }

  .kried-org-card li {
    font-size: 16px;
    line-height: 1.8;
  }
}
/* =====================================================
   조직도 수정
   1. 이사회 / 연구협의회 크기 동일
   2. 하단 팀별 내용 한 줄 표시
   3. 조직도 전체 폭 확장
===================================================== */

/* 조직도 전체 폭을 화면 기준으로 넓게 사용 */
.kried-org-final {
  width: calc(100vw - 80px) !important;
  max-width: 1360px !important;
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 이사회 / 연구협의회 박스 크기 동일 */
.kried-org-board,
.kried-org-council {
  width: 520px !important;
  min-width: 520px !important;
  height: 96px !important;
  min-height: 96px !important;
  padding: 0 36px !important;
  box-sizing: border-box !important;
  border-radius: 18px !important;
}

/* 이사회 글자 */
.kried-org-board strong {
  font-size: 28px !important;
  line-height: 1.35 !important;
}

/* 연구협의회는 같은 높이에 맞추기 위해 아이콘 숨김 */
.kried-org-round-icon {
  display: none !important;
}

/* 연구협의회 글자 크기 조정 */
.kried-org-council strong {
  margin-bottom: 6px !important;
  font-size: 31px !important;
  line-height: 1.25 !important;
}

.kried-org-council em {
  font-size: 17px !important;
  line-height: 1.45 !important;
}

/* 하단 4개 카드 폭 확보 */
.kried-org-teams {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-top: 70px !important;
}

/* 하단 카드 */
.kried-org-card {
  min-height: 340px !important;
  padding: 30px 24px 28px !important;
}

/* 카드 제목 */
.kried-org-card h3 {
  min-height: 58px !important;
  font-size: 22px !important;
  line-height: 1.35 !important;
  word-break: keep-all !important;
}

/* 하단 목록을 한 줄로 표시 */
.kried-org-card li {
  white-space: nowrap !important;
  word-break: keep-all !important;
  font-size: 15.8px !important;
  line-height: 1.8 !important;
  letter-spacing: -0.035em !important;
}

/* 목록 왼쪽 여백 살짝 조정 */
.kried-org-card ul {
  padding-left: 0 !important;
}

.kried-org-card li {
  padding-left: 14px !important;
}

/* 태블릿에서는 2개씩 */
@media (max-width: 1000px) {
  .kried-org-final {
    width: 100% !important;
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  .kried-org-board,
  .kried-org-council {
    width: 520px !important;
    min-width: 520px !important;
  }

  .kried-org-teams {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .kried-org-card li {
    white-space: nowrap !important;
  }
}

/* 휴대폰에서는 화면이 좁으므로 자연스럽게 줄바꿈 허용 */
@media (max-width: 640px) {
  .kried-org-final {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  .kried-org-board,
  .kried-org-council {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    padding: 20px !important;
  }

  .kried-org-board strong {
    font-size: 24px !important;
  }

  .kried-org-council strong {
    font-size: 28px !important;
  }

  .kried-org-council em {
    font-size: 15.5px !important;
  }

  .kried-org-teams {
    grid-template-columns: 1fr !important;
  }

  .kried-org-card li {
    white-space: normal !important;
    font-size: 16px !important;
  }
}
/* =====================================================
   조직도 SVG 아이콘 깨짐 수정
   - 검은 덩어리처럼 보이는 문제 해결
   - 선 아이콘 형태로 표시
===================================================== */

.kried-org-final svg,
.kried-org-final svg path,
.kried-org-final svg circle,
.kried-org-final svg line,
.kried-org-final svg polyline,
.kried-org-final svg polygon,
.kried-org-final svg rect {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* 상단 이사회 아이콘 */
.kried-org-icon {
  color: #e8c785 !important;
}

/* 하단 카드 아이콘 공통 */
.kried-org-card-icon {
  color: #1e6f4a !important;
}

/* 카드별 아이콘 색상 */
.kried-org-card:nth-child(1) .kried-org-card-icon {
  color: #1d4f86 !important;
}

.kried-org-card:nth-child(2) .kried-org-card-icon {
  color: #1e6f4a !important;
}

.kried-org-card:nth-child(3) .kried-org-card-icon {
  color: #1d4f86 !important;
}

.kried-org-card:nth-child(4) .kried-org-card-icon {
  color: #526174 !important;
}
/* =====================================================
   국토환경연구원 조직도 최종안
   - SVG 아이콘 포함
   - 이사회/연구협의회 크기 동일
   - 연구팀 설명 가운데 정렬
   - PC / 태블릿 / 모바일 반응형
===================================================== */

.kried-org-final {
  width: calc(100vw - 80px);
  max-width: 1360px;
  margin-left: 50%;
  transform: translateX(-50%);
  padding: 20px 0 50px;
  overflow: visible;
}

.kried-org-chart {
  position: relative;
  width: 100%;
  padding-top: 8px;
  overflow: visible;
}

/* 상단 / 중간 */
.kried-org-top,
.kried-org-middle {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 42px;
}

/* 상단 연결선 */
.kried-org-top::after,
.kried-org-middle::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -42px;
  width: 2px;
  height: 42px;
  background: #dfe7ee;
}

/* 공통 박스 */
.kried-org-box {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 18px;
  box-sizing: border-box;
}

/* 이사회 / 연구협의회 크기 동일 */
.kried-org-board,
.kried-org-council {
  width: 540px;
  min-width: 540px;
  height: 128px;
  min-height: 128px;
  padding: 16px 40px;
  box-sizing: border-box;
  border-radius: 18px;
}

/* 이사회 / 주주총회 */
.kried-org-board {
  background: linear-gradient(135deg, #0f2f5f, #172f55);
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(15, 47, 95, 0.16);
}

.kried-org-board strong {
  font-size: 29px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.045em;
}

/* 이사회 아이콘 */
.kried-org-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 50px;
  height: 50px;
  margin-right: 20px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.13);
  color: #e8c785;
}

/* 연구협의회 */
.kried-org-council {
  flex-direction: column;
  background: linear-gradient(135deg, #145d4a, #1e6f4a);
  color: #ffffff;
  box-shadow: 0 14px 32px rgba(30, 111, 74, 0.20);
}

/* 연구협의회 아이콘 */
.kried-org-round-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 0 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.34);
  color: #d9f2e6;
  flex: 0 0 auto;
}

.kried-org-council strong {
  display: block;
  margin-bottom: 4px;
  font-size: 30px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.kried-org-council em {
  display: block;
  font-style: normal;
  color: rgba(255, 255, 255, 0.88);
  font-size: 16.5px;
  line-height: 1.45;
  font-weight: 700;
}

/* 하단 4개 조직 */
.kried-org-teams {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 70px;
  overflow: visible;
}

/* 하단 가로 연결선 */
.kried-org-teams::before {
  content: "";
  position: absolute;
  top: -46px;
  left: 6.5%;
  right: 6.5%;
  height: 2px;
  background: #dfe7ee;
}

/* 카드 */
.kried-org-card {
  position: relative;
  min-height: 350px;
  padding: 32px 24px 30px;
  border: 1px solid #dfe7ee;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.07);
  text-align: center;
  box-sizing: border-box;
  overflow: visible;
}

/* 각 카드 위 세로선 */
.kried-org-card::before {
  content: "";
  position: absolute;
  top: -46px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 46px;
  background: #dfe7ee;
}

/* 카드 아이콘 */
.kried-org-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 74px;
  height: 74px;
  margin-bottom: 20px;
  border-radius: 50%;
  background: #edf7f2;
  color: #1e6f4a;
}

/* SVG 아이콘 공통 */
.kried-org-final svg {
  width: 28px;
  height: 28px;
}

.kried-org-card-icon svg {
  width: 38px;
  height: 38px;
}

.kried-org-round-icon svg {
  width: 25px;
  height: 25px;
}

.kried-org-final svg,
.kried-org-final svg path,
.kried-org-final svg circle,
.kried-org-final svg line,
.kried-org-final svg polyline,
.kried-org-final svg polygon,
.kried-org-final svg rect {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* 카드 제목 */
.kried-org-card h3 {
  min-height: 58px;
  margin: 0;
  color: #0f2f5f;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.045em;
  word-break: keep-all;
}

/* 제목 아래 선 */
.kried-org-line {
  display: block;
  width: 44px;
  height: 3px;
  margin: 17px auto 22px;
  border-radius: 999px;
  background: #1e6f4a;
}

/* 연구팀 설명 가운데 정렬 */
.kried-org-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.kried-org-card li {
  display: block;
  padding-left: 0;
  color: #334155;
  font-size: 15.8px;
  line-height: 1.8;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  word-break: keep-all;
  letter-spacing: -0.035em;
}

.kried-org-card li::before {
  display: none;
}

.kried-org-card li + li {
  margin-top: 8px;
}

/* 카드별 아이콘 색상 */
.kried-org-card:nth-child(1) .kried-org-card-icon {
  background: #edf3f8;
  color: #1d4f86;
}

.kried-org-card:nth-child(2) .kried-org-card-icon {
  background: #edf7f2;
  color: #1e6f4a;
}

.kried-org-card:nth-child(3) .kried-org-card-icon {
  background: #eef3f8;
  color: #1d4f86;
}

.kried-org-card:nth-child(4) .kried-org-card-icon {
  background: #f8fafc;
  color: #526174;
}

/* 태블릿 */
@media (max-width: 1000px) {
  .kried-org-final {
    width: 100%;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }

  .kried-org-board,
  .kried-org-council {
    width: 520px;
    min-width: 520px;
  }

  .kried-org-teams {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .kried-org-teams::before,
  .kried-org-card::before {
    display: none;
  }

  .kried-org-card {
    min-height: 330px;
  }

  .kried-org-card li {
    white-space: nowrap;
    font-size: 16px;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .kried-org-final {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    transform: none;
    padding: 10px 0 30px;
  }

  .kried-org-board,
  .kried-org-council {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: auto;
    padding: 20px;
  }

  .kried-org-board strong {
    font-size: 24px;
  }

  .kried-org-icon {
    width: 42px;
    height: 42px;
    margin-right: 12px;
  }

  .kried-org-icon svg {
    width: 24px;
    height: 24px;
  }

  .kried-org-council strong {
    font-size: 28px;
  }

  .kried-org-council em {
    font-size: 15.5px;
  }

  .kried-org-top,
  .kried-org-middle {
    margin-bottom: 34px;
  }

  .kried-org-top::after,
  .kried-org-middle::after {
    bottom: -34px;
    height: 34px;
  }

  .kried-org-teams {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 42px;
  }

  .kried-org-teams::before,
  .kried-org-card::before {
    display: none;
  }

  .kried-org-card {
    min-height: auto;
    padding: 28px 24px;
  }

  .kried-org-card h3 {
    min-height: auto;
    font-size: 22px;
  }

  .kried-org-card li {
    white-space: normal;
    font-size: 16px;
    line-height: 1.8;
    text-align: center;
  }
}
/* =====================================================
   조직도 하단 연결선 길이 최종 조정
===================================================== */

.kried-org-teams::before {
  left: 12% !important;
  right: 12% !important;
}
/* =====================================================
   연구협의회 아이콘 보이게 수정
===================================================== */

/* 연구협의회 박스 높이 확보 */
.kried-org-council {
  height: 148px !important;
  min-height: 148px !important;
  padding: 18px 40px !important;
  justify-content: center !important;
}

/* 연구협의회 아이콘 강제 표시 */
.kried-org-round-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  margin: 0 0 8px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: #d9f2e6 !important;
  flex: 0 0 auto !important;
}

/* 연구협의회 아이콘 SVG 크기 */
.kried-org-round-icon svg {
  display: block !important;
  width: 26px !important;
  height: 26px !important;
}

/* SVG가 검은 덩어리로 보이지 않도록 선 아이콘 처리 */
.kried-org-round-icon svg,
.kried-org-round-icon svg path,
.kried-org-round-icon svg circle,
.kried-org-round-icon svg line,
.kried-org-round-icon svg polyline,
.kried-org-round-icon svg polygon,
.kried-org-round-icon svg rect {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* 아이콘이 들어가므로 글자 간격 약간 조정 */
.kried-org-council strong {
  margin-bottom: 4px !important;
  font-size: 29px !important;
}

.kried-org-council em {
  font-size: 16px !important;
}
/* =====================================================
   연구협의회 아이콘 왼쪽 배치
===================================================== */

/* 연구협의회 박스를 가로형으로 변경 */
.kried-org-council {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;

  height: 128px !important;
  min-height: 128px !important;
  padding: 16px 40px !important;
}

/* 연구협의회 아이콘 왼쪽 배치 */
.kried-org-round-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 52px !important;
  height: 52px !important;
  margin: 0 !important;

  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.34) !important;
  color: #d9f2e6 !important;

  flex: 0 0 52px !important;
}

/* 연구협의회 아이콘 SVG */
.kried-org-round-icon svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
}

/* 연구협의회 글자 묶음처럼 보이게 */
.kried-org-council strong,
.kried-org-council em {
  text-align: left !important;
}

/* 제목 */
.kried-org-council strong {
  display: block !important;
  margin: 0 0 5px !important;
  font-size: 31px !important;
  line-height: 1.25 !important;
}

/* 부제목 */
.kried-org-council em {
  display: block !important;
  font-size: 16.5px !important;
  line-height: 1.45 !important;
}

/* SVG 검은 덩어리 방지 */
.kried-org-round-icon svg,
.kried-org-round-icon svg path,
.kried-org-round-icon svg circle,
.kried-org-round-icon svg line,
.kried-org-round-icon svg polyline,
.kried-org-round-icon svg polygon,
.kried-org-round-icon svg rect {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* 모바일에서는 다시 위아래 배치 */
@media (max-width: 640px) {
  .kried-org-council {
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
  }

  .kried-org-council strong,
  .kried-org-council em {
    text-align: center !important;
  }
}
/* =====================================================
   국토환경연구원 조직도 - 3번째 시안 재현형
===================================================== */

.kried-org3 {
  width: calc(100vw - 70px);
  max-width: 1380px;
  margin-left: 50%;
  transform: translateX(-50%);
  padding: 20px 0 60px;
  overflow: visible;
}

.kried-org3-chart {
  position: relative;
  width: 100%;
  overflow: visible;
}

/* 상단 영역 */
.kried-org3-top,
.kried-org3-middle {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 38px;
}

/* 세로 연결선 */
.kried-org3-top::after,
.kried-org3-middle::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -38px;
  width: 2px;
  height: 38px;
  background: #dfe7ee;
}

/* 이사회 / 주주총회 */
.kried-org3-board {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 540px;
  height: 104px;
  border-radius: 16px;
  background: linear-gradient(135deg, #0f2f5f, #172f55);
  color: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 47, 95, 0.18);
}

.kried-org3-board-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-right: 22px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.12);
  color: #e8c785;
}

.kried-org3-board strong {
  font-size: 30px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.045em;
}

/* 연구협의회 */
.kried-org3-council {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 540px;
  height: 128px;
  padding: 0 40px;
  border-radius: 16px;
  background: linear-gradient(135deg, #145d4a, #1e6f4a);
  color: #ffffff;
  box-shadow: 0 14px 34px rgba(30, 111, 74, 0.20);
  box-sizing: border-box;
}

.kried-org3-council-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  margin-right: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.34);
  color: #d9f2e6;
  flex: 0 0 66px;
}

.kried-org3-council-text {
  text-align: left;
}

.kried-org3-council strong {
  display: block;
  margin: 0 0 8px;
  font-size: 34px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.kried-org3-council em {
  display: block;
  font-style: normal;
  color: rgba(255, 255, 255, 0.9);
  font-size: 17px;
  line-height: 1.45;
  font-weight: 700;
}

/* 하단 연구팀 */
.kried-org3-teams {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 68px;
}

/* 하단 가로 연결선 */
.kried-org3-teams::before {
  content: "";
  position: absolute;
  top: -44px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: #dfe7ee;
}

/* 카드 */
.kried-org3-card {
  position: relative;
  min-height: 350px;
  padding: 34px 24px 30px;
  border: 1px solid #dfe7ee;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.07);
  text-align: center;
  box-sizing: border-box;
  overflow: visible;
}

/* 카드 위 세로 연결선 */
.kried-org3-card::before {
  content: "";
  position: absolute;
  top: -44px;
  left: 50%;
  width: 2px;
  height: 44px;
  transform: translateX(-50%);
  background: #dfe7ee;
}

/* 카드 아이콘 */
.kried-org3-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 74px;
  height: 74px;
  margin-bottom: 20px;
  border-radius: 50%;
  background: #edf7f2;
  color: #1e6f4a;
}

/* SVG 공통 */
.kried-org3 svg,
.kried-org3 svg path,
.kried-org3 svg circle,
.kried-org3 svg line,
.kried-org3 svg polyline,
.kried-org3 svg polygon,
.kried-org3 svg rect {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.85 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.kried-org3-board-icon svg {
  width: 30px;
  height: 30px;
}

.kried-org3-council-icon svg {
  width: 34px;
  height: 34px;
}

.kried-org3-card-icon svg {
  width: 38px;
  height: 38px;
}

/* 카드 제목 */
.kried-org3-card h3 {
  min-height: 58px;
  margin: 0;
  color: #0f2f5f;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.045em;
  word-break: keep-all;
}

/* 제목 아래 선 */
.kried-org3-line {
  display: block;
  width: 44px;
  height: 3px;
  margin: 17px auto 22px;
  border-radius: 999px;
  background: #1e6f4a;
}

/* 연구팀 설명 */
.kried-org3-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.kried-org3-card li {
  display: block;
  color: #334155;
  font-size: 15.8px;
  line-height: 1.8;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  word-break: keep-all;
  letter-spacing: -0.035em;
}

.kried-org3-card li + li {
  margin-top: 8px;
}

/* 카드별 아이콘 색상 */
.kried-org3-card:nth-child(1) .kried-org3-card-icon {
  background: #edf3f8;
  color: #1d4f86;
}

.kried-org3-card:nth-child(2) .kried-org3-card-icon {
  background: #edf7f2;
  color: #1e6f4a;
}

.kried-org3-card:nth-child(3) .kried-org3-card-icon {
  background: #eef3f8;
  color: #1d4f86;
}

.kried-org3-card:nth-child(4) .kried-org3-card-icon {
  background: #f8fafc;
  color: #526174;
}

/* 태블릿 */
@media (max-width: 1000px) {
  .kried-org3 {
    width: 100%;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }

  .kried-org3-teams {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kried-org3-teams::before,
  .kried-org3-card::before {
    display: none;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .kried-org3 {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    transform: none;
    padding: 10px 0 35px;
  }

  .kried-org3-board,
  .kried-org3-council {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 22px 18px;
  }

  .kried-org3-board strong {
    font-size: 24px;
  }

  .kried-org3-board-icon {
    width: 44px;
    height: 44px;
    margin-right: 12px;
  }

  .kried-org3-council {
    flex-direction: column;
  }

  .kried-org3-council-icon {
    margin: 0 0 10px;
  }

  .kried-org3-council-text {
    text-align: center;
  }

  .kried-org3-council strong {
    font-size: 29px;
  }

  .kried-org3-council em {
    font-size: 15.5px;
  }

  .kried-org3-teams {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 42px;
  }

  .kried-org3-teams::before,
  .kried-org3-card::before {
    display: none;
  }

  .kried-org3-card {
    min-height: auto;
    padding: 30px 22px;
  }

  .kried-org3-card h3 {
    min-height: auto;
    font-size: 22px;
  }

  .kried-org3-card li {
    white-space: normal;
    font-size: 16px;
  }
}
/* =====================================================
   조직도 - 이사회 박스와 연구협의회 박스 크기 동일
===================================================== */

.kried-org3-board,
.kried-org3-council {
  width: 540px !important;
  height: 128px !important;
  min-width: 540px !important;
  min-height: 128px !important;
  box-sizing: border-box !important;
}

/* 이사회 박스 내부 세로 중앙 정렬 */
.kried-org3-board {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 40px !important;
}

/* 연구협의회도 동일한 기준 유지 */
.kried-org3-council {
  padding: 0 40px !important;
}

/* =====================================================
   국토환경연구원 조직도 - 3번째 시안 재현형
   - 이사회 / 연구협의회 크기 동일
   - 시안형 SVG 아이콘
   - 연구팀 설명 가운데 정렬
   - PC / 태블릿 / 모바일 반응형
===================================================== */

.kried-org3 {
  width: calc(100vw - 70px);
  max-width: 1380px;
  margin-left: 50%;
  transform: translateX(-50%);
  padding: 20px 0 60px;
  overflow: visible;
}

.kried-org3-chart {
  position: relative;
  width: 100%;
  overflow: visible;
}

/* 상단 영역 */
.kried-org3-top,
.kried-org3-middle {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 38px;
}

/* 세로 연결선 */
.kried-org3-top::after,
.kried-org3-middle::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -38px;
  width: 2px;
  height: 38px;
  background: #dfe7ee;
}

/* 이사회 / 연구협의회 공통 크기 */
.kried-org3-board,
.kried-org3-council {
  width: 540px;
  min-width: 540px;
  height: 128px;
  min-height: 128px;
  border-radius: 16px;
  box-sizing: border-box;
}

/* 이사회 / 주주총회 */
.kried-org3-board {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 40px;
  background: linear-gradient(135deg, #0f2f5f, #172f55);
  color: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 47, 95, 0.18);
}

.kried-org3-board-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-right: 22px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.12);
  color: #e8c785;
  flex: 0 0 58px;
}

.kried-org3-board strong {
  font-size: 30px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.045em;
}

/* 연구협의회 */
.kried-org3-council {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 40px;
  background: linear-gradient(135deg, #145d4a, #1e6f4a);
  color: #ffffff;
  box-shadow: 0 14px 34px rgba(30, 111, 74, 0.20);
}

.kried-org3-council-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  margin-right: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.34);
  color: #d9f2e6;
  flex: 0 0 66px;
}

.kried-org3-council-text {
  text-align: left;
}

.kried-org3-council strong {
  display: block;
  margin: 0 0 8px;
  font-size: 34px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.kried-org3-council em {
  display: block;
  font-style: normal;
  color: rgba(255, 255, 255, 0.9);
  font-size: 17px;
  line-height: 1.45;
  font-weight: 700;
}

/* 하단 연구팀 */
.kried-org3-teams {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 68px;
}

/* 하단 가로 연결선 */
.kried-org3-teams::before {
  content: "";
  position: absolute;
  top: -44px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: #dfe7ee;
}

/* 카드 */
.kried-org3-card {
  position: relative;
  min-height: 350px;
  padding: 34px 24px 30px;
  border: 1px solid #dfe7ee;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.07);
  text-align: center;
  box-sizing: border-box;
  overflow: visible;
}

/* 카드 위 세로 연결선 */
.kried-org3-card::before {
  content: "";
  position: absolute;
  top: -44px;
  left: 50%;
  width: 2px;
  height: 44px;
  transform: translateX(-50%);
  background: #dfe7ee;
}

/* 카드 아이콘 */
.kried-org3-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  margin-bottom: 20px;
  border-radius: 50%;
}

/* SVG 공통 */
.kried-org3 svg,
.kried-org3 svg path,
.kried-org3 svg circle,
.kried-org3 svg line,
.kried-org3 svg polyline,
.kried-org3 svg polygon,
.kried-org3 svg rect {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.85 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.kried-org3-board-icon svg {
  width: 30px;
  height: 30px;
}

.kried-org3-council-icon svg {
  width: 34px;
  height: 34px;
}

.kried-org3-card-icon svg {
  width: 40px;
  height: 40px;
}

/* 카드 제목 */
.kried-org3-card h3 {
  min-height: 58px;
  margin: 0;
  color: #0f2f5f;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.045em;
  word-break: keep-all;
}

/* 제목 아래 선 */
.kried-org3-line {
  display: block;
  width: 44px;
  height: 3px;
  margin: 17px auto 22px;
  border-radius: 999px;
  background: #1e6f4a;
}

/* 연구팀 설명 */
.kried-org3-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.kried-org3-card li {
  display: block;
  color: #334155;
  font-size: 15.8px;
  line-height: 1.8;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  word-break: keep-all;
  letter-spacing: -0.035em;
}

.kried-org3-card li + li {
  margin-top: 8px;
}

/* 카드별 아이콘 색상 */
.kried-org3-water {
  background: #edf3f8;
  color: #1d4f86;
}

.kried-org3-earth {
  background: #edf7f2;
  color: #1e6f4a;
}

.kried-org3-energy {
  background: #eef3f8;
  color: #1d4f86;
}

.kried-org3-book {
  background: #f8fafc;
  color: #526174;
}

/* 태블릿 */
@media (max-width: 1000px) {
  .kried-org3 {
    width: 100%;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }

  .kried-org3-teams {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kried-org3-teams::before,
  .kried-org3-card::before {
    display: none;
  }

  .kried-org3-card li {
    white-space: nowrap;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .kried-org3 {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    transform: none;
    padding: 10px 0 35px;
  }

  .kried-org3-board,
  .kried-org3-council {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 22px 18px;
  }

  .kried-org3-board strong {
    font-size: 24px;
  }

  .kried-org3-board-icon {
    width: 44px;
    height: 44px;
    margin-right: 12px;
    flex: 0 0 44px;
  }

  .kried-org3-council {
    flex-direction: column;
  }

  .kried-org3-council-icon {
    margin: 0 0 10px;
  }

  .kried-org3-council-text {
    text-align: center;
  }

  .kried-org3-council strong {
    font-size: 29px;
  }

  .kried-org3-council em {
    font-size: 15.5px;
  }

  .kried-org3-top,
  .kried-org3-middle {
    margin-bottom: 34px;
  }

  .kried-org3-top::after,
  .kried-org3-middle::after {
    bottom: -34px;
    height: 34px;
  }

  .kried-org3-teams {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 42px;
  }

  .kried-org3-teams::before,
  .kried-org3-card::before {
    display: none;
  }

  .kried-org3-card {
    min-height: auto;
    padding: 30px 22px;
  }

  .kried-org3-card h3 {
    min-height: auto;
    font-size: 22px;
  }

  .kried-org3-card li {
    white-space: normal;
    font-size: 16px;
  }
}
/* =====================================================
   국토환경연구원 조직도 최종안 V3
   - 3번째 시안 기준 재작성
   - PC / 태블릿 / 모바일 반응형
===================================================== */

.kried-org-v3 {
  width: calc(100vw - 70px);
  max-width: 1380px;
  margin-left: 50%;
  transform: translateX(-50%);
  padding: 24px 0 64px;
  overflow: visible;
}

.kried-org-v3-wrap {
  position: relative;
  width: 100%;
  overflow: visible;
}

/* 상단 / 중간 */
.kried-org-v3-top,
.kried-org-v3-middle {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 38px;
}

/* 세로 연결선 */
.kried-org-v3-top::after,
.kried-org-v3-middle::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -38px;
  width: 2px;
  height: 38px;
  background: #dfe7ee;
}

/* 이사회 / 연구협의회 공통 */
.kried-org-v3-board,
.kried-org-v3-council {
  width: 540px;
  min-width: 540px;
  height: 128px;
  min-height: 128px;
  border-radius: 18px;
  box-sizing: border-box;
}

/* 이사회 */
.kried-org-v3-board {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 40px;
  background: linear-gradient(135deg, #0f2f5f, #172f55);
  color: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 47, 95, 0.18);
}

.kried-org-v3-board-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-right: 22px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.12);
  color: #e8c785;
  flex: 0 0 58px;
}

.kried-org-v3-board strong {
  color: #ffffff;
  font-size: 30px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.045em;
}

/* 연구협의회 */
.kried-org-v3-council {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 40px;
  background: linear-gradient(135deg, #145d4a, #1e6f4a);
  color: #ffffff;
  box-shadow: 0 14px 34px rgba(30, 111, 74, 0.20);
}

.kried-org-v3-council-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  margin-right: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.34);
  color: #d9f2e6;
  flex: 0 0 66px;
}

.kried-org-v3-council-text {
  text-align: left;
}

.kried-org-v3-council strong {
  display: block;
  margin: 0 0 8px;
  color: #ffffff;
  font-size: 34px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.kried-org-v3-council em {
  display: block;
  color: rgba(255, 255, 255, 0.9);
  font-size: 17px;
  line-height: 1.45;
  font-style: normal;
  font-weight: 700;
}

/* 하단 연구팀 */
.kried-org-v3-teams {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 68px;
}

/* 하단 가로 연결선 */
.kried-org-v3-teams::before {
  content: "";
  position: absolute;
  top: -44px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: #dfe7ee;
}

/* 카드 */
.kried-org-v3-card {
  position: relative;
  min-height: 350px;
  padding: 34px 24px 30px;
  border: 1px solid #dfe7ee;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15, 47, 95, 0.07);
  text-align: center;
  box-sizing: border-box;
  overflow: visible;
}

/* 카드 위 세로 연결선 */
.kried-org-v3-card::before {
  content: "";
  position: absolute;
  top: -44px;
  left: 50%;
  width: 2px;
  height: 44px;
  transform: translateX(-50%);
  background: #dfe7ee;
}

/* 카드 아이콘 */
.kried-org-v3-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  margin-bottom: 20px;
  border-radius: 50%;
}

/* SVG 공통 */
.kried-org-v3 svg,
.kried-org-v3 svg path,
.kried-org-v3 svg circle,
.kried-org-v3 svg line,
.kried-org-v3 svg polyline,
.kried-org-v3 svg polygon,
.kried-org-v3 svg rect {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.85 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.kried-org-v3-board-icon svg {
  width: 30px;
  height: 30px;
}

.kried-org-v3-council-icon svg {
  width: 34px;
  height: 34px;
}

.kried-org-v3-card-icon svg {
  width: 40px;
  height: 40px;
}

/* 카드 제목 */
.kried-org-v3-card h3 {
  min-height: 58px;
  margin: 0;
  color: #0f2f5f;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.045em;
  word-break: keep-all;
}

/* 제목 아래 선 */
.kried-org-v3-line {
  display: block;
  width: 44px;
  height: 3px;
  margin: 17px auto 22px;
  border-radius: 999px;
  background: #1e6f4a;
}

/* 연구팀 설명 */
.kried-org-v3-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.kried-org-v3-card li {
  display: block;
  color: #334155;
  font-size: 15.8px;
  line-height: 1.8;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  word-break: keep-all;
  letter-spacing: -0.035em;
}

.kried-org-v3-card li + li {
  margin-top: 8px;
}

/* 카드별 아이콘 색상 */
.kried-org-v3-water {
  background: #edf3f8;
  color: #1d4f86;
}

.kried-org-v3-earth {
  background: #edf7f2;
  color: #1e6f4a;
}

.kried-org-v3-energy {
  background: #eef3f8;
  color: #1d4f86;
}

.kried-org-v3-book {
  background: #f8fafc;
  color: #526174;
}

/* 태블릿 */
@media (max-width: 1000px) {
  .kried-org-v3 {
    width: 100%;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }

  .kried-org-v3-teams {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kried-org-v3-teams::before,
  .kried-org-v3-card::before {
    display: none;
  }

  .kried-org-v3-card li {
    white-space: nowrap;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .kried-org-v3 {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    transform: none;
    padding: 10px 0 35px;
  }

  .kried-org-v3-board,
  .kried-org-v3-council {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 22px 18px;
  }

  .kried-org-v3-board strong {
    font-size: 24px;
  }

  .kried-org-v3-board-icon {
    width: 44px;
    height: 44px;
    margin-right: 12px;
    flex: 0 0 44px;
  }

  .kried-org-v3-council {
    flex-direction: column;
  }

  .kried-org-v3-council-icon {
    margin: 0 0 10px;
  }

  .kried-org-v3-council-text {
    text-align: center;
  }

  .kried-org-v3-council strong {
    font-size: 29px;
  }

  .kried-org-v3-council em {
    font-size: 15.5px;
  }

  .kried-org-v3-top,
  .kried-org-v3-middle {
    margin-bottom: 34px;
  }

  .kried-org-v3-top::after,
  .kried-org-v3-middle::after {
    bottom: -34px;
    height: 34px;
  }

  .kried-org-v3-teams {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 42px;
  }

  .kried-org-v3-teams::before,
  .kried-org-v3-card::before {
    display: none;
  }

  .kried-org-v3-card {
    min-height: auto;
    padding: 30px 22px;
  }

  .kried-org-v3-card h3 {
    min-height: auto;
    font-size: 22px;
  }

  .kried-org-v3-card li {
    white-space: normal;
    font-size: 16px;
  }
}
/* =====================================================
   국토환경연구원 조직도 최종안 FINAL3
   - 3번째 시안 이미지 기준
   - 미디어 업로드 PNG 아이콘 사용
   - PC / 태블릿 / 모바일 반응형
===================================================== */

.kried-org-final3 {
  width: calc(100vw - 60px);
  max-width: 1420px;
  margin-left: 50%;
  transform: translateX(-50%);
  padding: 24px 0 70px;
  overflow: visible;
}

.kried-org-final3-wrap {
  position: relative;
  width: 100%;
  overflow: visible;
}

/* 상단 / 중간 */
.kried-org-final3-top,
.kried-org-final3-middle {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 42px;
}

/* 세로 연결선 */
.kried-org-final3-top::after,
.kried-org-final3-middle::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -42px;
  width: 2px;
  height: 42px;
  background: #dfe7ee;
}

/* 이사회 / 연구협의회 크기 통일 */
.kried-org-final3-board,
.kried-org-final3-council {
  width: 620px;
  min-width: 620px;
  height: 138px;
  min-height: 138px;
  border-radius: 18px;
  box-sizing: border-box;
}

/* 이사회 */
.kried-org-final3-board {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 46px;
  background: linear-gradient(135deg, #0f2f5f 0%, #132b52 100%);
  color: #ffffff;
  box-shadow: 0 16px 40px rgba(15, 47, 95, 0.20);
  border: 2px solid rgba(232, 199, 133, 0.85);
}

.kried-org-final3-board-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin-right: 22px;
  border-radius: 16px;
  flex: 0 0 72px;
}

.kried-org-final3-board-divider {
  display: block;
  width: 1px;
  height: 46px;
  margin-right: 28px;
  background: rgba(255, 255, 255, 0.22);
}

.kried-org-final3-board strong {
  color: #ffffff;
  font-size: 38px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: -0.055em;
}

/* 연구협의회 */
.kried-org-final3-council {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 46px;
  background: linear-gradient(135deg, #145d4a 0%, #1e6f4a 100%);
  color: #ffffff;
  box-shadow: 0 16px 40px rgba(30, 111, 74, 0.22);
}

.kried-org-final3-council-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  margin-right: 30px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.32);
  flex: 0 0 84px;
}

.kried-org-final3-council-text {
  text-align: left;
}

.kried-org-final3-council strong {
  display: block;
  margin: 0 0 10px;
  color: #ffffff;
  font-size: 38px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: -0.055em;
}

.kried-org-final3-council em {
  display: block;
  color: rgba(255, 255, 255, 0.9);
  font-size: 19px;
  line-height: 1.45;
  font-style: normal;
  font-weight: 700;
}

/* 아이콘 이미지 공통 */
.kried-org-final3 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 하단 연구팀 */
.kried-org-final3-teams {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
  margin-top: 78px;
}

/* 하단 가로 연결선 */
.kried-org-final3-teams::before {
  content: "";
  position: absolute;
  top: -50px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: #dfe7ee;
}

/* 카드 */
.kried-org-final3-card {
  position: relative;
  min-height: 420px;
  padding: 42px 30px 34px;
  border: 1px solid #dfe7ee;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 47, 95, 0.08);
  text-align: center;
  box-sizing: border-box;
  overflow: visible;
}

/* 카드 위 세로 연결선 */
.kried-org-final3-card::before {
  content: "";
  position: absolute;
  top: -50px;
  left: 50%;
  width: 2px;
  height: 50px;
  transform: translateX(-50%);
  background: #dfe7ee;
}

/* 카드 위 작은 노드 */
.kried-org-final3-card::after {
  content: "";
  position: absolute;
  top: -58px;
  left: 50%;
  width: 16px;
  height: 16px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #1e6f4a;
  border: 4px solid #ffffff;
  box-shadow: 0 0 0 1px #dfe7ee;
}

/* 카드 아이콘 */
.kried-org-final3-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 86px;
  height: 86px;
  margin-bottom: 24px;
  border-radius: 50%;
}

/* 카드 제목 */
.kried-org-final3-card h3 {
  min-height: 62px;
  margin: 0;
  color: #0f2f5f;
  font-size: 25px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.05em;
  word-break: keep-all;
}

/* 제목 아래 선 */
.kried-org-final3-line {
  display: block;
  width: 48px;
  height: 3px;
  margin: 18px auto 26px;
  border-radius: 999px;
  background: #1e6f4a;
}

/* 연구팀 설명 */
.kried-org-final3-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.kried-org-final3-card li {
  display: block;
  color: #334155;
  font-size: 17px;
  line-height: 1.85;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  word-break: keep-all;
  letter-spacing: -0.035em;
}

.kried-org-final3-card li + li {
  margin-top: 9px;
}

/* 카드별 아이콘 배경 */
.kried-org-final3-water {
  background: #edf3f8;
}

.kried-org-final3-earth {
  background: #edf7f2;
}

.kried-org-final3-energy {
  background: #eef3f8;
}

.kried-org-final3-book {
  background: #f8fafc;
}

/* 태블릿 */
@media (max-width: 1100px) {
  .kried-org-final3 {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    transform: none;
  }

  .kried-org-final3-teams {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }

  .kried-org-final3-teams::before,
  .kried-org-final3-card::before,
  .kried-org-final3-card::after {
    display: none;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .kried-org-final3 {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    transform: none;
    padding: 10px 0 40px;
  }

  .kried-org-final3-board,
  .kried-org-final3-council {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 24px 18px;
  }

  .kried-org-final3-board {
    flex-direction: column;
    gap: 10px;
  }

  .kried-org-final3-board-icon {
    width: 64px;
    height: 64px;
    margin-right: 0;
  }

  .kried-org-final3-board-divider {
    display: none;
  }

  .kried-org-final3-board strong {
    font-size: 27px;
  }

  .kried-org-final3-council {
    flex-direction: column;
  }

  .kried-org-final3-council-icon {
    width: 76px;
    height: 76px;
    margin: 0 0 12px;
  }

  .kried-org-final3-council-text {
    text-align: center;
  }

  .kried-org-final3-council strong {
    font-size: 30px;
  }

  .kried-org-final3-council em {
    font-size: 15.5px;
  }

  .kried-org-final3-top,
  .kried-org-final3-middle {
    margin-bottom: 34px;
  }

  .kried-org-final3-top::after,
  .kried-org-final3-middle::after {
    bottom: -34px;
    height: 34px;
  }

  .kried-org-final3-teams {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 42px;
  }

  .kried-org-final3-teams::before,
  .kried-org-final3-card::before,
  .kried-org-final3-card::after {
    display: none;
  }

  .kried-org-final3-card {
    min-height: auto;
    padding: 34px 22px;
  }

  .kried-org-final3-card h3 {
    min-height: auto;
    font-size: 23px;
  }

  .kried-org-final3-card li {
    white-space: normal;
    font-size: 16px;
  }
}
/* =====================================================
   조직도 최종 화면 위치 / 연결선 조정
===================================================== */

/* 조직도 전체를 아래로 조금 내리기 */
.kried-org-final3 {
  padding-top: 70px !important;
}

/* 상단 이사회 박스가 잘리지 않게 */
.kried-org-final3-wrap {
  padding-top: 10px !important;
}

/* 하단 가로 연결선 길이 줄이기 */
.kried-org-final3-teams::before {
  left: 9% !important;
  right: 9% !important;
}

/* 카드 위 점 위치 안정화 */
.kried-org-final3-card::after {
  top: -58px !important;
}

/* 카드 위 세로선 위치 안정화 */
.kried-org-final3-card::before {
  top: -50px !important;
  height: 50px !important;
}

/* 연구협의회 아래 세로선이 너무 길어 보이면 살짝 줄임 */
.kried-org-final3-middle::after {
  height: 36px !important;
  bottom: -36px !important;
}

/* 하단 카드 영역과 연구협의회 사이 간격 */
.kried-org-final3-teams {
  margin-top: 70px !important;
}
/* =====================================================
   조직도 하단 카드 폭 / 좌우 여백 안정화
===================================================== */

/* 전체 조직도 폭을 조금 줄여서 좌우 잘림 방지 */
.kried-org-final3 {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* 연구팀 카드 간격을 안정적으로 조정 */
.kried-org-final3-teams {
  gap: 30px !important;
}

/* 하단 가로 연결선이 너무 바깥으로 나가지 않게 */
.kried-org-final3-teams::before {
  left: 12.5% !important;
  right: 12.5% !important;
}

/* 카드 내부 여백 약간 정돈 */
.kried-org-final3-card {
  padding-left: 26px !important;
  padding-right: 26px !important;
}
/* =====================================================
   조직도 하단 카드 폭 재조정
   - 본문 폭에 갇힌 문제 해결
   - 카드 제목 줄바꿈 완화
===================================================== */

/* 조직도 전체를 다시 넓게 사용 */
.kried-org-final3 {
  width: calc(100vw - 80px) !important;
  max-width: 1380px !important;
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* 연구팀 카드 4개를 넓게 배치 */
.kried-org-final3-teams {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px !important;
}

/* 카드 내부 여백 */
.kried-org-final3-card {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* 카드 제목이 너무 쉽게 줄바꿈되지 않도록 조정 */
.kried-org-final3-card h3 {
  font-size: 23px !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}

/* 하단 설명은 한 줄 유지 */
.kried-org-final3-card li {
  font-size: 16.5px !important;
  white-space: nowrap !important;
}

/* 연결선 길이 안정화 */
.kried-org-final3-teams::before {
  left: 12.5% !important;
  right: 12.5% !important;
}

/* 태블릿에서는 2개씩 */
@media (max-width: 1100px) {
  .kried-org-final3 {
    width: 100% !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .kried-org-final3-teams {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .kried-org-final3-card h3 {
    white-space: normal !important;
  }
}

/* 모바일에서는 1개씩 */
@media (max-width: 640px) {
  .kried-org-final3 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .kried-org-final3-teams {
    grid-template-columns: 1fr !important;
  }

  .kried-org-final3-card h3,
  .kried-org-final3-card li {
    white-space: normal !important;
  }
}
/* =====================================================
   조직도 상단 여백 재조정
   - 제목 영역 아래 흰 여백 줄이기
===================================================== */

.kried-org-final3 {
  padding-top: 55px !important;
}

.kried-org-final3-wrap {
  padding-top: 0 !important;
}
/* =====================================================
   조직도 상단 여백 최종 조정
   - 제목 아래 흰 여백 줄이기
   - 하단 카드가 조금 더 위로 올라오도록 조정
===================================================== */

/* 조직도 전체 시작 위치를 위로 조금 올림 */
.kried-org-final3 {
  padding-top: 35px !important;
}

/* 이사회와 연구협의회 사이 간격 유지 */
.kried-org-final3-top {
  margin-bottom: 42px !important;
}

/* 연구협의회와 하단 카드 사이 간격 살짝 줄임 */
.kried-org-final3-middle {
  margin-bottom: 34px !important;
}

.kried-org-final3-middle::after {
  bottom: -34px !important;
  height: 34px !important;
}

/* 하단 카드 영역을 조금 위로 올림 */
.kried-org-final3-teams {
  margin-top: 62px !important;
}

/* 하단 가로선 위치도 함께 조정 */
.kried-org-final3-teams::before {
  top: -44px !important;
}

/* 카드 위 세로선과 점 위치 조정 */
.kried-org-final3-card::before {
  top: -44px !important;
  height: 44px !important;
}

.kried-org-final3-card::after {
  top: -52px !important;
}
/* =====================================================
   조직도 최종 여백 미세 조정
   - 제목 아래 흰 여백 조금 줄이기
===================================================== */

.kried-org-final3 {
  padding-top: 20px !important;
}
/* =====================================================
   연구보고서 목록 - 커버 이미지 / 글 비율 조정
   적용 페이지: /category/reports/
===================================================== */

/* 연구보고서 한 줄 카드 */
.research-nkis-item {
  display: grid !important;
  grid-template-columns: 230px 1fr !important;
  gap: 36px !important;
  align-items: flex-start !important;
  padding: 30px 34px !important;
}

/* 왼쪽 커버 영역 */
.research-thumb {
  width: 230px !important;
  max-width: 230px !important;
  margin: 0 !important;
}

/* 커버 링크 */
.research-thumb a,
.research-thumb-default-image {
  display: block !important;
  width: 230px !important;
}

/* 커버 이미지 */
.research-thumb img,
.research-thumb-default-image img {
  display: block !important;
  width: 230px !important;
  height: auto !important;
  border-radius: 12px !important;
  object-fit: contain !important;
  box-shadow: 0 14px 28px rgba(15, 47, 95, 0.14) !important;
}

/* 오른쪽 정보 영역 */
.research-info {
  padding-top: 2px !important;
}

/* 제목 크기와 간격 */
.research-title {
  margin: 0 0 20px !important;
  font-size: 27px !important;
  line-height: 1.35 !important;
  letter-spacing: -0.045em !important;
}

.research-title a {
  color: var(--primary-900) !important;
  text-decoration: none !important;
}

/* 메타 정보 2열 배치 안정화 */
.research-meta-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 44px !important;
  row-gap: 14px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  list-style: none !important;
}

/* 각 항목 */
.research-meta-list li {
  display: grid !important;
  grid-template-columns: 92px 1fr !important;
  gap: 14px !important;
  align-items: start !important;
  margin: 0 !important;
}

/* 항목명 */
.research-meta-list strong {
  color: var(--primary-900) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

/* 항목 내용 */
.research-meta-list span {
  color: var(--text-700) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* 상세보기 버튼 위치 */
.research-actions {
  margin-top: 18px !important;
}

/* 태블릿 */
@media (max-width: 900px) {
  .research-nkis-item {
    grid-template-columns: 190px 1fr !important;
    gap: 28px !important;
    padding: 28px !important;
  }

  .research-thumb,
  .research-thumb a,
  .research-thumb-default-image,
  .research-thumb img,
  .research-thumb-default-image img {
    width: 190px !important;
    max-width: 190px !important;
  }

  .research-meta-list {
    grid-template-columns: 1fr !important;
    row-gap: 12px !important;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .research-nkis-item {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 24px 20px !important;
  }

  .research-thumb {
    width: 100% !important;
    max-width: 240px !important;
    margin: 0 auto !important;
  }

  .research-thumb a,
  .research-thumb-default-image,
  .research-thumb img,
  .research-thumb-default-image img {
    width: 100% !important;
    max-width: 240px !important;
  }

  .research-info {
    padding-top: 0 !important;
  }

  .research-title {
    font-size: 23px !important;
    text-align: center !important;
  }

  .research-meta-list {
    grid-template-columns: 1fr !important;
  }

  .research-meta-list li {
    grid-template-columns: 86px 1fr !important;
  }

  .research-actions {
    text-align: center !important;
  }
}
/* =====================================================
   연구보고서 목록 페이지네이션
   - 숫자 페이지 버튼 디자인
   - PC / 모바일 공통
===================================================== */

.board-pagination {
  display: flex !important;
  justify-content: center !important;
  margin-top: 36px !important;
}

.board-pagination .nav-links {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.board-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid #dfe7ee !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #334155 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.board-pagination .page-numbers.current {
  background: #0f2f5f !important;
  border-color: #0f2f5f !important;
  color: #ffffff !important;
}

.board-pagination a.page-numbers:hover {
  background: #edf3f8 !important;
  border-color: #1d4f86 !important;
  color: #0f2f5f !important;
}

/* 모바일 */
@media (max-width: 640px) {
  .board-pagination {
    margin-top: 28px !important;
  }

  .board-pagination .page-numbers {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    font-size: 14px !important;
  }
}
/* =====================================================
   연구보고서 목록 - 이미지/글 영역 높이 균형 조정
   - 오른쪽 글자 아래 여백 줄이기
   - 커버와 텍스트 영역 비율 안정화
===================================================== */

.research-nkis-item {
  display: grid !important;
  grid-template-columns: 170px 1fr !important;
  gap: 28px !important;
  align-items: center !important;
  padding: 24px 30px !important;
  min-height: auto !important;
}

.research-thumb {
  width: 170px !important;
  max-width: 170px !important;
  margin: 0 !important;
}

.research-thumb a,
.research-thumb-default-image {
  display: block !important;
  width: 170px !important;
}

.research-thumb img,
.research-thumb-default-image img {
  display: block !important;
  width: 170px !important;
  height: auto !important;
  border-radius: 10px !important;
  object-fit: contain !important;
  box-shadow: 0 12px 24px rgba(15, 47, 95, 0.12) !important;
}

.research-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 0 !important;
  min-height: auto !important;
}

.research-title {
  margin: 0 0 14px !important;
  font-size: 25px !important;
  line-height: 1.35 !important;
  letter-spacing: -0.045em !important;
}

.research-meta-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 44px !important;
  row-gap: 10px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  list-style: none !important;
}

.research-meta-list li {
  display: grid !important;
  grid-template-columns: 86px 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 0 !important;
}

.research-meta-list strong {
  font-size: 15.5px !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  color: var(--primary-900) !important;
  white-space: nowrap !important;
}

.research-meta-list span {
  font-size: 15.5px !important;
  line-height: 1.5 !important;
  color: var(--text-700) !important;
}

.research-actions {
  margin-top: 4px !important;
}

.research-action-btn.view {
  min-height: 38px !important;
  padding: 0 18px !important;
}

.research-stats {
  display: none !important;
}

/* 태블릿 */
@media (max-width: 900px) {
  .research-nkis-item {
    grid-template-columns: 150px 1fr !important;
    gap: 24px !important;
    padding: 22px 24px !important;
  }

  .research-thumb,
  .research-thumb a,
  .research-thumb-default-image,
  .research-thumb img,
  .research-thumb-default-image img {
    width: 150px !important;
    max-width: 150px !important;
  }

  .research-title {
    font-size: 23px !important;
  }

  .research-meta-list {
    grid-template-columns: 1fr !important;
    row-gap: 8px !important;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .research-nkis-item {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 24px 20px !important;
    align-items: start !important;
  }

  .research-thumb {
    width: 100% !important;
    max-width: 210px !important;
    margin: 0 auto !important;
  }

  .research-thumb a,
  .research-thumb-default-image,
  .research-thumb img,
  .research-thumb-default-image img {
    width: 100% !important;
    max-width: 210px !important;
  }

  .research-title {
    margin-bottom: 14px !important;
    font-size: 22px !important;
    text-align: center !important;
  }

  .research-meta-list {
    grid-template-columns: 1fr !important;
    margin-bottom: 16px !important;
  }

  .research-meta-list li {
    grid-template-columns: 82px 1fr !important;
  }

  .research-actions {
    text-align: center !important;
  }
}
/* =====================================================
   연구보고서 목록 - 이미지와 글자 영역 높이 균형 조정
   - 오른쪽 글자 아래 빈 공간 줄이기
===================================================== */

/* 한 개 연구보고서 카드 */
.research-nkis-item {
  display: grid !important;
  grid-template-columns: 150px 1fr !important;
  gap: 30px !important;
  align-items: start !important;
  padding: 22px 30px !important;
  min-height: auto !important;
}

/* 왼쪽 커버 영역 */
.research-thumb {
  width: 150px !important;
  max-width: 150px !important;
  margin: 0 !important;
}

/* 커버 이미지 */
.research-thumb a,
.research-thumb-default-image {
  display: block !important;
  width: 150px !important;
}

.research-thumb img,
.research-thumb-default-image img {
  display: block !important;
  width: 150px !important;
  height: auto !important;
  border-radius: 10px !important;
  object-fit: contain !important;
  box-shadow: 0 10px 22px rgba(15, 47, 95, 0.12) !important;
}

/* 오른쪽 글자 영역 */
.research-info {
  padding: 0 !important;
  min-height: auto !important;
}

/* 제목 */
.research-title {
  margin: 0 0 14px !important;
  font-size: 25px !important;
  line-height: 1.35 !important;
}

/* 항목 영역 */
.research-meta-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 44px !important;
  row-gap: 8px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  list-style: none !important;
}

/* 항목 한 줄 */
.research-meta-list li {
  display: grid !important;
  grid-template-columns: 82px 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  margin: 0 !important;
}

/* 항목명 */
.research-meta-list strong {
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

/* 항목 내용 */
.research-meta-list span {
  font-size: 15.5px !important;
  line-height: 1.45 !important;
}

/* 상세보기 버튼 */
.research-actions {
  margin-top: 8px !important;
}

.research-action-btn.view {
  min-height: 36px !important;
  padding: 0 17px !important;
  font-size: 15px !important;
}

/* 등록일은 계속 숨김 */
.research-stats {
  display: none !important;
}

/* 태블릿 */
@media (max-width: 900px) {
  .research-nkis-item {
    grid-template-columns: 140px 1fr !important;
    gap: 24px !important;
    padding: 22px 24px !important;
  }

  .research-thumb,
  .research-thumb a,
  .research-thumb-default-image,
  .research-thumb img,
  .research-thumb-default-image img {
    width: 140px !important;
    max-width: 140px !important;
  }

  .research-title {
    font-size: 23px !important;
  }

  .research-meta-list {
    grid-template-columns: 1fr !important;
    row-gap: 8px !important;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .research-nkis-item {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 24px 20px !important;
  }

  .research-thumb {
    width: 100% !important;
    max-width: 190px !important;
    margin: 0 auto !important;
  }

  .research-thumb a,
  .research-thumb-default-image,
  .research-thumb img,
  .research-thumb-default-image img {
    width: 100% !important;
    max-width: 190px !important;
  }

  .research-title {
    margin-bottom: 14px !important;
    font-size: 22px !important;
    text-align: center !important;
  }

  .research-meta-list {
    grid-template-columns: 1fr !important;
  }

  .research-meta-list li {
    grid-template-columns: 82px 1fr !important;
  }

  .research-actions {
    text-align: center !important;
  }
}
/* =====================================================
   연구보고서 목록 - 빈 공간 최종 미세 조정
   - 이미지와 글자 영역 아래 여백 조금 더 줄이기
===================================================== */

/* 카드 전체 상하 여백 줄이기 */
.research-nkis-item {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  align-items: center !important;
}

/* 커버 이미지를 아주 조금만 줄임 */
.research-thumb,
.research-thumb a,
.research-thumb-default-image,
.research-thumb img,
.research-thumb-default-image img {
  width: 142px !important;
  max-width: 142px !important;
}

/* 제목 아래 간격 줄이기 */
.research-title {
  margin-bottom: 10px !important;
}

/* 항목 간 세로 간격 줄이기 */
.research-meta-list {
  row-gap: 6px !important;
  margin-bottom: 8px !important;
}

/* 상세보기 버튼 위 여백 줄이기 */
.research-actions {
  margin-top: 4px !important;
}

/* 버튼 높이 살짝 줄이기 */
.research-action-btn.view {
  min-height: 34px !important;
  padding: 0 16px !important;
  font-size: 14.5px !important;
}
/* =====================================================
   연구보고서 목록 - 상세보기 버튼 오른쪽 하단 배치
===================================================== */

/* 카드 높이는 이미지 기준에 맞추고 오른쪽 정보는 위-아래로 배치 */
.research-nkis-item {
  align-items: stretch !important;
}

/* 오른쪽 글자 영역 전체 */
.research-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 190px !important;
}

/* 항목 영역 아래 여백 최소화 */
.research-meta-list {
  margin-bottom: 0 !important;
}

/* 상세보기 버튼을 오른쪽 맨 아래로 */
.research-actions {
  margin-top: auto !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-end !important;
}

/* 상세보기 버튼 크기 안정화 */
.research-action-btn.view {
  min-height: 36px !important;
  padding: 0 17px !important;
  font-size: 14.5px !important;
}

/* 모바일에서는 가운데 정렬 */
@media (max-width: 640px) {
  .research-info {
    min-height: auto !important;
  }

  .research-actions {
    margin-top: 16px !important;
    justify-content: center !important;
  }
}
/* =====================================================
   연구보고서 목록 - 상세보기 하단 배치 후 높이 미세 조정
   - 카드 세로 여백 줄이기
   - 상세보기 버튼은 오른쪽 하단 유지
===================================================== */

/* 카드 전체 높이 줄이기 */
.research-nkis-item {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  align-items: stretch !important;
}

/* 커버 이미지 크기 유지하되 공간 안정화 */
.research-thumb,
.research-thumb a,
.research-thumb-default-image,
.research-thumb img,
.research-thumb-default-image img {
  width: 138px !important;
  max-width: 138px !important;
}

/* 오른쪽 정보 영역 */
.research-info {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 170px !important;
  padding: 0 !important;
}

/* 제목 아래 간격 줄이기 */
.research-title {
  margin-bottom: 8px !important;
}

/* 항목 간격 줄이기 */
.research-meta-list {
  row-gap: 5px !important;
  margin-bottom: 0 !important;
}

/* 상세보기는 오른쪽 하단 유지 */
.research-actions {
  margin-top: auto !important;
  display: flex !important;
  justify-content: flex-end !important;
}

/* 버튼 크기 */
.research-action-btn.view {
  min-height: 34px !important;
  padding: 0 16px !important;
  font-size: 14.5px !important;
}
/* =====================================================
   연구보고서 목록 - 메타 정보 위치 / 글자 크기 미세 조정
   - 발주처, 사업분야, 발행연도, 연구진 항목을 조금 아래로
   - 글자 크기 약간 확대
   - 상세보기 버튼은 오른쪽 하단 유지
===================================================== */

/* 제목 아래 여백을 조금 늘려서 항목을 아래로 이동 */
.research-title {
  margin-bottom: 16px !important;
}

/* 항목 전체 위치와 간격 */
.research-meta-list {
  row-gap: 8px !important;
  margin-top: 2px !important;
  margin-bottom: 0 !important;
}

/* 항목 한 줄 */
.research-meta-list li {
  grid-template-columns: 88px 1fr !important;
  gap: 14px !important;
  align-items: center !important;
}

/* 항목명: 발주처 / 사업분야 / 발행연도 / 연구진 */
.research-meta-list strong {
  font-size: 16.5px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
}

/* 항목 내용: 환경부 / 2024 / 물관리·물순환 / 연구진 */
.research-meta-list span {
  font-size: 16.5px !important;
  line-height: 1.55 !important;
}

/* 상세보기 버튼은 오른쪽 하단 유지 */
.research-actions {
  margin-top: auto !important;
  justify-content: flex-end !important;
}
/* =====================================================
   연구보고서 상세페이지 상단 영역 균형 조정
   - 표지 이미지와 오른쪽 정보영역 높이 맞추기
   - 버튼 아래 빈 공간 줄이기
===================================================== */

/* 상단 전체 영역 */
.research-detail-main {
  display: grid !important;
  grid-template-columns: 220px 1fr !important;
  gap: 34px !important;
  align-items: start !important;
  padding: 34px 36px !important;
  min-height: auto !important;
}

/* 왼쪽 표지 영역 */
.research-cover {
  width: 220px !important;
  max-width: 220px !important;
  margin: 0 !important;
}

.research-cover-image {
  width: 220px !important;
  margin: 0 !important;
}

.research-cover-image img {
  display: block !important;
  width: 220px !important;
  height: auto !important;
  border-radius: 14px !important;
  object-fit: contain !important;
  box-shadow: 0 14px 28px rgba(15, 47, 95, 0.12) !important;
}

/* 오른쪽 제목/정보 영역 */
.research-detail-title {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: auto !important;
  height: auto !important;
  padding: 0 !important;
}

/* 영문 라벨 */
.research-board-kicker {
  margin-bottom: 14px !important;
}

/* 제목 */
.research-detail-title h2 {
  margin: 0 0 18px !important;
  font-size: 34px !important;
  line-height: 1.25 !important;
  letter-spacing: -0.04em !important;
}

/* 메타정보 칩 */
.research-meta-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

/* 각 칩 */
.research-meta-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

/* 버튼 영역 */
.research-download-row {
  margin-top: 4px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* 버튼 */
.research-download-btn {
  min-height: 42px !important;
  padding: 0 20px !important;
  font-size: 15px !important;
}

/* 혹시 기존에 큰 최소높이가 있다면 제거 */
.research-detail-main,
.research-detail-title,
.research-cover,
.research-cover-image {
  min-height: auto !important;
}

/* 태블릿 */
@media (max-width: 900px) {
  .research-detail-main {
    grid-template-columns: 180px 1fr !important;
    gap: 26px !important;
    padding: 28px !important;
  }

  .research-cover,
  .research-cover-image,
  .research-cover-image img {
    width: 180px !important;
    max-width: 180px !important;
  }

  .research-detail-title h2 {
    font-size: 28px !important;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .research-detail-main {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 24px 20px !important;
  }

  .research-cover {
    width: 100% !important;
    max-width: 220px !important;
    margin: 0 auto !important;
  }

  .research-cover-image,
  .research-cover-image img {
    width: 100% !important;
    max-width: 220px !important;
    margin: 0 auto !important;
  }

  .research-detail-title h2 {
    font-size: 26px !important;
    text-align: left !important;
  }

  .research-meta-chips {
    gap: 8px !important;
  }

  .research-meta-chip {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}
.research-detail-main {
  padding-bottom: 24px !important;
}

.research-download-row {
  margin-bottom: 0 !important;
}

.research-detail-title > *:last-child {
  margin-bottom: 0 !important;
}
/* =====================================================
   연구보고서 상세페이지 - 최종 미세 조정
   - 상단 Research Reports 길이 줄이기
   - 제목/메타/버튼 간격 자연스럽게 정리
===================================================== */

/* 상단 영문 라벨 */
.research-board-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 140px !important;
  max-width: max-content !important;
  padding: 0 16px !important;
  height: 34px !important;
  border-radius: 999px !important;
  margin-bottom: 16px !important;
}

/* 오른쪽 정보 영역 */
.research-detail-title {
  justify-content: center !important;
}

/* 제목 */
.research-detail-title h2 {
  margin: 0 0 16px !important;
}

/* 메타정보 */
.research-meta-chips {
  margin: 0 0 16px !important;
}

/* 버튼 영역 */
.research-download-row {
  margin-top: 0 !important;
}

/* 모바일 */
@media (max-width: 640px) {
  .research-board-kicker {
    min-width: 128px !important;
    height: 32px !important;
    padding: 0 14px !important;
  }
}
/* =====================================================
   연구보고서 상세페이지 - 연구진 항목 아래줄 배치
   - 연구진이 3명 이상일 때 보기 좋게 정리
===================================================== */

/* 메타정보 전체 */
.research-meta-chips {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  margin: 0 0 18px !important;
}

/* 기본 칩 */
.research-meta-chip {
  display: flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

/* 연구진은 아래줄 전체 폭 사용 */
.research-meta-chip:last-child {
  grid-column: 1 / -1 !important;
  align-items: flex-start !important;
  min-height: auto !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* 연구진 항목명 */
.research-meta-chip:last-child strong {
  flex: 0 0 auto !important;
  margin-right: 8px !important;
  white-space: nowrap !important;
}

/* 모바일에서는 모두 한 줄씩 */
@media (max-width: 640px) {
  .research-meta-chips {
    grid-template-columns: 1fr !important;
  }

  .research-meta-chip {
    width: 100% !important;
  }

  .research-meta-chip:last-child {
    grid-column: auto !important;
  }
}

/* =====================================================
   연구보고서 상세페이지 - 메타정보 최종 배치
   - 1줄: 발주처 / 발행연도
   - 2줄: 사업분야 / 연구진
   - 3줄: 자료 내용 보기 버튼
===================================================== */

.research-meta-chips.research-meta-chips-layout {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  margin: 0 0 16px !important;
}

.research-meta-chips-layout .research-meta-chip {
  display: flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

.research-meta-chips-layout .research-meta-chip:last-child,
.research-meta-chips-layout .research-meta-chip-researchers-inline {
  grid-column: auto !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 0 16px !important;
}

.research-meta-chips-layout .research-meta-chip strong {
  flex: 0 0 auto !important;
  margin-right: 8px !important;
  white-space: nowrap !important;
}

.research-download-row.research-download-row-bottom {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

.research-download-row-bottom .research-download-btn {
  min-height: 40px !important;
  padding: 0 20px !important;
  font-size: 15px !important;
}

.research-detail-main {
  padding-top: 30px !important;
  padding-bottom: 26px !important;
  align-items: center !important;
}

@media (max-width: 640px) {
  .research-meta-chips.research-meta-chips-layout {
    grid-template-columns: 1fr !important;
  }

  .research-download-row.research-download-row-bottom {
    justify-content: center !important;
    margin-top: 12px !important;
  }
}
/* =====================================================
   첫 화면 최근 연구현황 카드
   - 연구자료 / 제목 / 연구진 / 요약 / 자세히 보기
   - PC 3개 카드 / 태블릿·모바일 1열
===================================================== */

.home-reports-section {
  padding: 80px 0;
  background: #ffffff;
}

.home-report-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.home-report-card {
  display: flex;
  flex-direction: column;
  min-height: 420px;
  padding: 24px;
  border: 1px solid #dfe7ee;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 16px 38px rgba(15, 47, 95, 0.08);
  box-sizing: border-box;
}

.home-report-card-top {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 20px;
  align-items: flex-start;
}

.home-report-cover {
  display: block;
  width: 120px;
}

.home-report-cover img {
  display: block;
  width: 120px;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 12px 24px rgba(15, 47, 95, 0.12);
}

.home-report-main {
  min-width: 0;
}

.home-report-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 14px;
  margin-bottom: 14px;
  border: 1px solid #b9dccb;
  border-radius: 999px;
  background: #edf7f2;
  color: #1e6f4a;
  font-size: 14px;
  font-weight: 900;
}

.home-report-card h3 {
  margin: 0 0 16px;
  color: #0f2f5f;
  font-size: 21px;
  line-height: 1.55;
  font-weight: 900;
  letter-spacing: -0.045em;
  word-break: keep-all;
}

.home-report-card h3 a {
  color: inherit;
  text-decoration: none;
}

.home-report-card h3 a:hover {
  text-decoration: underline;
}

.home-report-researchers {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: #526174;
  font-size: 15px;
  line-height: 1.6;
}

.home-report-researchers strong {
  flex: 0 0 auto;
  color: #0f2f5f;
  font-weight: 900;
  white-space: nowrap;
}

.home-report-researchers span {
  color: #526174;
  font-weight: 600;
}

.home-report-summary {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid #dfe7ee;
}

.home-report-summary strong {
  display: inline-flex;
  align-items: center;
  margin-bottom: 10px;
  color: #1e6f4a;
  font-size: 15px;
  font-weight: 900;
}

.home-report-summary p {
  margin: 0;
  color: #334155;
  font-size: 15.5px;
  line-height: 1.8;
  word-break: keep-all;
}

.home-report-card-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: auto;
  padding-top: 22px;
}

.home-report-card-footer a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #48a878;
  border-radius: 999px;
  background: #ffffff;
  color: #1e6f4a;
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
}

.home-report-card-footer a:hover {
  background: #edf7f2;
}

/* 태블릿 */
@media (max-width: 1000px) {
  .home-report-card-grid {
    grid-template-columns: 1fr;
  }

  .home-report-card {
    min-height: auto;
  }

  .home-report-card-top {
    grid-template-columns: 130px 1fr;
  }

  .home-report-cover,
  .home-report-cover img {
    width: 130px;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .home-reports-section {
    padding: 58px 0;
  }

  .home-report-card {
    padding: 22px;
    border-radius: 20px;
  }

  .home-report-card-top {
    grid-template-columns: 96px 1fr;
    gap: 16px;
  }

  .home-report-cover,
  .home-report-cover img {
    width: 96px;
  }

  .home-report-tag {
    min-height: 30px;
    margin-bottom: 10px;
    padding: 0 12px;
    font-size: 13px;
  }

  .home-report-card h3 {
    margin-bottom: 12px;
    font-size: 19px;
    line-height: 1.5;
  }

  .home-report-researchers {
    font-size: 14px;
  }

  .home-report-summary {
    margin-top: 20px;
    padding-top: 18px;
  }

  .home-report-summary p {
    font-size: 15px;
    line-height: 1.75;
  }

  .home-report-card-footer {
    justify-content: center;
  }

  .home-report-card-footer a {
    width: 100%;
  }
}
/* =====================================================
   첫 화면 최근 연구현황 카드 - 이미지 없는 최종형
   - 연구자료 / 제목 / 연구진 / 요약 / 자세히 보기
===================================================== */

.home-report-card-grid-textonly {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.home-report-card-textonly {
  display: flex !important;
  flex-direction: column !important;
  min-height: 330px !important;
  padding: 28px 28px 26px !important;
  border: 1px solid #dfe7ee !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 38px rgba(15, 47, 95, 0.08) !important;
  box-sizing: border-box !important;
}

/* 기존 이미지 영역이 혹시 남아도 숨김 */
.home-report-card-textonly .home-report-cover,
.home-report-card-textonly .home-report-card-top {
  display: none !important;
}

/* 연구자료 라벨 */
.home-report-card-textonly .home-report-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-height: 32px !important;
  padding: 0 14px !important;
  margin-bottom: 18px !important;
  border: 1px solid #b9dccb !important;
  border-radius: 999px !important;
  background: #edf7f2 !important;
  color: #1e6f4a !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

/* 제목 */
.home-report-card-textonly h3 {
  margin: 0 0 18px !important;
  color: #0f2f5f !important;
  font-size: 23px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
  letter-spacing: -0.045em !important;
  word-break: keep-all !important;
}

.home-report-card-textonly h3 a {
  color: inherit !important;
  text-decoration: none !important;
}

.home-report-card-textonly h3 a:hover {
  text-decoration: underline !important;
}

/* 연구진 */
.home-report-card-textonly .home-report-researchers {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start !important;
  color: #526174 !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
}

.home-report-card-textonly .home-report-researchers strong {
  flex: 0 0 auto !important;
  color: #0f2f5f !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.home-report-card-textonly .home-report-researchers span {
  color: #526174 !important;
  font-weight: 600 !important;
}

/* 요약 */
.home-report-card-textonly .home-report-summary {
  margin-top: 22px !important;
  padding-top: 20px !important;
  border-top: 1px solid #dfe7ee !important;
}

.home-report-card-textonly .home-report-summary strong {
  display: inline-flex !important;
  align-items: center !important;
  margin-bottom: 10px !important;
  color: #1e6f4a !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.home-report-card-textonly .home-report-summary p {
  margin: 0 !important;
  color: #334155 !important;
  font-size: 15.5px !important;
  line-height: 1.8 !important;
  word-break: keep-all !important;
}

/* 자세히 보기 */
.home-report-card-textonly .home-report-card-footer {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: auto !important;
  padding-top: 22px !important;
}

.home-report-card-textonly .home-report-card-footer a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  border: 1px solid #48a878 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #1e6f4a !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.home-report-card-textonly .home-report-card-footer a:hover {
  background: #edf7f2 !important;
}

/* 태블릿 */
@media (max-width: 1000px) {
  .home-report-card-grid-textonly {
    grid-template-columns: 1fr !important;
  }

  .home-report-card-textonly {
    min-height: auto !important;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .home-report-card-textonly {
    padding: 24px 22px !important;
    border-radius: 20px !important;
  }

  .home-report-card-textonly h3 {
    font-size: 20px !important;
    line-height: 1.55 !important;
  }

  .home-report-card-textonly .home-report-summary p {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  .home-report-card-textonly .home-report-card-footer {
    justify-content: center !important;
  }

  .home-report-card-textonly .home-report-card-footer a {
    width: 100% !important;
  }
}
/* =====================================================
   첫 화면 최근 연구현황 카드 - 가독성 보강
===================================================== */

.home-report-card-textonly {
  min-height: 360px !important;
  padding: 30px 30px 28px !important;
}

.home-report-card-textonly h3 {
  font-size: 24px !important;
  line-height: 1.55 !important;
}

.home-report-card-textonly .home-report-researchers {
  font-size: 16px !important;
}

.home-report-card-textonly .home-report-summary p {
  font-size: 16px !important;
  line-height: 1.8 !important;
}

.home-report-card-textonly .home-report-card-footer a {
  min-height: 40px !important;
}
/* =====================================================
   메인화면 - 국토환경연구원은 이런 일을 합니다
   조직도 카드형 시안 적용
===================================================== */

.kried-home-work {
  padding-top: 74px !important;
  padding-bottom: 64px !important;
  background: #ffffff !important;
}

.kried-work-card-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  position: relative !important;
}

/* 위쪽 연결선 느낌 */
.kried-work-card-grid::before {
  content: "";
  position: absolute;
  top: -22px;
  left: 12.5%;
  right: 12.5%;
  height: 1px;
  background: #d7e3ee;
  z-index: 0;
}

.kried-work-card {
  position: relative !important;
  z-index: 1 !important;
  min-height: 330px !important;
  padding: 34px 24px 30px !important;
  border: 1px solid #dfe7ee !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 38px rgba(15, 47, 95, 0.07) !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* 카드 위 세로 연결선 */
.kried-work-card::before {
  content: "";
  position: absolute;
  top: -22px;
  left: 50%;
  width: 1px;
  height: 22px;
  background: #d7e3ee;
  transform: translateX(-50%);
}

.kried-work-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 82px !important;
  height: 82px !important;
  margin: 0 auto 26px !important;
  border: 1px solid #e2eaf1 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 68% 50%, #edf7f2 0 36%, transparent 37%),
    #ffffff !important;
  color: #1e6f4a !important;
  font-size: 34px !important;
  line-height: 1 !important;
  box-shadow: 0 10px 24px rgba(15, 47, 95, 0.06) !important;
}

.kried-work-card h3 {
  margin: 0 !important;
  color: #0f2f5f !important;
  font-size: 24px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: -0.045em !important;
  word-break: keep-all !important;
}

.kried-work-line {
  display: block !important;
  width: 48px !important;
  height: 3px !important;
  margin: 28px auto 26px !important;
  border-radius: 999px !important;
  background: #1e6f4a !important;
}

.kried-work-card ul {
  display: grid !important;
  gap: 13px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.kried-work-card li {
  margin: 0 !important;
  color: #202b3d !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  word-break: keep-all !important;
}

/* 기존 business-card 스타일 영향 차단 */
.kried-home-work .business-card,
.kried-home-work .card-grid {
  all: unset;
}

/* 태블릿 */
@media (max-width: 1100px) {
  .kried-work-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  .kried-work-card-grid::before,
  .kried-work-card::before {
    display: none !important;
  }

  .kried-work-card {
    min-height: 310px !important;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .kried-home-work {
    padding-top: 54px !important;
    padding-bottom: 46px !important;
  }

  .kried-work-card-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .kried-work-card {
    min-height: auto !important;
    padding: 30px 22px 28px !important;
    border-radius: 20px !important;
  }

  .kried-work-icon {
    width: 72px !important;
    height: 72px !important;
    margin-bottom: 22px !important;
    font-size: 30px !important;
  }

  .kried-work-card h3 {
    font-size: 22px !important;
  }

  .kried-work-line {
    margin: 24px auto 22px !important;
  }

  .kried-work-card li {
    font-size: 15.5px !important;
    line-height: 1.5 !important;
  }
}
/* =====================================================
   메인화면 주요사업 카드 - 폰트 이전 스타일에 가깝게 조정
   - 너무 굵은 느낌 완화
   - 부드럽고 안정적인 카드 글자 스타일
===================================================== */

/* 카드 제목 */
.kried-work-card h3 {
  font-size: 22px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  color: #0f2f5f !important;
}

/* 카드 안의 항목 목록 */
.kried-work-card li {
  font-size: 15.5px !important;
  line-height: 1.75 !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  color: #334155 !important;
}

/* 목록 간격도 조금 자연스럽게 */
.kried-work-card ul {
  gap: 7px !important;
}

/* 초록 구분선 위치도 살짝 조정 */
.kried-work-line {
  width: 46px !important;
  height: 2px !important;
  margin: 24px auto 24px !important;
}

/* 아이콘과 제목 사이 여백 약간 줄임 */
.kried-work-icon {
  margin-bottom: 22px !important;
}

/* 모바일에서도 너무 굵지 않게 */
@media (max-width: 640px) {
  .kried-work-card h3 {
    font-size: 21px !important;
    line-height: 1.45 !important;
    font-weight: 800 !important;
  }

  .kried-work-card li {
    font-size: 15px !important;
    line-height: 1.7 !important;
    font-weight: 600 !important;
  }
}
/* =====================================================
   연구보고서 목록/상세 - 항목명 변경 후 폭 보정
   연구분야 / 발행연도 / 연구진 / 주제어
===================================================== */

.research-meta-list li {
  grid-template-columns: 92px 1fr !important;
}

.research-meta-list strong {
  white-space: nowrap !important;
}

.research-meta-list span {
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.research-meta-chip strong {
  white-space: nowrap !important;
}

.research-meta-chip span {
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 640px) {
  .research-meta-list li {
    grid-template-columns: 88px 1fr !important;
  }

  .research-meta-chip {
    width: 100% !important;
  }
}
/* =====================================================
   조직도 - 이사회 / 연구협의회 이미지 삭제
   적용 페이지: 조직도
===================================================== */

/* 이사회 / 주주총회 이미지 숨김 */
.kried-org-final3-board-icon {
  display: none !important;
}

/* 이사회 안쪽 구분선도 함께 숨김 */
.kried-org-final3-board-divider {
  display: none !important;
}

/* 연구협의회 이미지 숨김 */
.kried-org-final3-council-icon {
  display: none !important;
}

/* 이미지가 빠진 뒤 글자 가운데 정렬 */
.kried-org-final3-board {
  justify-content: center !important;
  gap: 0 !important;
}

.kried-org-final3-council {
  justify-content: center !important;
  text-align: center !important;
  gap: 0 !important;
}

.kried-org-final3-council-text {
  text-align: center !important;
}
/* =====================================================
   주요사업 페이지
   적용 페이지: /business/
   - PC / 태블릿 / 모바일 반응형
===================================================== */

.kried-business-page {
  max-width: 1120px;
  margin: 0 auto;
  padding: 24px 0 80px;
}

/* 상단 소개 */
.kried-business-intro {
  margin-bottom: 44px;
  padding: 46px 48px;
  border: 1px solid #dfe7ee;
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(237, 247, 242, 0.95), rgba(248, 250, 252, 0.95)),
    #ffffff;
  box-shadow: 0 18px 45px rgba(15, 47, 95, 0.08);
  box-sizing: border-box;
}

.kried-business-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  margin-bottom: 22px;
  border-radius: 999px;
  background: #0f2f5f;
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.kried-business-intro h2 {
  margin: 0 0 20px;
  color: #0f2f5f;
  font-size: 36px;
  line-height: 1.38;
  font-weight: 900;
  letter-spacing: -0.055em;
  word-break: keep-all;
}

.kried-business-intro p {
  max-width: 860px;
  margin: 0;
  color: #334155;
  font-size: 18px;
  line-height: 1.85;
  font-weight: 500;
  letter-spacing: -0.03em;
  word-break: keep-all;
}

/* 사업 목록 */
.kried-business-list {
  display: grid;
  gap: 26px;
}

/* 개별 카드 */
.kried-business-item {
  display: grid;
  grid-template-columns: 78px 96px 1fr;
  gap: 28px;
  align-items: start;
  position: relative;
  padding: 34px 38px;
  border: 1px solid #dfe7ee;
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 14px 36px rgba(15, 47, 95, 0.07);
  box-sizing: border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.kried-business-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 46px rgba(15, 47, 95, 0.11);
}

/* 번호 */
.kried-business-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: #edf3f8;
  color: #0f2f5f;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -0.02em;
}

/* 아이콘 */
.kried-business-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 86px;
  height: 86px;
  border: 1px solid #dfe7ee;
  border-radius: 50%;
  background:
    radial-gradient(circle at 68% 50%, #edf7f2 0 36%, transparent 37%),
    #ffffff;
  font-size: 34px;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(15, 47, 95, 0.06);
}

/* 내용 */
.kried-business-content {
  min-width: 0;
}

.kried-business-label {
  display: inline-flex;
  margin-bottom: 10px;
  color: #2d8a5b;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.kried-business-content h3 {
  margin: 0 0 14px;
  color: #0f2f5f;
  font-size: 28px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.05em;
  word-break: keep-all;
}

.kried-business-content p {
  margin: 0 0 22px;
  color: #334155;
  font-size: 17px;
  line-height: 1.85;
  font-weight: 500;
  letter-spacing: -0.03em;
  word-break: keep-all;
}

/* 세부 항목 */
.kried-business-content ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kried-business-content li {
  position: relative;
  padding: 12px 14px 12px 34px;
  border-radius: 14px;
  background: #f8fafc;
  color: #334155;
  font-size: 15.5px;
  line-height: 1.55;
  font-weight: 700;
  letter-spacing: -0.025em;
  word-break: keep-all;
}

.kried-business-content li::before {
  content: "";
  position: absolute;
  top: 19px;
  left: 16px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #48a878;
}

/* 하단 마무리 박스 */
.kried-business-closing {
  margin-top: 42px;
  padding: 40px 44px;
  border-radius: 28px;
  background: linear-gradient(135deg, #0f2f5f, #1d4f86);
  color: #ffffff;
  text-align: center;
  box-shadow: 0 18px 45px rgba(15, 47, 95, 0.18);
}

.kried-business-closing h3 {
  margin: 0 0 14px;
  color: #ffffff;
  font-size: 28px;
  line-height: 1.4;
  font-weight: 900;
  letter-spacing: -0.045em;
  word-break: keep-all;
}

.kried-business-closing p {
  max-width: 720px;
  margin: 0 auto 24px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 17px;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: -0.03em;
  word-break: keep-all;
}

.kried-business-closing a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 22px;
  border-radius: 999px;
  background: #ffffff;
  color: #0f2f5f;
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
}

.kried-business-closing a:hover {
  background: #edf7f2;
}

/* 태블릿 */
@media (max-width: 900px) {
  .kried-business-page {
    padding-bottom: 64px;
  }

  .kried-business-intro {
    padding: 38px 34px;
  }

  .kried-business-intro h2 {
    font-size: 31px;
  }

  .kried-business-intro p {
    font-size: 17px;
  }

  .kried-business-item {
    grid-template-columns: 64px 82px 1fr;
    gap: 22px;
    padding: 30px;
  }

  .kried-business-number {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    font-size: 18px;
  }

  .kried-business-icon {
    width: 76px;
    height: 76px;
    font-size: 30px;
  }

  .kried-business-content h3 {
    font-size: 25px;
  }

  .kried-business-content ul {
    grid-template-columns: 1fr;
  }
}

/* 모바일 */
@media (max-width: 640px) {
  .kried-business-page {
    padding: 10px 0 54px;
  }

  .kried-business-intro {
    margin-bottom: 28px;
    padding: 30px 22px;
    border-radius: 22px;
  }

  .kried-business-kicker {
    margin-bottom: 18px;
    font-size: 12px;
  }

  .kried-business-intro h2 {
    font-size: 25px;
    line-height: 1.45;
  }

  .kried-business-intro h2 br {
    display: none;
  }

  .kried-business-intro p {
    font-size: 15.8px;
    line-height: 1.75;
  }

  .kried-business-list {
    gap: 20px;
  }

  .kried-business-item {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 28px 22px;
    border-radius: 22px;
  }

  .kried-business-number {
    width: 50px;
    height: 50px;
    border-radius: 15px;
  }

  .kried-business-icon {
    width: 72px;
    height: 72px;
    font-size: 29px;
  }

  .kried-business-content h3 {
    font-size: 23px;
  }

  .kried-business-content p {
    margin-bottom: 18px;
    font-size: 15.8px;
    line-height: 1.75;
  }

  .kried-business-content li {
    padding: 11px 13px 11px 32px;
    font-size: 15px;
    line-height: 1.55;
  }

  .kried-business-closing {
    margin-top: 30px;
    padding: 32px 22px;
    border-radius: 22px;
  }

  .kried-business-closing h3 {
    font-size: 23px;
  }

  .kried-business-closing p {
    font-size: 15.5px;
    line-height: 1.75;
  }

  .kried-business-closing a {
    width: 100%;
  }
}
/* =====================================================
   주요사업 페이지 - PC 화면 폭 보정
   - 중앙 콘텐츠가 너무 좁아 보이는 문제 완화
===================================================== */

.kried-business-page {
  max-width: 1180px !important;
}

.kried-business-intro {
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.kried-business-list {
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.kried-business-closing {
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 카드 안쪽 여백을 약간 더 안정적으로 */
.kried-business-item {
  padding: 36px 42px !important;
}

/* PC에서 제목과 본문 가독성 보정 */
.kried-business-content h3 {
  font-size: 29px !important;
}

.kried-business-content p {
  font-size: 17px !important;
  line-height: 1.85 !important;
}

/* 태블릿 이하에서는 기존 반응형 유지 */
@media (max-width: 900px) {
  .kried-business-intro,
  .kried-business-list,
  .kried-business-closing {
    max-width: 100% !important;
  }

  .kried-business-item {
    padding: 30px !important;
  }
}

@media (max-width: 640px) {
  .kried-business-item {
    padding: 28px 22px !important;
  }
}
/* =====================================================
   주요사업 페이지 - 상단 여백 줄이기
   적용 페이지: /business/
===================================================== */

/* 파란 제목 영역 아래 전체 여백 축소 */
.kried-business-page {
  padding-top: 0 !important;
}

/* 워드프레스 본문 기본 위 여백 제거 */
.page .kried-business-page {
  margin-top: 0 !important;
}

/* 주요사업 소개 박스 위치를 위로 올림 */
.kried-business-intro {
  margin-top: -20px !important;
  margin-bottom: 36px !important;
}

/* 파란 page-hero 영역 자체 높이도 약간 줄이고 싶을 때 */
.page-hero {
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}

/* 모바일에서는 너무 붙지 않게 조정 */
@media (max-width: 640px) {
  .kried-business-intro {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
  }

  .page-hero {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
}
/* =====================================================
   주요사업 페이지 - 상단 큰 여백 강하게 줄이기
   적용 페이지: /business/
===================================================== */

/* 주요사업 페이지 본문 전체를 위로 올림 */
.page .kried-business-page {
  margin-top: -95px !important;
  padding-top: 0 !important;
}

/* 상단 소개 박스 자체 여백 제거 */
.page .kried-business-intro {
  margin-top: 0 !important;
  margin-bottom: 32px !important;
}

/* 워드프레스 본문 영역에 들어가는 기본 여백 제거 */
.page .entry-content .kried-business-page,
.page .post-content .kried-business-page,
.page .page-content .kried-business-page {
  margin-top: -95px !important;
  padding-top: 0 !important;
}

/* 파란 제목 영역 아래쪽 여백도 줄임 */
.page-hero {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
  margin-bottom: 0 !important;
}

/* 혹시 본문 감싸는 section에 여백이 있으면 함께 줄임 */
.single-section,
.page-section {
  padding-top: 40px !important;
}

/* 모바일에서는 너무 붙지 않게 조정 */
@media (max-width: 640px) {
  .page .kried-business-page,
  .page .entry-content .kried-business-page,
  .page .post-content .kried-business-page,
  .page .page-content .kried-business-page {
    margin-top: -45px !important;
  }

  .page-hero {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .single-section,
  .page-section {
    padding-top: 28px !important;
  }
}
/* =====================================================
   주요사업 페이지 - 상단 여백 조정
   - 연구원 소개 / 연혁 페이지 정도의 간격으로 맞춤
   - 적용 페이지: /business/
===================================================== */

/* 주요사업 본문 전체를 위로 자연스럽게 올림 */
.kried-business-page {
  padding-top: 0 !important;
  margin-top: -70px !important;
}

/* 첫 소개 박스와 아래 카드 사이 간격 */
.kried-business-intro {
  margin-bottom: 34px !important;
}

/* 사업 카드 간격 */
.kried-business-list {
  gap: 22px !important;
}

/* 하단 마무리 박스 위 여백 */
.kried-business-closing {
  margin-top: 34px !important;
}

/* 모바일에서는 너무 위로 붙지 않게 */
@media (max-width: 640px) {
  .kried-business-page {
    margin-top: -35px !important;
  }

  .kried-business-intro {
    margin-bottom: 28px !important;
  }

  .kried-business-list {
    gap: 18px !important;
  }

  .kried-business-closing {
    margin-top: 28px !important;
  }
}
/* =====================================================
   연구현황 / 연구보고서 페이지 - 상단 여백 조정
   - 연구원 소개 / 연혁 페이지 정도의 간격으로 맞춤
   - 적용: 연구보고서 목록 / 연구보고서 상세
===================================================== */

/* 연구보고서 목록 페이지 */
.research-board-section {
  padding-top: 48px !important;
}

/* 연구보고서 목록 상단 제목 박스 */
.research-board-header {
  margin-bottom: 34px !important;
}

/* 연구보고서 상세 페이지 */
.research-detail-section {
  padding-top: 48px !important;
}

/* 상세페이지 상단 카드와 아래 요약/목차 간격 */
.research-detail-main {
  margin-top: 0 !important;
  margin-bottom: 36px !important;
}

/* 요약 / 목차 영역 위 여백 */
.research-single-content {
  margin-top: 0 !important;
}

/* 모바일 */
@media (max-width: 640px) {
  .research-board-section {
    padding-top: 34px !important;
  }

  .research-board-header {
    margin-bottom: 26px !important;
  }

  .research-detail-section {
    padding-top: 34px !important;
  }

  .research-detail-main {
    margin-bottom: 28px !important;
  }
}
/* =====================================================
   메인 홈페이지 - 주요사업 카드 위 연결선 제거
   적용 위치: 국토환경연구원은 이런 일을 합니다
===================================================== */

/* 카드 전체 위쪽 가로선 제거 */
.kried-work-card-grid::before {
  display: none !important;
}

/* 각 카드 위쪽 세로 연결선 제거 */
.kried-work-card::before {
  display: none !important;
}
/* =====================================================
   주요사업 페이지 - 상단 제목과 본문 간격 정상화
   - 제목 위로 본문이 올라가는 문제 해결
   - 적용 페이지: /business/
===================================================== */

/* 주요사업 본문이 파란 제목 영역 위로 올라가지 않도록 초기화 */
.kried-business-page,
.page .kried-business-page,
.page .entry-content .kried-business-page,
.page .post-content .kried-business-page,
.page .page-content .kried-business-page {
  margin-top: 0 !important;
  padding-top: 42px !important;
}

/* 소개 박스는 제목 아래 적당한 위치에서 시작 */
.kried-business-intro {
  margin-top: 0 !important;
  margin-bottom: 34px !important;
}

/* 파란 제목 영역 아래 여백은 과하지 않게 */
.page-hero {
  margin-bottom: 0 !important;
}

/* 주요사업 카드 간격 */
.kried-business-list {
  gap: 22px !important;
}

/* 모바일 */
@media (max-width: 640px) {
  .kried-business-page,
  .page .kried-business-page,
  .page .entry-content .kried-business-page,
  .page .post-content .kried-business-page,
  .page .page-content .kried-business-page {
    margin-top: 0 !important;
    padding-top: 30px !important;
  }

  .kried-business-intro {
    margin-bottom: 28px !important;
  }
}
/* =====================================================
   페이지별 영문 보조 라벨 숨김
   - 인사말 페이지처럼 한글 제목 중심으로 통일
===================================================== */

.kried-history-kicker,
.history-kicker,
.researcher-kicker,
.kried-business-kicker,
.organization-kicker,
.kried-org-kicker,
.board-kicker,
.research-board-header .board-kicker,
.research-board-kicker {
  display: none !important;
}
/* =====================================================
   연구현황 / 연구보고서 목록 하단 여백 보정
   - 페이지네이션과 푸터 사이 간격 확보
===================================================== */

.research-board-section {
  padding-bottom: 70px !important;
}

.board-pagination {
  margin-top: 38px !important;
  margin-bottom: 20px !important;
}

@media (max-width: 640px) {
  .research-board-section {
    padding-bottom: 54px !important;
  }

  .board-pagination {
    margin-top: 30px !important;
    margin-bottom: 16px !important;
  }
}
/* =====================================================
   오시는 길 페이지 - 영문 보조 문구 숨김
   인사말 페이지처럼 한글 제목 중심으로 정리
===================================================== */

.location-kicker,
.kried-location-kicker,
.about-location-kicker,
.page-location-kicker,
.location-page-kicker {
  display: none !important;
}
/* =====================================================
   KRIED 알림마당 상세페이지 최종 디자인
   PC / 태블릿 / 모바일 반응형
===================================================== */

/* 상세페이지 전체 영역 */
.kried-notice-detail {
  padding: 54px 0 85px;
  background: #ffffff;
}

.kried-notice-detail .container {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 0 auto;
}

/* 게시글 전체 */
.kried-notice-article {
  width: 100%;
  background: #ffffff;
  border: 1px solid #dfe7ee;
  border-radius: 16px;
  overflow: hidden;
}

/* 제목 영역 */
.kried-notice-header {
  padding: 38px 46px 30px;
  border-bottom: 1px solid #dfe7ee;
  background: #f8fafc;
}

/* 제목 */
.kried-notice-title {
  margin: 0 0 22px;
  color: #0f2f5f;
  font-size: 27px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: -0.04em;
  overflow-wrap: anywhere;
}

/* 작성일 */
.kried-notice-date {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #7c8898;
  font-size: 14px;
}

.kried-notice-date span {
  color: #526174;
  font-weight: 700;
}

.kried-notice-date time {
  font-weight: 500;
}

/* 본문 */
.kried-notice-body {
  min-height: 250px;
  padding: 48px 46px 60px;
  color: #334155;
  font-size: 16px;
  line-height: 1.95;
  letter-spacing: -0.015em;
  overflow-wrap: anywhere;
}

.kried-notice-body p {
  margin: 0 0 22px;
}

/* 본문 소제목 */
.kried-notice-body h2,
.kried-notice-body h3 {
  margin: 38px 0 18px;
  color: #0f2f5f;
  font-weight: 800;
  line-height: 1.45;
}

.kried-notice-body h2 {
  font-size: 23px;
}

.kried-notice-body h3 {
  font-size: 20px;
}

/* 목록 */
.kried-notice-body ul,
.kried-notice-body ol {
  margin: 16px 0 28px;
  padding-left: 24px;
}

.kried-notice-body li {
  margin-bottom: 8px;
}

/* 게시글 이미지 */
.kried-notice-body img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.kried-notice-body figure {
  max-width: 100%;
}

/* 본문 링크 */
.kried-notice-body a {
  color: #1d4f86;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* 하단 버튼 영역 */
.kried-notice-footer {
  display: flex;
  justify-content: center;
  margin-top: 36px;
}

/* 목록으로 버튼 */
.kried-notice-list-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 150px;
  min-height: 48px;
  padding: 12px 28px;

  background: #0f2f5f;
  color: #ffffff !important;

  border-radius: 8px;
  text-decoration: none !important;

  font-size: 15px;
  font-weight: 700;

  transition:
    background 0.2s ease,
    transform 0.2s ease;
}

.kried-notice-list-btn:hover {
  background: #1d4f86;
  color: #ffffff !important;
  transform: translateY(-2px);
}


/* =====================================================
   태블릿
===================================================== */

@media (max-width: 900px) {

  .kried-notice-detail {
    padding: 42px 0 65px;
  }

  .kried-notice-header {
    padding: 30px 32px;
  }

  .kried-notice-title {
    font-size: 24px;
  }

  .kried-notice-body {
    padding: 36px 32px 48px;
    font-size: 15.5px;
  }
}


/* =====================================================
   모바일
===================================================== */

@media (max-width: 640px) {

  .kried-notice-detail {
    padding: 28px 0 52px;
  }

  .kried-notice-detail .container {
    width: calc(100% - 28px);
  }

  .kried-notice-article {
    border-radius: 12px;
  }

  .kried-notice-header {
    padding: 26px 20px 22px;
  }

  .kried-notice-title {
    font-size: 21px;
    line-height: 1.45;
    margin-bottom: 18px;
  }

  .kried-notice-date {
    gap: 10px;
    font-size: 13px;
  }

  .kried-notice-body {
    min-height: 180px;
    padding: 30px 20px 38px;
    font-size: 15px;
    line-height: 1.85;
  }

  .kried-notice-body h2 {
    font-size: 20px;
  }

  .kried-notice-body h3 {
    font-size: 18px;
  }

  .kried-notice-footer {
    margin-top: 26px;
  }

  .kried-notice-list-btn {
    min-width: 135px;
    min-height: 46px;
    font-size: 14px;
  }
}

/* ==============================================
   알림마당 본문 전용 디자인
============================================== */

.kried-notice-design {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  color: #334155;
  line-height: 1.85;
}

/* 상단 소개 */

.kried-notice-intro {
  padding: 36px;
  background: #edf3f8;
  border-radius: 14px;
  margin-bottom: 42px;
}

.kried-notice-label {
  display: inline-block;
  color: #2d8a5b;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 16px;
}

.kried-notice-intro h3 {
  margin: 0 0 16px;
  color: #0f2f5f;
  font-size: 25px;
  font-weight: 800;
  line-height: 1.45;
}

.kried-notice-intro p {
  margin: 0;
  font-size: 16px;
  line-height: 1.85;
}

/* 주요 내용 */

.kried-notice-description h3 {
  color: #0f2f5f;
  font-size: 21px;
  font-weight: 800;
  margin-bottom: 24px;
  padding-bottom: 14px;
  border-bottom: 2px solid #0f2f5f;
}

.kried-notice-feature {
  padding: 20px 0;
  border-bottom: 1px solid #e5eaf0;
}

.kried-notice-feature strong {
  display: block;
  color: #1d4f86;
  font-size: 17px;
  margin-bottom: 9px;
}

.kried-notice-feature p {
  margin: 0;
  color: #526174;
}

/* 홈페이지 링크 */

.kried-notice-linkbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  padding: 24px;
  margin-top: 36px;
  background: #f8fafc;
  border: 1px solid #dfe7ee;
  border-radius: 12px;
}

.kried-notice-linkbox strong {
  color: #0f2f5f;
}

.kried-notice-linkbox a {
  color: #2d8a5b;
  font-weight: 800;
  text-decoration: none;
}

/* 마무리 */

.kried-notice-ending {
  padding-top: 34px;
  margin-top: 36px;
}

.kried-notice-ending strong {
  display: block;
  margin-top: 24px;
  color: #0f2f5f;
}


/* 모바일 */

@media (max-width: 640px) {

  .kried-notice-intro {
    padding: 24px 20px;
  }

  .kried-notice-intro h3 {
    font-size: 21px;
  }

  .kried-notice-feature strong {
    font-size: 16px;
  }

  .kried-notice-linkbox {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
  }
}
/* =====================================================
   메인페이지 알림마당
   내용 미리보기 첫 줄만 표시
===================================================== */

.notice .notice-summary {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;

  overflow: hidden !important;
  text-overflow: ellipsis !important;

  white-space: normal !important;
  line-height: 1.7 !important;
  max-height: 1.7em !important;
}
/* =====================================================
   알림마당 상세본문 왼쪽 줄 맞춤
===================================================== */

.kried-notice-design {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}