@charset "utf-8";

.text-indent {text-indent: -9999px;}
.round {border-radius:4px;}

/*************************** 학회 소개 ***************************/
/* 공통 */
.doc-top-visual {display:flex; align-items:center; justify-content:center; position:relative; height:clamp(180px, calc(400 / var(--inner) * 100vw), 400px); margin-bottom:var(--space-80); border-radius:var(--radius-16); overflow:hidden; padding: 10px;}
.doc-top-visual img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.doc-top-visual .tit {position:relative; z-index:1; margin:0; color:#fff; font-weight:500; letter-spacing:-.02em; text-align:center;}
.doc-head .en {margin-bottom:var(--space-16); color:#ccc; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-.02em;}
.doc-head .lead {margin:0; color:var(--color-sub); font-size:var(--font-size-32); font-weight:600; line-height:1.438em; letter-spacing:-.02em;}
.doc-head .lead .text-primary {color:var(--color-primary);}

/* 학회장 인사말 */
.greeting {position:relative; padding-bottom: var(--space-120); background:url("../images/sub/greeting-bg.jpg") no-repeat 50% 100% / cover;}
.greeting-intro {display:flex; align-items:center; gap:var(--space-80); position:relative; z-index:1; margin-bottom:var(--space-80);}
.greeting-photo {position:relative; width: 48%; max-width: 680px; min-width:0; margin:0; border-radius:var(--radius-16); overflow:hidden;}
.greeting-photo figcaption {position:absolute; left:var(--space-32); right:var(--space-32); bottom:var(--space-24); z-index:1; color:rgba(255,255,255,.86); font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-.02em;}
.greeting-copy {flex: 1;}
.greeting-copy .doc-head {margin-bottom: var(--space-32);}
.greeting-copy .desc {margin:0; color:#505050; font-size:var(--font-size-22); font-weight:400; line-height:1.636em; letter-spacing:-.02em;}
.greeting-body {display:flex; flex-direction:column; align-items:center; gap:var(--space-16); position:relative; z-index:1; padding:var(--space-48) var(--space-40); border-radius:var(--radius-16); background:rgba(255,255,255,.7); backdrop-filter:blur(12px); text-align:center;}
.greeting-body p {margin:0; color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1.778em; letter-spacing:-.02em;}

/* 연혁 */
.history .doc-top-visual {margin-bottom:0;}
.history .doc-top-visual .tit {font-size:var(--font-size-56); line-height:1.25em;}
.hist-timeline {position:relative; --history-line-height:0px; --history-bar-height:100px;}
.hist-timeline:before {content:""; position:absolute; top:0; bottom:0; left:50%; width:1px; background-color:#eee; transform:translateX(-50%);}
.hist-timeline:after {content:""; position:absolute; top:var(--history-bar-height); left:50%; z-index:1; width:1px; height:var(--history-line-height); background-color:var(--color-primary); transform:translateX(-50%); transition: height 0.3s ease;}
.hist-timeline .bar {position:absolute; top:0; left:50%; z-index:1; width:1px; height:97px; background-color:var(--color-primary); transform:translateX(-50%);}
.history-item {display:flex; align-items:flex-start; position:relative; padding-bottom:var(--space-100);}
.history-item:nth-of-type(2) {padding-top:80px;}
.history-item:last-child {padding-bottom:0;}
.hist-year {width: 50%; min-width:0; padding-right:120px; font-size:48px; font-weight:600; line-height:1.291em; letter-spacing:-.02em; text-align:right; background:linear-gradient(90deg, #009140, var(--color-primary)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.hist-marker {position:relative; flex:0 0 0; width:0; z-index:2;}
.hist-marker .dots {position:absolute; top:3px; left:50%; width:56px; height:56px; margin:0; background:transparent; border-radius:50%; transform:translateX(-50%); transition:all .3s; z-index:1;}
.hist-marker .dots .inner-dots {width:100%; height:100%;  background:linear-gradient(180deg, rgba(0,102,179,.16), rgba(0,145,64,.16)); border-radius:50%; transform:scale(0); transition:all .3s;}
.hist-marker .dots .inner-dots:before {content:""; position:absolute; left:50%; top:50%; width:28px; height:28px; border-radius:50%; background:linear-gradient(180deg, var(--color-primary), #009140); transform:translate(-50%,-50%);}
.hist-marker .dots .inner-dots:after {content:""; position:absolute; left:50%; top:calc(50% + 1px); width: 12px; height: 8px; z-index:1; background: url("../images/sub/history-arrow.svg") no-repeat center / contain; transform:translate(-50%,-50%);}
.history-item.active .hist-marker .dots .inner-dots {transform: scale(1); animation:hist-dot .5s forwards ease;}
@keyframes hist-dot {from {transform: scale(0);} to {transform: scale(1);}}
.hist-events {flex:1; min-width:0; padding:13px 0 0 100px;}
.hist-event {display:flex; align-items:flex-start; position: relative; padding-left: 14px;}
.hist-event + .hist-event {margin-top:var(--space-28);}
.hist-event:before {content:""; position: absolute; width:4px; height:4px; left: 0; top:15px; border-radius:50%; background:#ccc;}
.hist-event-date {flex:0 0 106px; font-size:20px; font-weight:600; line-height:1.7em; color:var(--color-sub); letter-spacing:-.02em;}
.hist-event-txt {flex:1; min-width:0;}
.hist-event-txt p {margin:0; color:#505050; font-size:20px; font-weight:400; line-height:1.7em; letter-spacing:-.02em;}
.hist-event-txt p + p {margin-top:10px;}

/* 임원진 */
.executives .doc-top-visual .tit {font-size:var(--font-size-28); line-height:1.5em;}
.exec-table .table-wrap {position:relative; border-top:1px solid var(--color-sub);}
.exec-table table {width:100%; border-collapse:collapse; border-spacing:0;}
.exec-table .col-no {width:7%;}
.exec-table .col-role {width:16.7%;}
.exec-table .col-name {width:9.75%;}
.exec-table .col-org {width: 66.55%;}
.exec-table th {padding:var(--space-14) var(--space-24); border:1px solid #eee; border-bottom:none; background:#fafafa; color:var(--color-sub); font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-.03em; text-align:center;}
.exec-table td {padding:var(--space-14) var(--space-24); border:1px solid #eee; color:#676767; font-size:var(--font-size-18); font-weight:400; line-height:1.778em; letter-spacing:-.02em; text-align:center;}
.exec-table tr th:first-child,
.exec-table tr td:first-child {border-left:0;}
.exec-table tr th:last-child,
.exec-table tr td:last-child {border-right:0;}
.exec-table tr td:last-child {text-align:left;}

/* 정관 */
.bylaws-chapter + .bylaws-chapter {margin-top:var(--space-80);}
.bylaws-head {display:flex; align-items:center; gap:12px; position:relative; margin-bottom:var(--space-24);}
.bylaws-head:before {content:""; flex-shrink:0; width:28px; height:28px; border-radius:50%; background:var(--color-primary) url("../images/sub/bylaws-arrow.svg") no-repeat center;}
.bylaws-head h3 {margin:0; color:var(--color-primary); font-size:var(--font-size-32); font-weight:600; line-height:1.438em; letter-spacing:-.02em;}
.bylaws-box {display:flex; flex-direction:column; gap:var(--space-40); padding:var(--space-32) var(--space-40) var(--space-40); border:1px solid #eee; border-radius:var(--radius-16);}
.bylaws-box + .bylaws-box {margin-top:var(--space-24);}
.bylaws-article h4 {margin-bottom:10px; color:var(--color-sub); font-size:var(--font-size-22); font-weight:600; line-height:1.636em; letter-spacing:-.02em;}
.bylaws-article p {margin:0; color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1.778em; letter-spacing:-.02em;}
.bylaws-list {margin-top: var(--space-10);}
.bylaws-list > li {color:#676767; font-size:var(--font-size-16); font-weight:400; line-height:1.75em; letter-spacing:-.02em;}
.bylaws-list.paren {margin-top:var(--space-8);}
.bylaws-list.paren > li {font-size: var(--font-size-14); line-height:1.714em;}
.bylaws-box.addenda {background:#fafafa;}
.bylaws-box.addenda .bylaws-list {margin-top: 0;}
.bylaws-box.addenda .bylaws-list > li {color:#505050; font-size:var(--font-size-18); line-height:1.778em;}

/* 오시는 길 */
.location-map {height:480px; margin-bottom:var(--space-40); border-radius:var(--radius-16); overflow:hidden;}
.location-map .root_daum_roughmap,
.location-map .root_daum_roughmap .wrap_map {width:100%; height:100%;}
.location-body .doc-head {margin-bottom:var(--space-40);}
.location-info {display:flex; align-items:flex-start; gap:0; margin:0; padding:0; list-style:none;}
.location-info > li {display:flex; flex:1; align-items:center; gap:var(--space-24); min-width:0;}
.location-info .icon {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:72px; height:72px; border:1px solid #eee; border-radius:var(--radius-8);}
.location-info .icon img {display:block; width:24px; height:24px;}
.location-info .txt {display:flex; flex-direction:column; gap:var(--space-8); min-width:0;}
.location-info .label {margin:0; color:#a8a8a8; font-size:var(--font-size-16); font-weight:600; line-height:1.5em; letter-spacing:-.02em;}
.location-info .value {margin:0; color:var(--color-sub); font-size:var(--font-size-18); font-weight:400; line-height:1.778em; letter-spacing:-.02em;}
.location-info .value a {color:inherit; text-decoration:none;}

/*************************** 회원 관련 ***************************/
/* 회원가입 안내 */
.sub-section .tabs {display:flex; align-items:center; margin:0 0 var(--space-80); padding:0; list-style:none; border:1px solid #eee; border-radius:var(--radius-8); background:#fafafa; overflow:hidden;}
.sub-section .tabs > li {flex:1; min-width:0;}
.sub-section .tabs > li a {display:flex; align-items:center; justify-content:center; padding:var(--space-16) var(--space-28); border:1px solid transparent; border-radius:var(--radius-8); color:#878787; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-.02em; text-decoration:none;}
.sub-section .tabs > li.active a {color:var(--color-primary); background:#fff; border-color:var(--color-primary);}
.guide-panel {display:flex; flex-direction:column; gap:var(--space-80);}
.guide-sec {display:flex; flex-direction:column; gap:var(--space-24);}
.guide-tit {margin:0; padding-bottom:var(--space-24); border-bottom:1px solid #eee; color:var(--color-sub); font-size:var(--font-size-32); font-weight:600; line-height:1.438em; letter-spacing:-.03em;}
.guide-tit.line-none {padding-bottom:0; border-bottom:0;}
.guide-dot-list {display:flex; flex-wrap:wrap; gap:var(--space-16) 0; margin:0; padding:0; list-style:none;}
.guide-dot-list > li {position:relative; width:100%; padding-left:14px; color:var(--color-sub); font-size:var(--font-size-22); font-weight:400; line-height:1.636em; letter-spacing:-.03em;}
.guide-dot-list > li:before {content:""; position:absolute; left:0; top:16px; width:4px; height:4px; border-radius:50%; background:var(--color-primary);}
.guide-dot-list.cols > li {width:50%;}
.guide-dot-list.gray {flex-direction:column; gap:var(--space-8);}
.guide-dot-list.gray > li {color:#505050; font-size:var(--font-size-18); line-height:1.778em; letter-spacing:-.03em;}
.guide-dot-list.gray > li:before {top:14px; background:#ccc;}
.guide-benefit {display:flex; align-items:stretch; gap:var(--space-24); margin:0; padding:0; list-style:none;}
.guide-benefit > li {display:flex; flex:1; flex-direction:column; gap:var(--space-20); min-width:0; padding:var(--space-32); border:1px solid #eee; border-radius:var(--radius-8);}
.guide-benefit .icon {display:flex; align-items:center; justify-content:center; width:32px; height:32px;}
.guide-benefit .tit {margin:0; color:var(--color-sub); font-size:var(--font-size-22); font-weight:600; line-height:1.636em; letter-spacing:-.03em;}
.guide-benefit .head {display:flex; flex-direction:column; gap:var(--space-12);}
.guide-benefit.special > li,
.guide-benefit.group > li {gap:var(--space-12);}
.guide-benefit.group > li {width:100%; flex:none;}
.guide-pay {display:flex; align-items:flex-start; gap:36px;}
.guide-pay-desc {position:relative; flex:1; min-width:0; margin:0; padding-left:14px; color:var(--color-sub); font-size:var(--font-size-22); font-weight:400; line-height:1.636em; letter-spacing:-.03em;}
.guide-pay-desc:before {content:""; position:absolute; left:0; top:16px; width:4px; height:4px; border-radius:50%; background:var(--color-primary);}
.guide-pay-ways {display:flex; flex-shrink:0; gap:var(--space-16); width:560px; max-width:100%; margin:0; padding:0; list-style:none;}
.guide-pay-ways > li {display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-10); min-width:0; padding:var(--space-20) 0; border:1px solid #eee; border-radius:var(--radius-8); background:#fafafa;}
.guide-pay-ways .icon {display:flex; align-items:center; justify-content:center; width:24px; height:24px;}
.guide-pay-ways .txt {color:var(--color-sub); font-size:var(--font-size-18); font-weight:500; line-height:1.778em; letter-spacing:-.03em;}
.guide-cta {display:flex; justify-content:center;}
.guide-btn {display:inline-flex; align-items:center; justify-content:center; padding:var(--space-16) var(--space-28); border-radius:500px; background:var(--color-primary); color:#fff; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-.02em; text-decoration:none;}

/*************************** 학회 행사 ***************************/


/*************************** 학술지 및 간행물 ***************************/


/*************************** 학회 소식 ***************************/
/* 학회 일정 안내 — 목록 스타일은 layout.css `.sch-*` 공용 */
.sch-board {display:flex; flex-direction:column; gap:var(--space-20);}
.sch-board + .paginate {margin-top:var(--space-60);}


