:root{
  --brand:#59914c;
  --brand-dark:#3f6c36;
  --text:#212121;
  --text2:#363636;
  --footer-bg:#f4f3f3;
  --footer-text:#3b3b3b;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",sans-serif;
  color:var(--text);
  line-height:1.6;
  background:#fff;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;margin:0;padding:0;}

/* ---------- Top affiliate bar ---------- */
.top-links{background:#2d2d2d;font-size:12px;}
.top-links .inner{max-width:1200px;margin:0 auto;display:flex;justify-content:flex-end;gap:16px;padding:6px 20px;}
.top-links a{color:#cfcfcf;}
.top-links a:hover{color:#fff;}

/* ---------- Header ---------- */
header{background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:100;}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;}
.logo img{width:238px;max-width:45vw;}
nav.main-nav{display:flex;}
nav.main-nav > ul{display:flex;gap:36px;}
nav.main-nav > ul > li{position:relative;}
nav.main-nav > ul > li > a{font-size:16px;font-weight:700;color:var(--text2);padding:10px 0;display:block;}
nav.main-nav > ul > li:hover > a, nav.main-nav > ul > li.current > a{color:var(--brand);}
.dropdown{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.08);border-radius:6px;padding:10px 0;min-width:190px;white-space:nowrap;}
nav.main-nav > ul > li:hover .dropdown{display:block;}
.dropdown li a{display:block;padding:8px 20px;font-size:14px;color:#555;}
.dropdown li a:hover{background:#f5f8f4;color:var(--brand);}
.menu-toggle{display:none;background:none;border:none;font-size:26px;cursor:pointer;}

/* ---------- Hero slider (home) ---------- */
.hero{position:relative;height:750px;max-height:70vh;overflow:hidden;background:#222;}
.hero .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;}
.hero .slide.active{opacity:1;}
.hero .overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 20px;}
.hero .overlay h1{font-size:44px;margin:0 0 14px;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.4);}
.hero .overlay p{font-size:20px;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.4);}
.hero .dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5;}
.hero .dots span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;}
.hero .dots span.active{background:#fff;}

/* ---------- Page hero (sub-pages, small banner) ---------- */
.page-hero{
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);
  color:#fff;
  padding:56px 20px;
  text-align:center;
}
.page-hero .eyebrow{font-size:13px;letter-spacing:.08em;opacity:.85;margin:0 0 8px;}
.page-hero h1{font-size:30px;font-weight:800;margin:0;}

/* ---------- Section generic ---------- */
section.block{max-width:1200px;margin:0 auto;padding:80px 20px;}
section.block.narrow{max-width:900px;}
.section-head{text-align:center;margin-bottom:48px;}
.section-head h2{font-size:30px;font-weight:800;margin:0 0 12px;color:var(--text);}
.section-head p{color:#777;font-size:15px;margin:0;}
.section-alt{background:#fafafa;}

/* ---------- Business areas ---------- */
.biz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.biz-card{text-align:center;}
.biz-card .icon-wrap{width:100%;aspect-ratio:1080/1450;border-radius:12px;overflow:hidden;margin-bottom:20px;background:#f4f6f3;}
.biz-card .icon-wrap img{width:100%;height:100%;object-fit:cover;}
.biz-card h3{font-size:18px;font-weight:700;margin:0 0 10px;color:var(--brand-dark);}
.biz-card p{font-size:14px;color:#555;margin:0;}

/* ---------- Post cards (news / press / archive) ---------- */
.post-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.post-card{border:1px solid #eee;border-radius:10px;overflow:hidden;transition:box-shadow .2s, transform .2s;}
.post-card:hover{box-shadow:0 10px 24px rgba(0,0,0,.08);transform:translateY(-4px);}
.post-card .thumb{width:100%;aspect-ratio:4/3;overflow:hidden;background:#f2f2f2;}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;}
.post-card .post-body{padding:16px;}
.post-card .post-body h4{font-size:15px;font-weight:700;margin:0 0 8px;color:var(--text2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.post-card .post-body p{font-size:13px;color:#888;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ---------- Simple board list (자료집 / 게시판) ---------- */
.board-list{width:100%;border-collapse:collapse;margin-top:12px;}
.board-list th{border-bottom:2px solid #333;padding:12px 10px;font-size:14px;text-align:left;color:var(--text2);}
.board-list td{border-bottom:1px solid #eee;padding:14px 10px;font-size:14px;}
.board-list td.writer{color:#888;width:120px;}
.board-list tr:hover td{background:#fafcf9;}

/* ---------- Org chart ---------- */
.org-label{text-align:center;font-size:13px;letter-spacing:.1em;color:var(--brand-dark);font-weight:700;margin-bottom:32px;}
.org-tree{display:flex;flex-direction:column;align-items:center;gap:28px;margin-bottom:60px;}
.org-node{
  width:110px;height:110px;border-radius:50%;
  background:linear-gradient(135deg,#59914c,#2f9c8f);
  color:#fff;display:flex;align-items:center;justify-content:center;
  text-align:center;font-weight:700;font-size:14px;flex-direction:column;gap:4px;
}
.org-row{display:flex;gap:40px;flex-wrap:wrap;justify-content:center;}
.org-boxrow{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;}
.org-box{background:var(--brand-dark);color:#fff;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:700;}
.org-box.sub{background:#7fb583;font-weight:500;font-size:13px;padding:8px 16px;}

/* ---------- History timeline ---------- */
.timeline{max-width:820px;margin:0 auto;}
.timeline-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid #eee;align-items:flex-start;}
.timeline-item .date{font-weight:800;color:var(--brand-dark);min-width:110px;flex-shrink:0;}
.timeline-item .icon{flex-shrink:0;color:var(--brand);}

/* ---------- Simple info table (논문투고안내 / 심사기준) ---------- */
.info-table{width:100%;border-collapse:collapse;margin:16px 0 32px;}
.info-table th,.info-table td{border:1px solid #e2e2e2;padding:14px;font-size:14px;text-align:left;vertical-align:top;}
.info-table th{background:#f4f6f3;width:60px;text-align:center;color:var(--brand-dark);}
.rule-list h3{font-size:17px;margin:28px 0 10px;color:var(--brand-dark);}
.rule-list ol,.rule-list ul{padding-left:20px;list-style:decimal;margin:0 0 16px;}
.rule-list ul{list-style:disc;}
.rule-list li{margin-bottom:8px;font-size:14.5px;}

/* ---------- Map ---------- */
.map-embed{width:100%;aspect-ratio:16/9;border:0;border-radius:8px;overflow:hidden;background:#eee;}
.address-box{margin-top:20px;font-size:15px;line-height:1.9;}

/* ---------- CTA buttons (학술대회 바로가기) ---------- */
.cta-grid{display:grid;grid-template-columns:1fr;gap:12px;max-width:420px;margin:0 auto;}
.cta-btn{
  display:flex;align-items:center;justify-content:space-between;
  border:1px solid #ddd;border-radius:8px;padding:16px 20px;font-weight:700;font-size:15px;
  transition:border-color .2s,box-shadow .2s;
}
.cta-btn:hover{border-color:var(--brand);box-shadow:0 6px 16px rgba(0,0,0,.06);}
.cta-btn .arrow{color:var(--brand);}

/* ---------- Image button grid (학술대회 바로가기 실제 버튼 이미지) ---------- */
.img-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:0 auto;}
.img-grid a{display:block;border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.img-grid a:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.08);}
.img-grid img{display:block;width:100%;height:auto;}

/* ---------- Donation account box (후원안내) ---------- */
.donation-box{max-width:480px;margin:0 auto 8px;text-align:center;padding:32px 28px;border:1px solid #e2e8e1;border-radius:14px;background:#f7f9f7;}
.donation-box span{display:block;font-size:14px;color:#777;margin-bottom:10px;}
.donation-box strong{display:block;font-size:22px;font-weight:800;color:var(--brand-dark);margin-bottom:8px;}
.donation-box p{margin:0;font-size:15px;color:#555;}

/* ---------- Netlify Forms honeypot (사람에게는 보이지 않아야 하는 필드) ---------- */
.hidden{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---------- Footer ---------- */
footer{background:var(--footer-bg);color:var(--footer-text);padding:50px 20px 30px;font-size:13px;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-inner .footer-logo img{width:150px;margin-bottom:20px;}
.footer-info p{margin:4px 0;line-height:1.8;}
.footer-policy{margin-top:20px;display:flex;gap:20px;}
.footer-policy a{color:#666;text-decoration:underline;}
.footer-copy{margin-top:24px;padding-top:20px;border-top:1px solid #ddd;color:#999;font-size:12px;}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .biz-grid,.post-grid{grid-template-columns:repeat(2,1fr);}
  .hero .overlay h1{font-size:30px;}
  .hero .overlay p{font-size:16px;}
  .hero{height:480px;}
  .img-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  nav.main-nav{position:fixed;top:60px;left:0;right:0;bottom:0;background:#fff;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;padding:20px;z-index:99;}
  nav.main-nav.open{transform:translateX(0);}
  nav.main-nav > ul{flex-direction:column;gap:0;}
  nav.main-nav > ul > li > a{padding:14px 0;border-bottom:1px solid #f0f0f0;}
  .dropdown{display:none !important;position:static;transform:none;box-shadow:none;padding:0 0 10px 14px;}
  nav.main-nav > ul > li.open .dropdown{display:block !important;}
  .menu-toggle{display:block;}
  .biz-grid,.post-grid{grid-template-columns:1fr;}
  section.block{padding:50px 16px;}
  .org-row{flex-direction:column;align-items:center;}
}

/* Education showcase */
.education-showcase{max-width:1440px;margin:0 auto;padding:64px 48px 80px}.education-showcase .section-head{text-align:center;margin-bottom:38px}.education-showcase .section-head h2{font-size:2.25rem;margin-bottom:10px}.edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.edu-card{border:1px solid #d9e2d8;border-radius:18px;padding:28px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.03)}.edu-top{display:grid;grid-template-columns:1.25fr .9fr;gap:24px;align-items:center}.edu-top img{width:100%;height:230px;object-fit:cover;border-radius:16px}.edu-copy h3{font-size:2rem;color:#2f6d38;margin:24px 0 16px}.edu-copy p{font-size:1.08rem;line-height:1.75}.edu-info{margin:22px 0 14px;padding:18px 20px;background:#f7f9f7;border-radius:14px}.edu-info p{display:grid;grid-template-columns:105px 1fr;gap:16px;margin:10px 0;line-height:1.55}.edu-info b{color:#202833}.edu-apply{display:block;text-align:center;padding:17px 20px;background:#3f743d;color:#fff!important;border-radius:10px;font-size:1.1rem;font-weight:700;text-decoration:none}.edu-note{font-size:.88rem;color:#b63a2e;margin:12px 2px 0;line-height:1.5}@media(max-width:900px){.education-showcase{padding:40px 18px 60px}.edu-grid{grid-template-columns:1fr}.edu-top{grid-template-columns:1fr}.edu-top img{height:220px}.edu-copy h3{font-size:1.7rem}.edu-info p{grid-template-columns:90px 1fr}}


/* Final organization chart */
.org-section{position:relative;overflow:hidden}.org-section:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(89,145,76,.05),transparent 65%);pointer-events:none}.org-chart{max-width:980px;margin:0 auto 80px;display:flex;flex-direction:column;align-items:center;position:relative}.org-circle{width:118px;height:118px;border-radius:50%;background:#50bdbc;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;box-shadow:0 0 0 10px rgba(80,189,188,.10)}.org-circle.top{width:130px;height:130px}.org-connector.vertical{height:42px;width:1px;background:#9bd5d4}.org-connector.vertical.short{height:34px}.org-leadership{width:72%;display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;position:relative}.org-leadership:before,.org-departments:before,.org-affiliates:before{content:"";position:absolute;top:-21px;left:16%;right:16%;height:1px;background:#9bd5d4}.org-departments,.org-affiliates{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:34px;position:relative;justify-items:center}.org-dept{min-width:150px;padding:14px 18px;border-radius:7px;background:#2d7f89;color:#fff;text-align:center;font-weight:700}.org-label.second{margin-top:70px}.org-affiliate-chart{margin-bottom:30px}.org-branch{display:flex;flex-direction:column;align-items:center;gap:8px}.org-sub{min-width:145px;padding:8px 14px;border-radius:5px;background:#c4e8e5;color:#31737a;text-align:center;font-size:.9rem;font-weight:600}
@media(max-width:800px){.org-leadership{width:100%;gap:12px}.org-circle,.org-circle.top{width:92px;height:92px;font-size:.85rem}.org-departments,.org-affiliates{grid-template-columns:1fr 1fr;gap:16px}.org-leadership:before,.org-departments:before,.org-affiliates:before{display:none}.org-dept,.org-sub{min-width:0;width:100%}}

/* Final membership form */
.membership-wrap{background:#f7f9f6;padding:70px 20px 90px}.membership-card{max-width:900px;margin:0 auto;background:#fff;border:1px solid #e1e8df;border-radius:18px;padding:46px 54px;box-shadow:0 14px 38px rgba(36,72,37,.07)}.form-kicker{font-size:.78rem;letter-spacing:.14em;color:#63835c;font-weight:800}.membership-card .form-intro h2{font-size:2rem;margin:10px 0 12px}.membership-card .form-intro p{color:#66706a;margin-bottom:34px}.member-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}.member-grid label{display:flex;flex-direction:column;gap:9px;font-weight:700}.member-grid em{font-style:normal;color:#a63d32}.member-grid input,.member-grid select{width:100%;box-sizing:border-box;border:1px solid #cfd8ce;border-radius:8px;padding:14px 15px;font:inherit;background:#fff}.member-grid input:focus,.member-grid select:focus{outline:2px solid rgba(63,116,61,.18);border-color:#4c7d48}.member-agree{display:flex;gap:10px;align-items:flex-start;margin:28px 0 22px;padding:16px;background:#f6f9f5;border-radius:8px}.member-submit{width:100%;border:0;border-radius:9px;padding:17px;background:#3f743d;color:#fff;font-size:1.05rem;font-weight:800;cursor:pointer}.member-note{font-size:.9rem;color:#737b75;line-height:1.7;margin-top:20px}@media(max-width:700px){.membership-wrap{padding:40px 14px 60px}.membership-card{padding:30px 22px}.member-grid{grid-template-columns:1fr}}
