:root{
  --shell-bg:#f8f6ef;
  --shell-text:#2f372f;
  --shell-muted:#6e7766;
  --shell-line:#dde3d2;
  --shell-main:#4d7c34;
  --shell-text-fluid:clamp(0.9375rem, 0.88rem + 0.35vw, 1.0625rem);
  --shell-title-fluid:clamp(1.45rem, 1.15rem + 1.1vw, 2rem);
}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:'Pretendard Variable','Pretendard','Noto Sans KR',sans-serif;
  font-size:var(--shell-text-fluid);
  line-height:1.65;
  color:var(--shell-text);
  background:var(--shell-bg);
  overflow-x:clip;
}
a{text-decoration:none;color:inherit}
.container{
  width:min(1280px,94%);
  margin:0 auto;
  padding-left:max(0px, env(safe-area-inset-left));
  padding-right:max(0px, env(safe-area-inset-right));
  min-width:0;
}
.top{position:absolute;top:0;left:0;right:0;z-index:70;background:rgba(102,156,72,.66);color:#fff}
.top .container{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.88rem}
.top-links{display:flex;gap:10px;align-items:center}
.top-links a{padding:2px 0;opacity:.95}
.top-links span{opacity:.5}
.top,.top-links a,.top-links span{transition:background .2s ease,color .2s ease,opacity .2s ease}
body:has(.header:hover) .top,body:has(.header:focus-within) .top{background:rgba(255,255,255,.96);color:#1f2d3d}
body:has(.header:hover) .top-links a,body:has(.header:focus-within) .top-links a{color:#1f2d3d;opacity:1}
body:has(.header:hover) .top-links span,body:has(.header:focus-within) .top-links span{opacity:.35}

.header{position:absolute;top:34px;left:0;right:0;z-index:65;background:rgba(112,168,78,.74);border-bottom:1px solid rgba(255,255,255,.24);box-shadow:none;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
.header:hover,.header:focus-within{background:#fff;border-bottom-color:rgba(20,46,75,.2);box-shadow:0 12px 24px rgba(9,26,47,.12)}
.header.scrolled{position:fixed;top:0;background:rgba(255,255,255,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom-color:rgba(20,46,75,.2);box-shadow:0 10px 20px rgba(9,26,47,.12)}
.header .container{position:relative;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:14px;min-width:0}
.logo{display:flex;align-items:center;flex-shrink:0;padding:0;margin:0}
.logo-stack{display:inline-grid;grid-template:1fr/1fr;align-items:center;justify-items:start;line-height:0;margin:0;padding:0}
.logo-stack .logo-mark{grid-area:1/1;display:block;height:auto;width:auto;max-height:60px;transition:opacity .15s ease}
.logo-stack .logo-mark--dark{z-index:1;opacity:0;pointer-events:none}
.logo-stack .logo-mark--light{z-index:0}
.header:hover .logo-stack .logo-mark--dark,
.header:focus-within .logo-stack .logo-mark--dark,
.header.scrolled .logo-stack .logo-mark--dark{opacity:1}
.header:hover .logo-stack .logo-mark--light,
.header:focus-within .logo-stack .logo-mark--light,
.header.scrolled .logo-stack .logo-mark--light{opacity:0;pointer-events:none}
.header:hover .logo,.header:focus-within .logo{color:#17324d;text-shadow:none}
.header.scrolled .logo{color:#17324d;text-shadow:none}
.nav{display:flex;flex-wrap:nowrap;gap:22px;list-style:none;margin:0;padding:0;font-weight:600}
.nav>li{position:static;padding:0;margin:0;flex-shrink:0}
.nav>li>a{position:relative;display:inline-block;font-weight:500;text-align:center;font-size:1.3rem;padding:0 35px;font-family:'Gwangyang','Pretendard Variable','Pretendard','Noto Sans KR',sans-serif;color:#fff;height:80px;line-height:80px;text-shadow:0 1px 8px rgba(0,0,0,.35);white-space:nowrap}
.header:hover .nav>li>a,.header:focus-within .nav>li>a{color:#1f2d3d;text-shadow:none}
.header.scrolled .nav>li>a{color:#1f2d3d;text-shadow:none}
.nav>li>a:after{content:"";display:block;height:2px;width:0;background:#8bcf51;transition:width .2s}
.nav>li:hover>a:after{width:100%}
.mega{position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%,10px);width:min(920px,92vw);border:1px solid #dbe6f1;border-radius:0 0 12px 12px;background:#fff;box-shadow:0 14px 24px rgba(6,22,40,.14);padding:14px 16px;opacity:0;pointer-events:none;transition:.18s}
.mega-title{margin:0 0 10px;color:#4d6379;font-size:.9rem;font-weight:800}
.mega-list{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:6px 10px}
.mega a{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;font-size:.95rem;font-weight:500}
.mega a:before{content:"";width:5px;height:5px;border-radius:999px;background:#77b255}
.mega a:hover{background:#f6f9fc;color:#104e83}
.nav>li:hover .mega{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.util{display:flex;flex-shrink:0;gap:8px}
.util a{font-size:.88rem;padding:8px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(0,0,0,.18);color:#fff}
.header:hover .util a,.header:focus-within .util a{border-color:#d5e0eb;background:#fff;color:#1f2d3d}
.header.scrolled .util a{border-color:#d5e0eb;background:#fff;color:#1f2d3d}
.menu-toggle{display:none;border:1px solid #dfe7f1;background:#fff;border-radius:8px;padding:7px 10px;font-size:.82rem;color:#36526f;cursor:pointer}
.mobile-drawer{display:none;position:fixed;inset:0;z-index:80;background:rgba(9,24,42,.45)}
.mobile-drawer.open{display:block}
.mobile-panel{margin-left:auto;width:min(360px,86%);height:100%;background:#fff;padding:16px 14px;overflow:auto}
.mobile-head{display:flex;justify-content:space-between;align-items:center}
.mobile-head b{color:#1a476f}
.mobile-close{border:1px solid #e1e9f2;background:#fff;border-radius:8px;padding:6px 10px}
.mobile-links{margin-top:14px;display:grid;gap:8px}
.mobile-links a{padding:10px 4px;border-bottom:1px solid #eef2f6;font-weight:600}

.page-main{padding:152px 0 48px;min-width:0}
.page-cover{
  margin-bottom:14px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--shell-line);
  background:#e5ecd9;
  box-shadow:0 10px 22px rgba(59,84,43,.1);
}
.page-cover img{
  display:block;
  width:100%;
  height:240px;
  object-fit:cover;
}
.page-hero{
  margin-bottom:18px;
  padding:20px 22px;
  background:#fffdf7;
  border:1px solid var(--shell-line);
  border-radius:14px;
}
.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 8px;
  padding:0;
  list-style:none;
  font-size:.9rem;
  color:var(--shell-muted);
}
.breadcrumb li+li::before{
  content:">";
  margin-right:8px;
  color:#a5ab9a;
}
.breadcrumb a:hover{color:#4f7a37}
.section-title{margin:0;font-size:1.7rem;color:#2f4a2f}
.page-card{
  background:#fffef9;
  border:1px solid var(--shell-line);
  border-radius:16px;
  padding:clamp(22px, 4vw, 36px) clamp(18px, 3.5vw, 30px);
  box-shadow:0 12px 30px rgba(68,90,52,.08);
  min-width:0;
}
.info-board-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 20px;
  padding:0 0 14px;
  border-bottom:1px solid var(--shell-line);
}
.info-board-tabs__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border-radius:10px;
  border:1px solid var(--shell-line);
  background:#fffefb;
  color:#2f4a2f;
  font-weight:700;
  font-size:0.95rem;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.info-board-tabs__link:hover{
  border-color:#a8bc99;
  background:#f6f9f0;
  color:#1f331f;
}
.info-board-tabs__link.is-active{
  border-color:#4f7a37;
  background:#4f7a37;
  color:#fffefb;
  cursor:default;
}
.info-board-tabs__link.is-active:hover{
  color:#fffefb;
  background:#456d31;
  border-color:#456d31;
}
.board-gallery-empty{
  margin:16px 0 0;
  padding:28px 20px;
  text-align:center;
  color:var(--shell-muted);
  background:#f6f9f0;
  border:1px dashed var(--shell-line);
  border-radius:12px;
}
.board-gallery-grid{
  list-style:none;
  margin:20px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 240px), 1fr));
  gap:clamp(14px, 2.5vw, 22px);
}
.board-gallery-card{
  margin:0;
  min-width:0;
}
.board-gallery-link{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:100%;
  border:1px solid var(--shell-line);
  border-radius:14px;
  overflow:hidden;
  background:#fffefb;
  box-shadow:0 8px 22px rgba(59,84,43,.08);
  transition:transform .18s ease,box-shadow .18s ease;
  color:inherit;
  text-decoration:none;
}
.board-gallery-link:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(59,84,43,.14);
  color:inherit;
}
.board-gallery-link:focus-visible{
  outline:3px solid #77b255;
  outline-offset:2px;
}
.board-gallery-thumb-wrap{
  position:relative;
  aspect-ratio:4/3;
  background:linear-gradient(160deg,#e5ecd9,#d4dfc8);
  overflow:hidden;
}
.board-gallery-thumb{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.board-gallery-thumb--placeholder{
  background:linear-gradient(145deg,#dfe9d4,#c8d6b8);
}
.board-gallery-thumb--placeholder::after{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:42%;
  height:42%;
  max-width:120px;
  max-height:120px;
  opacity:.28;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233d5238'%3E%3Cpath d='M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.board-gallery-meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 14px 16px;
  flex:1;
  min-width:0;
}
.board-gallery-title{
  font-size:clamp(0.95rem, 0.9rem + 0.35vw, 1.05rem);
  font-weight:700;
  line-height:1.45;
  color:var(--shell-text);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.board-gallery-date{
  font-size:0.88rem;
  color:var(--shell-muted);
}
.board-list-table thead th{
  width:auto;
}
.board-list-table thead th.board-list-date{
  width:8.5rem;
  white-space:nowrap;
}
.board-list-table .board-list-no{
  width:3.25rem;
  text-align:center;
  vertical-align:middle;
  white-space:nowrap;
  color:var(--shell-muted);
  font-variant-numeric:tabular-nums;
}
.board-list-table .board-list-title{
  width:auto;
}
.board-list-table thead th.board-list-no{
  text-align:center;
}
.board-pagination{
  margin:clamp(20px,3.5vw,28px) 0 0;
}
.board-pagination__bar{
  display:flex;
  justify-content:center;
  padding:0;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.board-pagination__strip{
  display:inline-flex;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:1px;
  min-height:38px;
  padding:1px;
  border-radius:8px;
  background:var(--shell-line);
  box-sizing:border-box;
}
.board-pagination__nums{
  display:contents;
  list-style:none;
  margin:0;
  padding:0;
}
.board-pagination__pager{
  box-sizing:border-box;
  align-self:stretch;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:38px;
  height:38px;
  padding:0 12px;
  border:none;
  margin:0;
  border-radius:0;
  background:#4f7a37;
  color:#fff;
  font-weight:600;
  font-size:.9rem;
  text-decoration:none;
  transition:background .15s ease, filter .15s ease;
}
.board-pagination__pager:hover{
  color:#fff;
  background:#456d31;
}
.board-pagination__pager:focus-visible{
  outline:2px solid #77b255;
  outline-offset:2px;
  color:#fff;
  z-index:1;
}
.board-pagination__pager:active:not(.board-pagination__pager--disabled){
  background:#3f632c;
}
.board-pagination__pager-glyph{
  font-size:1rem;
  line-height:1;
  font-weight:600;
}
.board-pagination__pager--disabled{
  cursor:not-allowed;
  background:#cfd6c8!important;
  color:#6f7964!important;
}
.board-pagination__pager--disabled:hover{
  background:#cfd6c8!important;
  filter:none!important;
}
.board-pagination__cell{
  display:flex;
  margin:0;
  padding:0;
}
.board-pagination__btn{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:1 1 auto;
  min-width:38px;
  width:100%;
  height:38px;
  padding:0 10px;
  margin:0;
  border:none;
  border-radius:0;
  font-weight:600;
  font-size:.9rem;
}
a.board-pagination__btn--num{
  background:#fff;
  color:#2f4a2f;
  text-decoration:none;
  transition:background .15s ease, color .15s ease;
}
a.board-pagination__btn--num:hover{
  background:#f3f7ec;
  color:#1f331f;
}
a.board-pagination__btn--num:focus-visible{
  outline:2px solid #77b255;
  outline-offset:-2px;
  z-index:1;
}
.board-pagination__btn--current{
  background:#eaf2e2;
  color:#2f4a2f;
  font-weight:700;
  cursor:default;
}
.board-content{
  overflow-wrap:anywhere;
  word-break:keep-all;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  line-height:1.78;
  font-size:var(--shell-text-fluid);
  max-width:100%;
}
.board-content a{overflow-wrap:anywhere}
.board-content img,
.board-content video,
.board-content iframe{
  max-width:100%!important;
  height:auto!important;
  display:block;
  margin:1rem auto;
  border-radius:10px;
}
.board-content table{
  width:100%;
  max-width:100%;
  border-collapse:collapse;
}
.board-content td,.board-content th{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.board-content pre,.board-content code{
  overflow-wrap:anywhere;
  word-break:break-all;
  white-space:pre-wrap;
  max-width:100%;
}
.page-title{margin:0 0 8px;font-size:var(--shell-title-fluid);line-height:1.35}
.page-lead{margin:0 0 20px;color:var(--shell-muted);font-weight:700}
.page-main p{margin:0 0 14px;line-height:1.8}
.welcome{font-size:1.2rem;color:var(--shell-main);font-weight:800}
.sign{margin-top:18px;padding-top:14px;border-top:1px dashed var(--shell-line);text-align:right;color:var(--shell-muted)}
/* 인사말: 산세리프·부드러운 톤 (궁서 제거) */
.greeting-content{
  font-family:'Pretendard Variable','Pretendard','Noto Sans KR',sans-serif;
}
.greeting-content .greeting-header{margin-bottom:4px}
.greeting-content .page-title{
  font-size:clamp(1.7rem, 4.2vw, 2.15rem);
  font-weight:800;
  letter-spacing:-.03em;
  color:#283828;
}
.greeting-content .page-lead{
  font-size:clamp(0.98rem, 2vw, 1.08rem);
  font-weight:600;
  color:var(--shell-muted);
  line-height:1.55;
  max-width:36em;
}
.greeting-letter{
  margin-top:clamp(18px, 3vw, 26px);
  padding:clamp(22px, 4vw, 34px) clamp(20px, 3.5vw, 32px) clamp(22px, 4vw, 30px) clamp(22px, 3.5vw, 32px);
  border-radius:16px;
  border:1px solid var(--shell-line);
  background:linear-gradient(145deg,#fffef9 0%,#f4f8ef 48%,#f0f4ea 100%);
  box-shadow:0 10px 32px rgba(59,84,43,.08);
  position:relative;
  overflow:hidden;
}
.greeting-letter::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  border-radius:16px 0 0 16px;
  background:linear-gradient(180deg,#8bc96f 0%,#4d7c34 55%,#3a6228 100%);
  opacity:.92;
}
.greeting-content .greeting-letter p{
  margin:0 0 1.05em;
  font-size:clamp(0.97rem, 1.85vw, 1.0625rem);
  font-weight:400;
  line-height:1.88;
  color:#343d33;
  letter-spacing:-.01em;
  max-width:42em;
}
.greeting-content .greeting-letter p:last-child{margin-bottom:0}
.greeting-content .greeting-letter .greeting-salutation{
  font-size:clamp(1.05rem, 2.1vw, 1.15rem);
  font-weight:600;
  color:#3a5a36;
  margin-bottom:1.15em;
}
.greeting-content .greeting-letter .greeting-closing{
  font-weight:500;
  color:#3d5239;
  margin-top:1.35em;
  margin-bottom:0;
}
.greeting-content .welcome{font-size:1.15rem;font-weight:600}
.greeting-content .sign.greeting-sign{
  margin-top:clamp(22px, 3.5vw, 30px);
  padding-top:0;
  border-top:none;
  font-size:0.94rem;
  font-weight:600;
  color:#5a6b55;
  letter-spacing:.02em;
  position:relative;
}
.greeting-content .sign.greeting-sign::before{
  content:"";
  display:block;
  width:min(100px, 28%);
  height:2px;
  margin:0 0 14px auto;
  border-radius:2px;
  background:linear-gradient(90deg,transparent,rgba(77,124,52,.45),#4d7c34);
}
.content-block{margin-top:26px}
.content-title{
  margin:0 0 12px;
  font-size:1.35rem;
  color:#355233;
  display:flex;
  align-items:center;
  gap:10px;
}
.content-title::before{
  content:"";
  width:18px;
  height:18px;
  flex:0 0 18px;
  background:linear-gradient(145deg,#66c97f 0%,#2d8f49 100%);
  border-radius:2px 14px 2px 14px;
  transform:rotate(-35deg);
  box-shadow:0 2px 6px rgba(45,143,73,.24);
  position:relative;
}
.content-title::after{
  content:"";
  width:8px;
  height:2px;
  background:#2d8f49;
  border-radius:2px;
  transform:translateX(-18px) translateY(5px) rotate(28deg);
  box-shadow:0 0 0 1px rgba(255,255,255,.12);
}
.content-em{font-weight:700;color:#3c5e3a}
.feature-list{margin:0;padding-left:20px}
.feature-list li{margin:8px 0}
.table-wrap{
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
}
.info-table{width:100%;border-collapse:collapse;min-width:min(100%,640px);background:#fffefb;table-layout:auto}
.info-table td,.info-table th{
  overflow-wrap:anywhere;
  word-break:keep-all;
}
.info-table th,.info-table td{border:1px solid var(--shell-line);padding:12px 14px;vertical-align:top}
.info-table th{width:160px;background:#f4f7ee;text-align:left;color:#3b5638}
.branch-table th{width:280px}
.branch-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(272px,1fr));
  gap:16px;
  margin-top:4px;
}
.branch-card{
  margin:0;
  padding:18px 16px 16px;
  border:1px solid var(--shell-line);
  border-radius:14px;
  background:linear-gradient(165deg,#fffef9 0%,#f3f8ec 100%);
  box-shadow:0 8px 20px rgba(59,84,43,.08);
  transition:transform .2s ease,box-shadow .2s ease;
}
.branch-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(59,84,43,.12);
}
.branch-name{
  margin:0 0 10px;
  font-size:1.06rem;
  font-weight:800;
  color:#355233;
  letter-spacing:-.02em;
  line-height:1.35;
}
.branch-loc{
  margin:0;
  font-size:.96rem;
  line-height:1.6;
  color:var(--shell-text);
}
.branch-loc-label{
  display:inline-block;
  margin-right:6px;
  padding:2px 8px;
  border-radius:6px;
  background:rgba(77,124,52,.12);
  color:var(--shell-main);
  font-weight:800;
  font-size:.82rem;
  vertical-align:baseline;
}
.location-summary{
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid #d7e1cb;
  border-radius:10px;
  background:#f9fbf4;
  font-weight:600;
}
.map-wrap{
  margin-top:6px;
  border:1px solid var(--shell-line);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
#daumRoughmapContainer1745899887766{
  width:100%;
  min-height:360px;
}
.transit-table th:nth-child(1){width:28%}
.transit-table th:nth-child(3){width:22%}
.public-item{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:18px;
  padding:16px;
  margin-top:14px;
  border:1px solid var(--shell-line);
  border-radius:12px;
  background:#fffef9;
}
.public-thumb{
  min-height:0;
  height:300px;
  border-radius:10px;
  border:1px dashed #c8d5be;
  background:linear-gradient(135deg,#eff5e7,#f8fbf3);
  overflow:hidden;
}
.public-thumb img{
  display:block;
  width:100%;
  height:300px;
  object-fit:cover;
  object-position:center;
}
.public-body{min-width:0}
.public-title{
  margin:0 0 10px;
  font-size:1.15rem;
  font-weight:800;
  color:#355233;
}
.org-chart{
  position:relative;
  border:1px solid #d9e2d1;
  border-radius:12px;
  background:linear-gradient(180deg,#f9fbf4,#fffef9);
  padding:18px 16px;
}
.org-top,.org-mid,.org-bottom{
  display:flex;
  justify-content:center;
  gap:14px;
}
.org-mid{margin-top:14px}
.org-bottom{margin-top:14px}
.org-node{
  min-width:140px;
  text-align:center;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #ccd9c4;
  background:#fff;
  font-weight:700;
  color:#345236;
  box-shadow:0 6px 14px rgba(53,83,45,.1);
}
.org-chief{
  border-color:#9dcf8b;
  background:#eff8e8;
  color:#2f5f2d;
}
.org-office{
  border-color:#9dcf8b;
  background:#edf7e5;
  color:#2f5f2d;
}
.org-chart::before,
.org-chart::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:2px;
  background:#c8d5be;
}
.org-chart::before{top:62px;height:18px}
.org-chart::after{top:112px;height:18px}
.history-box{
  padding:26px 24px;
  border:1px solid var(--shell-line);
  border-radius:14px;
  background:#f9faf6;
}
.history-range{
  margin:-4px 0 22px;
  font-size:.95rem;
  color:var(--shell-muted);
  line-height:1.55;
}
.history-timeline{
  margin:0;
  padding:0;
}
.history-year-row{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  margin:0;
  padding:18px 0 22px;
  border:0;
  border-top:1px solid #dfe8d7;
  background:transparent;
}
.history-year-row:first-child{
  border-top:none;
  padding-top:4px;
}
.history-year-row:last-child{
  padding-bottom:0;
}
.history-year-badge-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
}
.history-year-badge{
  display:inline-block;
  margin:0;
  padding:6px 4px 10px;
  text-align:center;
  background:none;
  color:#1f2620;
  box-shadow:none;
  border:none;
  border-bottom:2px solid #c9d0c3;
}
.history-year-row--current .history-year-badge{
  color:#151a17;
  border-bottom-color:#5c6560;
  border-bottom-width:3px;
  outline:none;
}
.history-year-num{
  font-size:clamp(1.35rem,3.6vw,1.6rem);
  font-weight:800;
  letter-spacing:0.02em;
  line-height:1.2;
}
.history-events{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.history-events > li{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:10px 14px;
  margin:0;
  padding:14px 16px;
  background:rgba(255,254,251,.94);
  border:1px solid #e3eadc;
  border-radius:12px;
  line-height:1.65;
  box-shadow:0 4px 16px rgba(59,92,43,.072);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.history-events > li:hover{
  border-color:#c8d9b9;
  background:#fff;
  box-shadow:0 8px 22px rgba(59,92,43,.1);
}
.history-date{
  flex:0 0 auto;
  margin-top:2px;
  padding:5px 12px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  color:#2f5f2d;
  background:#eaf3e5;
  border:1px solid #c8d9b9;
}
.history-body{
  flex:1 1 220px;
  min-width:0;
  font-size:.97rem;
  color:#2a332a;
}
@media (prefers-reduced-motion:reduce){
  .history-events > li{transition:none}
}
.sitemap-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.sitemap-group{
  border:1px solid var(--shell-line);
  border-radius:12px;
  background:#fff;
  padding:16px 14px;
}
.sitemap-group h3{
  margin:0;
  font-size:1.08rem;
  color:#32522f;
}
.sitemap-group h3 a:hover{color:#4f7a37}
.sitemap-list{
  margin:12px 0 0;
  padding:0;
  list-style:none;
}
.sitemap-list li{
  margin:0;
  border-top:1px dashed #e3ead8;
}
.sitemap-list li:first-child{border-top:0}
.sitemap-list a{
  display:block;
  padding:9px 2px;
  color:#435742;
}
.sitemap-list a:hover{
  color:#4f7a37;
  font-weight:700;
}
.org-v2{
  max-width:1420px;
  margin:0 auto;
}
.org-v2-card{
  border-radius:10px;
  text-align:center;
  padding:12px 14px;
  margin:10px auto;
  width:280px;
  min-height:156px;
  color:#fff;
  font-weight:700;
  border:2px solid transparent;
  box-shadow:0 6px 14px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
}
.org-v2-top{width:280px}
.org-v2-title{
  font-size:19px;
  padding:7px 0 8px;
  border-bottom:1px solid rgba(255,255,255,.4);
  margin-bottom:8px;
  line-height:1.35;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:800;
}
.org-v2-card ul{
  list-style:none;
  margin:0;
  padding:10px 12px;
  font-size:14px;
  font-weight:500;
  line-height:1.55;
  color:#333;
  background:#fff;
  border-radius:6px;
  text-align:left;
  flex:1;
}
.org-v2-card li::before{content:"· "}
.org-v2-orange{background:#eeaa77;border-color:#dd955e;color:#4f2c16}
.org-v2-yellow{background:#f2dc84;border-color:#e2c96a;color:#4d411a}
.org-v2-purple{background:#b898d8;border-color:#a783ca;color:#342544}
.org-v2-teal{background:#8fcec1;border-color:#77bdb0;color:#1d473f}
.org-v2-line{
  width:2px;
  height:25px;
  background:#999;
  margin:0 auto;
}
.org-v2-columns{
  display:flex;
  justify-content:center;
  gap:25px;
  margin-top:28px;
  flex-wrap:wrap;
}
.org-v2-column{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:280px;
}

/* 조직도 (organization.php) */
.org-chart-article > .page-title{
  font-size:clamp(1.55rem,1.22rem + 1vw,2.12rem);
}
.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.org-chart-article .page-lead{margin-bottom:12px;font-size:clamp(1rem,0.93rem+0.32vw,1.09rem);line-height:1.55}
.org-chart-page{
  max-width:100%;
  margin:0 auto;
  padding:clamp(8px,2vw,20px) 0 8px;
  color:#1e2636;
  font-size:clamp(0.97rem,0.92rem+0.28vw,1.06rem);
}
.org-chart-tier{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  margin-bottom:0;
}
.org-chart-card{
  background:#f6f8fc;
  border-radius:14px;
  border:1px solid #d0dae8;
  padding:14px 18px;
  text-align:center;
  position:relative;
  width:min(100%,240px);
  box-shadow:0 6px 18px rgba(30,38,54,.07);
}
.org-chart-card--chief{
  /* 팀 카드와 겹치지 않는 연적·더스티 로즈 */
  background:#f4eaea;
  border-color:#cfa8aa;
  color:#42282c;
  box-shadow:0 6px 18px rgba(88,44,50,.08);
}
.org-chart-card--chief .org-chart-name{color:#3a2327;font-size:1.13rem;font-weight:800;letter-spacing:-0.02em}
.org-chart-card--chief .org-chart-role{color:#73494e;font-size:1.05rem;font-weight:700}
.org-chart-card--chief .org-chart-bullets--light{color:#6b474c}
.org-chart-card--mgr{
  /* 상단 카드 단독: 웜 베이지·바틀 계열 (팀 주황/녹/보라와 무관) */
  background:#f5f3e9;
  border-color:#c9c09a;
  color:#393528;
  margin-top:0;
  box-shadow:0 8px 20px rgba(78,71,52,.09);
}
.org-chart-card--mgr .org-chart-name{color:#2f2b1f;font-weight:800}
.org-chart-card--mgr .org-chart-role{color:#6b6348;font-size:1.02rem;font-weight:700}
.org-chart-card--mgr .org-chart-bullets--light{color:#5e5745}
.org-chart-role{
  font-size:1.02rem;
  font-weight:800;
  letter-spacing:-0.02em;
  margin-bottom:5px;
  color:#5a677f;
}
.org-chart-name{
  font-size:1.02rem;
  font-weight:800;
  line-height:1.35;
  word-break:keep-all;
}
.org-chart-sub{
  font-size:0.88rem;
  font-weight:700;
  color:#3a4d6a;
  margin:4px 0 4px;
  line-height:1.4;
}
.org-chart-bullets{
  margin:8px 0 0;
  padding:0 0 0 14px;
  text-align:left;
  font-size:0.88rem;
  line-height:1.65;
  color:#4a5568;
}
.org-chart-bullets--center{
  text-align:center;
  list-style:none;
  padding:0;
  margin-top:6px;
}
.org-chart-bullets--center li::before{content:"· "}
.org-chart-bullets--light{
  list-style:none;
  padding:0;
  margin-top:8px;
  text-align:center;
  font-size:0.88rem;
}
.org-chart-bullets--light li::before{content:"· "}
.org-chart-vline{
  width:3px;
  border-radius:2px;
  background:#c5d0e0;
  height:20px;
  margin:0 auto;
}
.org-chart-vline--stem{
  height:28px;
  margin-top:2px;
}
.org-chart-teams-wrap{
  margin-top:10px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:4px 2px 12px;
}
.org-chart-teams{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(12px,2vw,20px);
  align-items:stretch;
  min-width:0;
}
.org-chart-team{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:100%;
  min-width:0;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e2e8ef;
  box-shadow:0 10px 32px rgba(30,38,54,.09),0 1px 0 rgba(255,255,255,.8) inset;
  transition:box-shadow .2s ease,transform .2s ease;
}
.org-chart-team:hover{
  box-shadow:0 16px 40px rgba(30,38,54,.12);
  transform:translateY(-2px);
}
.org-chart-team-hd{
  flex-shrink:0;
  padding:10px 10px 9px;
  text-align:center;
  border-bottom:1px solid rgba(0,0,0,.06);
  /* 네 팀 헤더 세로 동일 높이 (내용 초과 시에만 스크롤) */
  box-sizing:border-box;
  height:178px;
  min-height:178px;
  max-height:178px;
  overflow-x:hidden;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.org-chart-team-hd .org-chart-role{
  margin-bottom:4px;
  font-size:1.14rem;
  font-weight:800;
}
.org-chart-team-hd .org-chart-bullets--center{
  margin-top:auto;
  padding-top:4px;
}
.org-chart-team--a .org-chart-team-hd{
  background:#edf2fb;
  border-bottom-color:rgba(74,114,208,.22);
}
.org-chart-team--a .org-chart-team-hd .org-chart-name{color:#2d4877}
.org-chart-team--a .org-chart-team-hd .org-chart-role{color:#4f6aa3}
.org-chart-team--b .org-chart-team-hd{
  background:#fbf6ed;
  border-bottom-color:rgba(212,138,10,.2);
}
.org-chart-team--b .org-chart-team-hd .org-chart-name{color:#6b4820}
.org-chart-team--b .org-chart-team-hd .org-chart-role{color:#8c6230}
.org-chart-team--c .org-chart-team-hd{
  background:#ecf7f2;
  border-bottom-color:rgba(15,158,117,.18);
}
.org-chart-team--c .org-chart-team-hd .org-chart-name{color:#1e5e48}
.org-chart-team--c .org-chart-team-hd .org-chart-role{color:#2f7a61}
.org-chart-team--d .org-chart-team-hd{
  background:#f4f1fc;
  border-bottom-color:rgba(124,90,224,.18);
}
.org-chart-team--d .org-chart-team-hd .org-chart-name{color:#4a3a74}
.org-chart-team--d .org-chart-team-hd .org-chart-role{color:#6557a8}
.org-chart-team-hd .org-chart-placeholder{
  margin:0;
  margin-top:auto;
  padding-top:4px;
  font-size:1.02rem;
  color:#9aa3b5;
  line-height:1;
}
.org-chart-members{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px 10px 14px;
  background:#f7f8f5;
  min-height:0;
}
.org-chart-member{
  flex:0 0 auto;
  background:#fffefb;
  border:1px solid #e5ebe0;
  border-radius:11px;
  padding:11px 12px 12px;
  text-align:left;
  box-shadow:0 2px 8px rgba(59,84,43,.06);
}
.org-chart-team--a .org-chart-member{border-left:3px solid #4a72d0}
.org-chart-team--b .org-chart-member{border-left:3px solid #d48a0a}
.org-chart-team--c .org-chart-member{border-left:3px solid #0f9e75}
.org-chart-team--d .org-chart-member{border-left:3px solid #7c5ae0}
.org-chart-member .org-chart-name{
  font-size:0.96rem;
  font-weight:800;
  margin-bottom:6px;
  color:#2a3328;
}
.org-chart-member .org-chart-bullets{
  margin-top:0;
  font-size:0.84rem;
  line-height:1.62;
  color:#4d5648;
}
@media (max-width:1100px){
  .org-chart-teams{
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-width:0;
  }
  .org-chart-team-hd{
    height:168px;
    min-height:168px;
    max-height:168px;
  }
}
@media (max-width:640px){
  .org-chart-teams{
    grid-template-columns:1fr;
  }
  .org-chart-card{width:100%;max-width:320px}
  .org-chart-team:hover{transform:none}
  .org-chart-team-hd{
    height:auto;
    min-height:0;
    max-height:none;
    overflow-y:visible;
  }
}

.org-diagram{
  max-width:1400px;
  margin:8px auto 0;
  text-align:center;
}
.org-level{position:relative}
.org-level-1{
  margin-bottom:60px;
  position:relative;
}
.org-level-1::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  width:2px;
  height:40px;
  background:#c8d5be;
  transform:translateX(-50%);
}
.org-level-2{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:36px;
  position:relative;
  padding-top:20px;
}
.org-level-2::before{
  content:"";
  position:absolute;
  top:0;
  left:16.66%;
  right:16.66%;
  height:2px;
  background:#c8d5be;
}
.org-branch{
  position:relative;
  width:320px;
  padding-top:20px;
}
.org-branch::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:2px;
  height:20px;
  background:#c8d5be;
  transform:translateX(-50%);
}
.org-item{
  position:relative;
  margin:0 auto;
  padding:14px 18px;
  border-radius:10px;
  font-weight:700;
  line-height:1.4;
  box-shadow:0 4px 14px rgba(53,83,45,.1);
}
.org-root{
  display:inline-block;
  min-width:220px;
  background:#3b6f2d;
  color:#fff;
  font-size:1.2rem;
}
.org-dept{
  background:#5d9a43;
  color:#fff;
  font-size:1.06rem;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.org-dept::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  width:2px;
  height:24px;
  background:#c8d5be;
  transform:translateX(-50%);
}
.org-children{
  position:relative;
  display:flex;
  justify-content:center;
  gap:14px;
  margin-top:36px;
  padding-top:24px;
}
.org-children::before{
  content:"";
  position:absolute;
  top:0;
  left:16%;
  right:16%;
  height:2px;
  background:#c8d5be;
}
.org-team{
  width:95px;
  min-height:72px;
  background:#fffefb;
  border:1px solid #d7e2cc;
  color:#3b4d36;
  font-size:.93rem;
  display:flex;
  align-items:center;
  justify-content:center;
  word-break:keep-all;
}
.org-team::before{
  content:"";
  position:absolute;
  top:-24px;
  left:50%;
  width:2px;
  height:24px;
  background:#c8d5be;
  transform:translateX(-50%);
}

/* 미션·비전 페이지 — 아이콘·박스 내부 흰색 */
.page-card.mv-page{
  background:linear-gradient(168deg,#f7f9f4 0%,#eef2e8 100%);
  border:1px solid rgba(120,150,95,.22);
  box-shadow:0 16px 44px rgba(59,84,43,.07);
}
.mv-page .page-lead{margin-bottom:22px;color:#5a6b52}
.mv-hero-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:0 0 8px;
}
.mv-hero{
  margin:0;
  padding:24px 22px 26px;
  border-radius:16px;
  border:1px solid rgba(100,145,75,.2);
  background:#fff;
  box-shadow:0 10px 28px rgba(77,124,52,.09);
  position:relative;
  overflow:hidden;
}
.mv-hero--vision{
  border-color:rgba(95,145,185,.22);
  box-shadow:0 10px 28px rgba(55,105,145,.08);
}
.mv-hero::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:5px;
  border-radius:16px 0 0 16px;
  background:linear-gradient(180deg,#9ed36f 0%,#5fa340 45%,#3d7828 100%);
  box-shadow:2px 0 12px rgba(95,163,64,.2);
  z-index:1;
}
.mv-hero--vision::before{
  background:linear-gradient(180deg,#7ec4e8 0%,#4a9bc9 45%,#2d6f94 100%);
  box-shadow:2px 0 12px rgba(74,155,201,.22);
}
.mv-hero-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:12px;
  position:relative;
  z-index:1;
}
.mv-hero-icon{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border-radius:14px;
  color:#3d7828;
  background:linear-gradient(145deg,#e8f5e0 0%,#d4ebc8 100%);
  box-shadow:0 2px 8px rgba(61,120,40,.12);
}
.mv-hero-icon--vision{
  color:#2d6f94;
  background:linear-gradient(145deg,#e3f2fa 0%,#cce6f5 100%);
  box-shadow:0 2px 8px rgba(45,111,148,.12);
}
.mv-hero-icon svg{display:block}
.mv-hero-label{
  margin:0;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#4a8a38;
}
.mv-hero--vision .mv-hero-label{color:#2f6f9a}
.mv-hero-text{
  margin:0;
  font-size:clamp(1.05rem, 2.4vw, 1.22rem);
  font-weight:700;
  line-height:1.68;
  color:#2d3f2c;
  padding-left:6px;
  position:relative;
  z-index:1;
}
.mv-hero--vision .mv-hero-text{color:#243848}
.mv-section.content-block{margin-top:30px}
.mv-value-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.mv-value-card{
  margin:0;
  padding:20px 20px 22px;
  border-radius:14px;
  border:1px solid rgba(130,160,110,.22);
  background:#fff;
  box-shadow:0 8px 22px rgba(77,124,52,.07);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.mv-value-card:nth-child(2){border-color:rgba(95,150,130,.22)}
.mv-value-card:nth-child(3){border-color:rgba(80,155,140,.22)}
.mv-value-card:nth-child(4){border-color:rgba(110,120,160,.22)}
.mv-value-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(59,84,43,.1);
  border-color:rgba(100,140,80,.32);
}
.mv-value-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  margin-bottom:12px;
  border-radius:12px;
  color:#3d7828;
  background:linear-gradient(145deg,#e8f5e0 0%,#d4ebc8 100%);
  box-shadow:0 2px 8px rgba(61,120,40,.1);
}
.mv-value-icon svg{display:block}
.mv-value-icon--2{color:#1f6b52;background:linear-gradient(145deg,#e0f4ec 0%,#c8ebe0 100%);box-shadow:0 2px 8px rgba(31,107,82,.1)}
.mv-value-icon--3{color:#0f7a63;background:linear-gradient(145deg,#dff7f1 0%,#c5efe5 100%);box-shadow:0 2px 8px rgba(15,122,99,.1)}
.mv-value-icon--4{color:#4a56a8;background:linear-gradient(145deg,#e8ebfa 0%,#d4daf5 100%);box-shadow:0 2px 8px rgba(74,86,168,.1)}
.mv-value-title{
  margin:0 0 8px;
  font-size:1.05rem;
  font-weight:800;
  color:#355d30;
}
.mv-value-card:nth-child(2) .mv-value-title{color:#2d5c4c}
.mv-value-card:nth-child(3) .mv-value-title{color:#256b5c}
.mv-value-card:nth-child(4) .mv-value-title{color:#3d4a68}
.mv-value-desc{
  margin:0;
  font-size:.95rem;
  line-height:1.72;
  color:#5a6d54;
}
.mv-value-card:nth-child(4) .mv-value-desc{color:#5a6270}
.mv-strategy-stack{
  display:grid;
  gap:18px;
}
.mv-strategy{
  margin:0;
  padding:22px 22px 20px 24px;
  border-radius:16px;
  border:1px solid rgba(120,145,100,.18);
  border-left-width:6px;
  border-left-style:solid;
  background:#fff;
  box-shadow:0 10px 28px rgba(55,75,48,.07);
}
.mv-strategy--welfare{
  border-left-color:#6aa84f;
  border-color:rgba(106,168,79,.22);
}
.mv-strategy--community{
  border-left-color:#3fab8c;
  border-color:rgba(63,171,140,.22);
}
.mv-strategy--carbon{
  border-left-color:#2db89a;
  border-color:rgba(45,184,154,.22);
}
.mv-strategy--governance{
  border-left-color:#6b7fd7;
  border-color:rgba(107,127,215,.22);
}
.mv-strategy-title{
  margin:0 0 14px;
  font-size:1.08rem;
  font-weight:800;
  color:#2d4a28;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.mv-strat-icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:10px;
  color:#3d7828;
  background:linear-gradient(145deg,#e8f5e0 0%,#d4ebc8 100%);
  box-shadow:0 2px 6px rgba(61,120,40,.1);
}
.mv-strat-icon svg{display:block}
.mv-strat-icon--community{color:#1f6b52;background:linear-gradient(145deg,#e0f4ec 0%,#c8ebe0 100%);box-shadow:0 2px 6px rgba(31,107,82,.1)}
.mv-strat-icon--carbon{color:#0f7a63;background:linear-gradient(145deg,#dff7f1 0%,#c5efe5 100%);box-shadow:0 2px 6px rgba(15,122,99,.1)}
.mv-strat-icon--governance{color:#4a56a8;background:linear-gradient(145deg,#e8ebfa 0%,#d4daf5 100%);box-shadow:0 2px 6px rgba(74,86,168,.1)}
.mv-strategy--community .mv-strategy-title{color:#1f5c4a}
.mv-strategy--carbon .mv-strategy-title{color:#146b5a}
.mv-strategy--governance .mv-strategy-title{color:#3d4a7a}
.mv-strategy-list{
  margin:0;
  padding:0 0 0 1.1em;
  list-style:none;
}
.mv-strategy-list li{
  position:relative;
  margin:0 0 10px;
  padding-left:14px;
  line-height:1.78;
  color:#3a4538;
}
.mv-strategy--governance .mv-strategy-list li{color:#383f4d}
.mv-strategy-list li:last-child{margin-bottom:0}
.mv-strategy-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(145deg,#a8e078,#4d9430);
  box-shadow:0 1px 4px rgba(77,148,48,.35);
}
.mv-strategy--community .mv-strategy-list li::before{background:linear-gradient(145deg,#6ee4c4,#23906c);box-shadow:0 1px 4px rgba(35,144,108,.3)}
.mv-strategy--carbon .mv-strategy-list li::before{background:linear-gradient(145deg,#5ee4cf,#0f8f75);box-shadow:0 1px 4px rgba(15,143,117,.3)}
.mv-strategy--governance .mv-strategy-list li::before{background:linear-gradient(145deg,#9dacf5,#5a6bc4);box-shadow:0 1px 4px rgba(90,107,196,.32)}

.floating{position:fixed;right:18px;bottom:22px;display:flex;flex-direction:column;gap:8px;z-index:30}
.floating a{display:block;padding:8px 12px;background:#28445b;color:#fff;border-radius:999px;font-size:.83rem}
.footer{margin-top:42px;background:#162534;color:#dce7f2;padding:24px 0}
.footer .links{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.92rem}
.footer .copy2{margin:12px 0 0;color:#b6c8da;line-height:1.65;font-size:.88rem}

@media (max-width:1024px){
  .logo-stack .logo-mark{max-height:52px}
  .header .container{gap:10px}
  .nav{gap:clamp(6px,1vw,14px)}
  .nav>li>a{
    font-size:clamp(0.9rem, 1.05rem + 0.6vw, 1.125rem);
    padding:0 clamp(8px, 1.2vw, 22px);
  }
  .util a{font-size:.8rem;padding:7px 10px}
  .page-main{padding:clamp(120px, 18vw, 152px) 0 40px}
  .info-table{min-width:0;font-size:clamp(0.875rem, 2vw, 1rem)}
  .info-table th{width:min(140px,32%)}
  .org-level-2{
    flex-direction:column;
    align-items:center;
    gap:46px;
  }
  .org-level-2::before{display:none}
  .org-branch{
    width:100%;
    max-width:560px;
  }
  .org-branch::before{display:none}
  .org-v2-columns{gap:16px}
  .org-v2-column{min-width:280px}
}
@media (max-width:860px) and (min-width:761px){
  .logo-stack .logo-mark{max-height:46px}
  .nav{gap:4px}
  .nav>li>a{padding:0 5px;font-size:.86rem}
  .util a{padding:7px 8px;font-size:.78rem}
}
@media (max-width:760px){
  .top{display:none}
  .header{top:0}
  .nav,.util{display:none}
  .menu-toggle{display:inline-block}
  .top-links{display:none}
  .page-main{padding:108px 0 20px}
}
@media (max-width:640px){
  .page-main{padding:108px 0 20px}
  .page-cover img{height:170px}
  .page-hero{padding:16px 14px}
  .section-title{font-size:clamp(1.15rem, 4.5vw, 1.35rem)}
  .page-card{padding:22px 14px}
  .page-title{font-size:clamp(1.35rem, 5vw, 1.65rem)}
  .content-title{font-size:1.2rem}
  .info-table{min-width:0}
  .info-table th{width:120px}
  .branch-table th{width:140px}
  .public-item{
    grid-template-columns:1fr;
    padding:12px;
  }
  .public-thumb{
    height:240px;
  }
  .public-thumb img{
    height:240px;
  }
  .org-node{min-width:120px;padding:9px 10px;font-size:.92rem}
  .org-children{
    flex-wrap:wrap;
    gap:10px;
  }
  .org-children::before{display:none}
  .org-team{
    width:88px;
    min-height:64px;
    font-size:.86rem;
  }
  .org-team::before{display:none}
  .org-v2{max-width:100%}
  .org-v2-top{width:100%;max-width:340px}
  .org-v2-column{width:100%;min-width:0}
  .org-v2-card{
    width:100%;
    max-width:340px;
    min-height:146px;
  }
  .org-v2-title{font-size:17px}
  .org-v2-card ul{font-size:13px}
  .history-box{padding:18px 14px}
  .history-range{margin-bottom:16px;font-size:.9rem}
  .history-year-row{
    gap:10px;
    padding:14px 0 18px;
    margin-bottom:0;
  }
  .history-year-badge{
    padding:5px 0 12px;
  }
  .history-year-num{font-size:1.22rem}
  .history-events > li{padding:12px 12px;gap:8px 10px}
  .history-date{font-size:.8rem;padding:4px 10px;margin-top:0}
  .history-body{font-size:.92rem;line-height:1.7}
  .sitemap-grid{grid-template-columns:1fr}
  .mv-hero-row{grid-template-columns:1fr}
  .mv-value-grid{grid-template-columns:1fr}
  .mv-hero{padding:18px 16px 20px}
}
