@charset "utf-8";

/* ========== 전체 서브페이지 스타일 (컨텐츠만) ========== */

/* ========== 토큰 ========== */
:root {--color-text-tertiary:#67717C; --color-text-disabled:#BEC5CC; --color-green-deep:#268B4D; --color-lime:#8CD44F; --bg-soft:#EFF4F8; --bg-invert:#0B1620; --line-strong:#1A222B; --shadow-lift:0 16px 36px rgba(6, 42, 77, .14); --shadow-panel:0 20px 44px rgba(6, 42, 77, .16); --h1-xl:clamp(32px, calc(64 / var(--inner) * 100vw), 64px); --h2-l:clamp(28px, calc(48 / var(--inner) * 100vw), 48px); --h3-m:clamp(20px, calc(26 / var(--inner) * 100vw), 26px); --h4-s:clamp(18px, calc(22 / var(--inner) * 100vw), 22px); --h5-xs:clamp(17px, calc(19 / var(--inner) * 100vw), 19px); --title-2xl:clamp(27px, calc(46 / var(--inner) * 100vw), 46px); --title-xl:clamp(24px, calc(34 / var(--inner) * 100vw), 34px); --title-l:clamp(22px, calc(28 / var(--inner) * 100vw), 28px); --title-m:clamp(19px, calc(22 / var(--inner) * 100vw), 22px); --title-s:clamp(16px, calc(18 / var(--inner) * 100vw), 18px); --title-xs:clamp(15px, calc(16 / var(--inner) * 100vw), 16px); --body-xl:clamp(17px, calc(20 / var(--inner) * 100vw), 20px); --body-l:clamp(14px, calc(18 / var(--inner) * 100vw), 18px); --body-m:16px; --body-s:14px; --body-xs:12px; --radius-btn:8px; --radius-card:12px; --radius-panel:16px; --space-6:clamp(3px, calc(6 / var(--inner) * 100vw), 6px); --space-8:clamp(4px, calc(8 / var(--inner) * 100vw), 8px); --space-10:clamp(5px, calc(10 / var(--inner) * 100vw), 10px); --space-12:clamp(6px, calc(12 / var(--inner) * 100vw), 12px); --space-14:clamp(7px, calc(14 / var(--inner) * 100vw), 14px); --space-16:clamp(8px, calc(16 / var(--inner) * 100vw), 16px); --space-18:clamp(9px, calc(18 / var(--inner) * 100vw), 18px); --space-20:clamp(10px, calc(20 / var(--inner) * 100vw), 20px); --space-22:clamp(11px, calc(22 / var(--inner) * 100vw), 22px); --space-24:clamp(12px, calc(24 / var(--inner) * 100vw), 24px); --space-26:clamp(14px, calc(26 / var(--inner) * 100vw), 26px); --space-28:clamp(14px, calc(28 / var(--inner) * 100vw), 28px); --space-30:clamp(15px, calc(30 / var(--inner) * 100vw), 30px); --space-32:clamp(16px, calc(32 / var(--inner) * 100vw), 32px); --space-35:clamp(18px, calc(35 / var(--inner) * 100vw), 35px); --space-36:clamp(18px, calc(36 / var(--inner) * 100vw), 36px); --space-40:clamp(20px, calc(40 / var(--inner) * 100vw), 40px); --space-45:clamp(22px, calc(45 / var(--inner) * 100vw), 45px); --space-48:clamp(24px, calc(48 / var(--inner) * 100vw), 48px); --space-60:clamp(30px, calc(60 / var(--inner) * 100vw), 60px); --space-80:clamp(40px, calc(80 / var(--inner) * 100vw), 80px); --space-100:clamp(50px, calc(100 / var(--inner) * 100vw), 100px); --space-120:clamp(60px, calc(120 / var(--inner) * 100vw), 120px);}

/* ========== 공통 : 버튼 ========== */
.btn {display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:13px 28px; font-size:var(--body-m); font-weight:700; line-height:1.4em; letter-spacing:-.02em; border:1px solid transparent; border-radius:var(--radius-btn); text-align:center; transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);}
.btn-primary {background:var(--color-brand); color:var(--color-text-invert); box-shadow:var(--shadow-brand);}
.btn-primary:hover, .btn-primary:focus-visible {background:var(--color-brand-hover); transform:translateY(-2px);}
.btn-secondary {background:var(--bg-white); color:var(--color-text-primary); border-color:var(--border-color);}
.btn-secondary:hover, .btn-secondary:focus-visible {border-color:var(--color-brand); color:var(--color-brand);}
.btn-ghost {background:transparent; color:var(--color-text-secondary); border-color:var(--border-color);}
.btn-ghost:hover, .btn-ghost:focus-visible {color:var(--color-brand); border-color:var(--color-brand);}
.btn-lg {min-height:58px; padding:16px 34px; font-size:var(--body-l);}
.btn-sm {min-height:40px; padding:8px 16px; font-size:var(--body-s);}
.btn-block {display:flex; width:100%;}
.link-arrow {display:inline-flex; align-items:center; gap:7px; color:var(--color-brand); font-size:var(--body-s); font-weight:700; transition:color .2s var(--ease);}
.link-arrow:hover {color:var(--color-brand-hover);}
.gradient-text {background:linear-gradient(90deg, var(--color-brand) 0%, var(--color-cyan) 50%, var(--color-teal) 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.btn-area {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; margin-top:var(--space-40);}

/* ========== 공통 : 필터 · 좋아요 · 카드 · 모달 ========== */
.note-box {display:flex; gap:12px; align-items:flex-start; margin-top:var(--space-30); padding:var(--space-18) var(--space-22); background:var(--bg-soft); border:1px dashed var(--border-color); border-radius:var(--radius-card); color:var(--color-text-tertiary); font-size:var(--body-s); line-height:1.7em;}
.filter-bar {display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:var(--space-30);}
.filter-bar .chip {min-height:44px; padding:9px 18px; background:var(--bg-white); color:var(--color-text-secondary); font-size:var(--body-s); font-weight:600; border:1px solid var(--border-color); border-radius:100px; transition:border-color .2s var(--ease), color .2s var(--ease), background .2s var(--ease);}
.filter-bar .chip:hover {border-color:var(--color-brand); color:var(--color-brand);}
.filter-bar .chip.active {background:var(--color-brand); color:var(--color-text-invert); border-color:var(--color-brand);}
.result-count {margin-bottom:var(--space-20); color:var(--color-text-tertiary); font-size:var(--body-s);}
.result-count b, .result-count strong {color:var(--color-brand);}
.btn-like {position:absolute; top:14px; right:14px; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; background:var(--bg-white); color:var(--color-text-disabled); border:1px solid var(--border-color); border-radius:50%; font-size:20px; line-height:1em; transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);}
.btn-like .ico-off {display:block;}
.btn-like .ico-on {display:none;}
.btn-like.is-on .ico-off {display:none;}
.btn-like.is-on .ico-on {display:block;}
.btn-like:hover, .btn-like.is-on {color:#fff; border-color:transparent; background:var(--grad-brand);}
.list-cards {display:grid; gap:var(--space-20);}
.list-cards.col-2 {grid-template-columns:repeat(2, 1fr);}
.list-cards.col-3 {grid-template-columns:repeat(3, 1fr);}
.card-item {position:relative; padding:var(--space-30) var(--space-30) var(--space-32); background:var(--bg-white); border:1px solid var(--border-color); border-radius:var(--radius-card); transition:border-color .2s var(--ease), box-shadow .2s var(--ease);}
.card-item:hover {border-color:var(--color-brand); box-shadow:var(--shadow-card);}
.card-item h4 {margin:var(--space-10) 0 var(--space-12); padding-right:48px; color:var(--color-text-primary); font-size:var(--h5-xs); font-weight:800; line-height:1.45em;}
.card-item p {color:var(--color-text-secondary); font-size:var(--body-s); line-height:1.7em;}
.modal {display:none; position:fixed; inset:0; z-index:200; padding:20px; background:rgba(4, 20, 36, .6); overflow-y:auto;}
.modal.is-open {display:flex; align-items:center; justify-content:center;}
.modal-card {position:relative; width:100%; max-width:620px; padding:var(--space-40); background:var(--bg-white); border-radius:var(--radius-panel); box-shadow:var(--shadow-panel);}
.zone-tab {display:flex; flex-wrap:wrap; gap:8px; margin-bottom:var(--space-30);}
.zone-map {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-height:280px; margin-bottom:var(--space-40); padding:var(--space-40); background:var(--bg-soft); border:1px dashed var(--border-color); border-radius:var(--radius-panel); text-align:center;}
.search-bar {display:flex; gap:8px; margin-bottom:var(--space-24);}
.archive-list {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-20);}
.archive-item {padding:var(--space-30); background:var(--bg-white); border:1px solid var(--border-color); border-radius:var(--radius-card);}
.empty-box {padding:var(--space-60) var(--space-30); background:var(--bg-soft); border:1px solid var(--divider-color); border-radius:var(--radius-panel); color:var(--color-text-muted); font-size:var(--body-m); text-align:center;}

/* ========== 공통 : 섹션 · 패널 · 안내박스 · 표 ========== */
.sub-sec {margin-bottom:clamp(56px, 5vw, 84px);}
.sub-sec:last-child {margin-bottom:0;}
.sub-sec-head {margin-bottom:var(--space-30);}
.sub-sec-head.center, .sub-sec-head--center {text-align:center;}
.sub-sec-title {position:relative; padding-left:16px; color:var(--color-text-primary); font-size:var(--title-l); font-weight:800; letter-spacing:-.038em; line-height:1.35em;}
.sub-sec-title:before {content:""; position:absolute; top:.28em; left:0; width:5px; height:.82em; background:var(--grad-brand); border-radius:3px;}
.sub-sec-head.center .sub-sec-title, .sub-sec-head--center .sub-sec-title {padding-left:0;}
.sub-sec-head.center .sub-sec-title:before, .sub-sec-head--center .sub-sec-title:before {display:none;}
.sub-sec-desc {max-width:860px; margin-top:var(--space-14); color:var(--color-text-secondary); font-size:var(--body-m); line-height:1.8em;}
.sub-sec-head--split {display:flex; align-items:center; justify-content:space-between; gap:var(--space-20); flex-wrap:wrap;}
.panel-soft {padding:var(--space-36) var(--space-40); background:var(--bg-soft); border:1px solid var(--divider-color); border-radius:var(--radius-panel);}
.panel-line {padding:var(--space-36) var(--space-40); background:var(--bg-white); border:1px solid var(--border-color); border-radius:var(--radius-panel);}
.guide-notice {margin-top:var(--space-24); padding:22px 26px; border:1px solid transparent; border-radius:8px; background:#f8f8f8;}
.guide-notice--brand {border-color:color-mix(in srgb, var(--color-brand) 14%, transparent); background:color-mix(in srgb, var(--color-brand) 4%, #fff);}
.guide-notice__bar {display:flex; align-items:center; gap:16px;}
.guide-notice__title {display:flex; align-items:center; gap:8px; margin:0; color:var(--color-brand);  font-weight:800; line-height:1.3em; letter-spacing:-.02em;}
.guide-notice__icon {flex-shrink:0; display:block; width:17px; height:17px; color:#242424;}
.guide-notice__divider {flex-shrink:0; width:1px; height:14px; background:#ddd;}
.guide-notice__body, .guide-notice__text {flex:1; min-width:0; margin:0; color:var(--color-text-secondary);  line-height:1.65em;}
.mt {margin-top:var(--space-24);}
.info-table {border-top:2px solid var(--color-text-primary); border-bottom:1px solid var(--border-color);}
.info-table > div {display:grid; grid-template-columns:minmax(140px, 200px) minmax(0, 1fr); border-bottom:1px solid var(--divider-color);}
.info-table dt {padding:var(--space-20) var(--space-24); background:var(--bg-soft); color:var(--color-text-primary); font-size:var(--body-s); font-weight:800;}
.info-table dd {padding:var(--space-20) var(--space-24); color:var(--color-text-secondary); font-size:var(--body-m); line-height:1.75em;}
.recruit-spec-table {width:100%; border-top:1px solid #ddd;}
.recruit-spec-row {display:flex; align-items:stretch; width:100%;}
.recruit-spec-th {flex:none; display:flex; align-items:center; justify-content:center; width:min(240px, 28%); min-height:56px; padding:12px 16px; background:rgba(11, 98, 174, .04); border:1px solid #ddd; border-top:0; color:var(--color-text-primary);  font-weight:700; line-height:1.5em; text-align:center;}
.recruit-spec-td {flex:1 1 auto; min-width:0; display:flex; align-items:center; min-height:56px; padding:16px 24px; background:var(--bg-white); border-right:1px solid #ddd; border-bottom:1px solid #ddd; color:var(--color-text-secondary);  line-height:1.6em;}
.recruit-spec-td .txt-sub {color:var(--color-text-tertiary); font-size:var(--body-s);}
.txt-sub {color:var(--color-text-tertiary); font-size:var(--body-s);}

/* ========== 공통 : 허브카드 · 스텝 · 배지 ========== */
.hub-cards {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--space-20);}
.hub-cards.col-3 {grid-template-columns:repeat(3, minmax(0, 1fr));}
.hub-cards.col-2 {grid-template-columns:repeat(2, minmax(0, 1fr));}
.hub-card {display:flex; flex-direction:column; gap:var(--space-12); padding:var(--space-32) var(--space-28) var(--space-28); background:var(--bg-white); border:1px solid var(--border-color); border-radius:var(--radius-panel); transition:border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease), background .2s var(--ease);}
.hub-card:hover {border-color:var(--color-brand); box-shadow:var(--shadow-card); transform:translateY(-3px);}
.hub-card .hub-ico {display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; margin-bottom:var(--space-8); background:var(--bg-brand); color:var(--color-brand); border-radius:14px; transition:background .28s var(--ease), color .28s var(--ease);}
.hub-card .hub-ico svg {width:26px; height:26px;}
.hub-card h4 {color:var(--color-text-primary); font-size:var(--h5-xs); font-weight:800; letter-spacing:-.035em; line-height:1.35em; transition:color .28s var(--ease);}
.hub-card p {color:var(--color-text-tertiary); font-size:var(--body-s); line-height:1.7em; transition:color .28s var(--ease);}
.hub-card--link {text-decoration:none; color:inherit;}
.hub-tag {display:inline-flex; align-self:flex-start; margin-bottom:4px; color:var(--color-brand); font-family:var(--font-en); font-size:12px; font-weight:700; letter-spacing:.08em; line-height:1em; transition:color .28s var(--ease);}
.point-cards {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-20);}
.point-card {padding:var(--space-32) var(--space-30); background:var(--bg-white); border:1px solid var(--border-color); border-radius:var(--radius-panel);}
.point-card .p-num {display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; margin-bottom:var(--space-18); background:var(--grad-brand); color:#fff; font-family:var(--font-en); font-size:var(--body-s); font-weight:700; border-radius:50%;}
.figure-box {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-height:320px; padding:var(--space-40); background:var(--bg-soft); border:1px dashed var(--border-color); border-radius:var(--radius-panel); text-align:center;}
.figure-box--map {min-height:600px;}
.media-2col {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-20);}
.step-cards {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--space-16);}
.step-cards.col-3 {grid-template-columns:repeat(3, minmax(0, 1fr));}
.course-cards {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-20);}
.course-card {display:flex; flex-direction:column; padding:var(--space-32) var(--space-30); background:var(--bg-white); border:1px solid var(--border-color); border-radius:var(--radius-panel);}
.zone-cards {display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:var(--space-16);}
.zone-card {padding:var(--space-28) var(--space-22); background:rgba(255, 255, 255, .07); border:1px solid rgba(255, 255, 255, .16); border-radius:var(--radius-card);}
.space-cards {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-20);}
.space-card {padding:var(--space-28) var(--space-26); background:var(--bg-white); border:1px solid var(--border-color); border-radius:var(--radius-card);}
.badge {display:inline-flex; align-items:center; padding:5px 12px; font-size:var(--body-xs); font-weight:800; border-radius:100px;}
.badge-open {background:var(--bg-brand); color:var(--color-brand);}
.badge-soon {background:#FFF4E5; color:#B26A00;}
.badge-closed {background:#F1F3F5; color:var(--color-text-muted);}

/* ========== 공통 : 아카이브 보드 · 툴바 · 카드 ========== */
.archive-board__heading {flex:none; min-width:0; text-align:center;}
.archive-board__title {margin:0; color:var(--color-text-primary); font-size:var(--h2-l); font-weight:800; line-height:1.2em; letter-spacing:-.04em; text-align:center;}
.archive-board__lead {margin:0 auto; max-width:100%; color:var(--color-text-secondary); font-size:var(--body-l); line-height:1.75em; text-align:center;}
.archive-board__lead-line {display:block; text-align:center;}
.archive-board__toolbar {display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:16px 24px; width:100%;}
.archive-board__filters {display:flex; flex-wrap:nowrap; align-items:center; gap:8px; flex:1 1 auto; min-width:0;}
.archive-board__filter {display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 22px; color:var(--color-text-secondary); font-size:15px; font-weight:600; line-height:1em; background:#f8f8f8; border:0; border-radius:999px; cursor:pointer; transition:background .2s var(--ease), color .2s var(--ease);}
.archive-board__filter.is-active {background:var(--color-text-primary); color:var(--color-text-invert);}
.archive-board__search {display:flex; align-items:center; gap:8px; flex:0 0 auto; width:min(100%, 360px); margin-left:auto;}
.archive-board__search-input {flex:1 1 auto; min-width:0; height:48px; padding:0 22px; border:1px solid var(--border-color); border-radius:999px;}
.archive-board__search-btn {display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; color:#fff; background:var(--color-text-primary); border:0; border-radius:50%;}
.archive-board__grid {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; margin:0; padding:0; list-style:none;}
.archive-card-wrap {position:relative; min-width:0; list-style:none;}
.archive-card-wrap .archive-card__like {top:20px; right:20px; z-index:3; color:#242424; border:none; box-shadow:inset 0 0 0 1px var(--border-color);}
.archive-card-wrap .archive-card__like .ico-off {color:#242424;}
.archive-card-wrap .archive-card__like:hover, .archive-card-wrap .archive-card__like.is-on, .archive-card-wrap:hover .archive-card__like {color:#fff; border:none; background:var(--grad-brand); box-shadow:0 8px 20px rgba(11, 98, 174, .18);}
.archive-card-wrap .archive-card__like:hover .ico-off, .archive-card-wrap .archive-card__like.is-on .ico-on, .archive-card-wrap:hover .archive-card__like .ico-off {color:#fff; -webkit-text-fill-color:#fff;}
.archive-card {position:relative; display:flex; flex-direction:column; align-items:flex-start; height:100%; padding:34px 56px 36px 32px; background:var(--bg-white); border:1px solid var(--border-color); border-radius:20px; color:inherit; text-decoration:none; transition:border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);}
.archive-card:before {content:""; position:absolute; inset:-2px; border-radius:22px; padding:2px; background:var(--grad-brand); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; pointer-events:none; transition:opacity .25s var(--ease);}
.archive-card:hover, .archive-card:focus-visible {border-color:transparent; box-shadow:0 12px 32px rgba(26, 34, 43, .08); transform:translateY(-3px);}
.archive-card:hover:before, .archive-card:focus-visible:before {opacity:1;}
.archive-card__badge {display:inline-flex; align-items:center; min-height:28px; padding:0 12px; margin-bottom:18px; font-size:13px; font-weight:600; line-height:1em; border-radius:999px; width:fit-content;}
.archive-board--exhibition .archive-card__badge[class*="--zone-"], .archive-board--participants .archive-card__badge[class*="--zone-"], .archive-board--programs .archive-card__badge--program {gap:8px; min-height:auto; padding:0; font-size:14px; font-weight:600; line-height:1.4em; letter-spacing:-.01em; background:transparent; border-radius:0;}
.archive-board--exhibition .archive-card__badge[class*="--zone-"]:before, .archive-board--participants .archive-card__badge[class*="--zone-"]:before, .archive-board--programs .archive-card__badge--program:before {content:""; flex-shrink:0; width:8px; height:8px; border-radius:50%; background:currentColor;}
.archive-card__badge--zone-value {color:var(--color-brand);}
.archive-card__badge--zone-town {color:var(--color-cyan);}
.archive-card__badge--zone-nuri {color:var(--color-teal);}
.archive-card__badge--zone-future {color:var(--color-green-deep);}
.archive-card__badge--zone-square {color:#9ACD32;}
.archive-card__title {display:block; margin-bottom:10px; overflow:hidden; color:#242424; font-size:clamp(20px, 1.45vw, 24px); font-weight:800; line-height:1.35em; letter-spacing:-.03em; white-space:nowrap; text-overflow:ellipsis;}
.archive-card__desc {display:-webkit-box; flex:1 1 auto; overflow:hidden; margin:0; color:var(--color-text-tertiary); font-size:15px; font-weight:400; line-height:1.65em; letter-spacing:-.02em; -webkit-box-orient:vertical; -webkit-line-clamp:2;}
.archive-card__meta {display:block; width:100%; margin-top:16px; color:var(--color-text-muted); font-size:14px; font-weight:400; line-height:1.5em;}
.archive-board--expo .archive-board__body .sub-sec, .archive-board--visitor .archive-board__body .sub-sec, .archive-board--programs .archive-board__body .sub-sec, .archive-board--exhibition .archive-board__body .sub-sec {margin-top:clamp(40px, 4vw, 56px);}
.archive-board--expo .archive-board__body .sub-sec:first-child, .archive-board--visitor .archive-board__body .sub-sec:first-child, .archive-board--programs .archive-board__body .sub-sec:first-child, .archive-board--exhibition .archive-board__body .sub-sec:first-child {margin-top:0;}

/* ========== expo : 행사 개요 · 오시는 길 ========== */
.archive-board--expo .archive-board__intro {display:flex; align-items:stretch; gap:40px; min-height:400px; margin-bottom:64px;}
.archive-board--expo .archive-board__intro .archive-board__visual {flex:0 0 calc(50% - 20px); min-width:0; margin:0; overflow:hidden; border-radius:32px;}
.archive-board--expo .archive-board__intro .archive-board__visual-img {display:block; width:100%; height:100%; min-height:400px; object-fit:cover;}
.archive-board--expo .archive-board__intro-copy {display:flex; flex:1 1 auto; flex-direction:column; justify-content:center; min-width:0; padding:12px 0;}
.archive-board--expo .archive-board__intro-kicker {display:inline-block; width:fit-content; margin:0 0 16px; background:var(--grad-brand); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; font-size:14px; font-weight:600; line-height:1em; letter-spacing:.14em; text-transform:uppercase;}
.archive-board--expo .archive-board__intro-brand {margin:0 0 20px; color:#242424; font-size:clamp(26px, 2.2vw, 32px); font-weight:800; line-height:1.35em; letter-spacing:-.03em;}
.archive-board--expo .archive-board__intro-head {margin:0; color:#242424; font-size:clamp(16px, 1.5vw, 19px); font-weight:600; line-height:1.65em; letter-spacing:-.02em; text-align:left;}
.archive-board--expo .archive-board__intro-text {margin:32px 0 0; padding-top:32px; border-top:1px solid #E5E5E5; color:#686868; font-size:17px; font-weight:400; line-height:1.75em; letter-spacing:-.02em; text-align:left;}
.archive-board--expo .sub-sec-head {padding-bottom:20px; border-bottom:1px solid var(--line-strong); margin-bottom:24px;}
.archive-board--expo .sub-sec-title {display:flex; align-items:center; gap:10px; padding-left:0; font-size:22px; font-weight:700; line-height:1.35em;}
.archive-board--expo .sub-sec-title:before {position:static; flex-shrink:0; width:8px; height:8px; border-radius:4px; background:var(--color-brand);}
.archive-board--expo .sub-sec-head:has(+ .recruit-spec-table) {padding-bottom:0; border-bottom:0; margin-bottom:20px;}
.archive-board--expo .recruit-spec-table {border-top-color:#242424;}
.archive-board--expo .recruit-spec-table .recruit-spec-th {border-left:0;}
.archive-board--expo .recruit-spec-table .recruit-spec-td {border-right:0;}
.archive-board--expo .hub-cards .hub-card {--hub-accent:var(--color-brand); transition:border-color .28s var(--ease), background .28s var(--ease), box-shadow .28s var(--ease), transform .28s var(--ease);}
.archive-board--expo .hub-cards .hub-card:nth-child(1) .hub-ico {background:var(--color-brand); color:#fff;}
.archive-board--expo .hub-cards .hub-card:nth-child(2) {--hub-accent:var(--color-cyan);}
.archive-board--expo .hub-cards .hub-card:nth-child(2) .hub-ico {background:var(--color-cyan); color:#fff;}
.archive-board--expo .hub-cards .hub-card:nth-child(3) {--hub-accent:var(--color-teal);}
.archive-board--expo .hub-cards .hub-card:nth-child(3) .hub-ico {background:var(--color-teal); color:#fff;}
.archive-board--expo .hub-cards .hub-card:nth-child(4) {--hub-accent:var(--color-green);}
.archive-board--expo .hub-cards .hub-card:nth-child(4) .hub-ico {background:var(--color-green); color:#fff;}
.archive-board--expo .hub-cards .hub-card:hover {border-color:var(--hub-accent); background:var(--hub-accent); box-shadow:0 22px 48px color-mix(in srgb, var(--hub-accent) 30%, transparent); transform:translateY(-4px);}
.archive-board--expo .hub-cards .hub-card:hover h4 {color:#fff;}
.archive-board--expo .hub-cards .hub-card:hover p {color:rgba(255, 255, 255, .82);}
.archive-board--expo .hub-cards .hub-card:hover .hub-tag {color:rgba(255, 255, 255, .4);}
.archive-board--expo .hub-cards .hub-card:hover .hub-ico {background:rgba(255, 255, 255, .18); color:#fff;}
.archive-board--expo .hub-cards--direction {gap:24px;}
.archive-board--expo .hub-cards--direction-media .hub-card--direction {--hub-accent:var(--color-brand); gap:0; min-height:0; padding:0; overflow:hidden; border-top:0;}
.archive-board--expo .hub-cards--direction-media .hub-card--direction:nth-child(2) {--hub-accent:var(--color-cyan);}
.archive-board--expo .hub-cards--direction-media .hub-card--direction:nth-child(3) {--hub-accent:var(--color-teal);}
.archive-board--expo .hub-cards--direction-media .hub-card__media {position:relative; aspect-ratio:16 / 9; overflow:hidden;}
.archive-board--expo .hub-cards--direction-media .hub-card__img {display:block; width:100%; height:100%; object-fit:cover;}
.archive-board--expo .hub-cards--direction-media .hub-card__body {display:flex; flex-direction:column; gap:10px; padding:24px 28px 28px;}
.archive-board--expo .hub-cards--direction-media .hub-card h4 {margin:0; font-size:20px; font-weight:700; line-height:1.35em; transition:color .28s var(--ease);}
.archive-board--expo .hub-cards--direction-media .hub-card p {margin:0; flex:1;  line-height:1.65em; color:var(--color-text-secondary); word-break:keep-all;}
.archive-board--expo .hub-cards--direction-media .hub-card--direction, .archive-board--expo .hub-cards--direction-media .hub-card--direction:hover {border-color:var(--border-color); background:#fff; box-shadow:none; transform:none;}
.archive-board--expo .hub-cards--direction-media .hub-card--direction h4, .archive-board--expo .hub-cards--direction-media .hub-card--direction:hover h4 {color:var(--color-text-primary);}
.archive-board--expo .hub-cards--direction-media .hub-card--direction p, .archive-board--expo .hub-cards--direction-media .hub-card--direction:hover p {color:var(--color-text-secondary);}
.archive-board--expo .sub-sec .guide-notice--brand {margin-top:24px;}
.archive-board--expo .guide-notice--brand {border:0; background:#f8f8f8;}
.archive-board--expo .guide-notice--brand .guide-notice__title {flex-shrink:0; margin:0; color:#242424;}
.archive-board--expo .guide-notice--brand .guide-notice__icon {color:#242424;}
.archive-board--expo .guide-notice--brand .guide-notice__text {color:var(--color-text-secondary); line-height:1.65em; letter-spacing:-.02em;}
.archive-board--expo .visitor-location-card {margin-bottom:24px;}
.archive-board--expo .visitor-location-card__main {display:flex; flex-direction:column; border:1px solid var(--border-color); border-radius:28px; overflow:hidden; background:#fff;}
.archive-board--expo .visitor-location-card__map-wrap {height:clamp(480px, 32vw, 560px); overflow:hidden;}
.archive-board--expo .visitor-location-card__map-link {display:block; height:100%; overflow:hidden; text-decoration:none; color:inherit;}
.archive-board--expo .visitor-location-card__map-img {display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .35s var(--ease);}
.archive-board--expo .visitor-location-card__map-link:hover .visitor-location-card__map-img, .archive-board--expo .visitor-location-card__map-link:focus-visible .visitor-location-card__map-img {transform:scale(1.02);}
.archive-board--expo .visitor-location-card__body {position:relative; display:flex; align-items:center; justify-content:space-between; gap:40px; overflow:hidden; box-sizing:border-box; min-height:220px; padding:40px;}
.archive-board--expo .visitor-location-card__content {position:relative; z-index:1; flex:1; min-width:0;}
.archive-board--expo .visitor-location-card__actions {position:relative; z-index:1; display:flex; flex-direction:column; flex-shrink:0; gap:10px; width:300px;}
.archive-board--expo .visitor-location-card__btn {display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; width:100%; height:56px; padding:0 26px; gap:10px; border-radius:800px;  font-weight:600; line-height:1em; text-decoration:none; white-space:nowrap; cursor:pointer; transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease);}
.archive-board--expo .visitor-location-card__btn img {display:block; flex-shrink:0; width:20px; height:20px;}
.archive-board--expo .visitor-location-card__btn--dark {border:1px solid transparent; background:#242424; color:#fff;}
.archive-board--expo .visitor-location-card__btn--dark:hover, .archive-board--expo .visitor-location-card__btn--dark:focus-visible {border-color:transparent; background:var(--grad-brand); color:#fff; box-shadow:0 4px 16px rgba(11, 98, 174, .2);}
.archive-board--expo .visitor-location-card__btn--outline {border:1px solid #242424; background:#fff; color:#242424;}
.archive-board--expo .visitor-location-card__btn--outline img {transition:filter .25s var(--ease);}
.archive-board--expo .visitor-location-card__btn--outline:hover, .archive-board--expo .visitor-location-card__btn--outline:focus-visible {border-color:#242424; background:#242424; color:#fff;}
.archive-board--expo .visitor-location-card__btn--outline:hover img, .archive-board--expo .visitor-location-card__btn--outline:focus-visible img {filter:brightness(0) invert(1);}
.archive-board--expo .visitor-location-card__head {display:flex; align-items:center; gap:12px; min-width:0;}
.archive-board--expo .visitor-location-card__badge {flex:none; display:inline-block; padding:5px 14px; border-radius:999px; background:var(--color-brand); color:#fff; font-size:15px; font-weight:700; line-height:1.46em;}
.archive-board--expo .visitor-location-card__addr {flex:1; min-width:0; margin:0; overflow:hidden; color:var(--color-text-primary); font-size:clamp(22px, 2vw, 26px); font-weight:700; line-height:1.35em; letter-spacing:-.03em; text-overflow:ellipsis; white-space:nowrap;}
.archive-board--expo .visitor-location-card__detail {margin:20px 0 0; color:var(--color-text-primary);  font-weight:700; line-height:1.55em;}
.archive-board--expo .visitor-location-card__meta {margin-top:20px; min-height:52px;}
.archive-board--expo .visitor-location-card__detail-row {display:flex; gap:12px; font-size:15px; line-height:1.65em; color:var(--color-text-secondary);}
.archive-board--expo .visitor-location-card__detail-row + .visitor-location-card__detail-row {margin-top:10px;}
.archive-board--expo .visitor-location-card__detail-label {flex:none; width:78px; color:var(--color-text-muted);}
.archive-board--expo .sub-sec-head:has(+ .location-transport) {margin-bottom:24px;}
.archive-board--expo .location-transport {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px;}
.archive-board--expo .location-transport + .guide-notice--brand {margin-top:24px;}
.archive-board--expo .transport-card {padding:32px; background:#fff; border:1px solid var(--border-color); border-radius:22px;}
.archive-board--expo .transport-card__icon {display:flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:50%; background:var(--color-brand); color:#fff;}
.archive-board--expo .transport-card__icon img, .archive-board--expo .transport-card__icon svg {display:block; width:28px; height:28px;}
.archive-board--expo .transport-card--subway .transport-card__icon {background:var(--color-brand);}
.archive-board--expo .transport-card--subway li:before {color:var(--color-brand);}
.archive-board--expo .transport-card--bus .transport-card__icon {background:var(--color-cyan);}
.archive-board--expo .transport-card--bus li:before {color:var(--color-cyan);}
.archive-board--expo .transport-card--car .transport-card__icon {background:var(--color-teal);}
.archive-board--expo .transport-card--car li:before {color:var(--color-teal);}
.archive-board--expo .transport-card--parking .transport-card__icon {background:var(--color-green);}
.archive-board--expo .transport-card--parking li:before {color:var(--color-green);}
.archive-board--expo .transport-card h4 {margin:24px 0 8px; color:var(--color-text-primary); font-size:20px; font-weight:700; line-height:1.5em; letter-spacing:-.03em;}
.archive-board--expo .transport-card ul {margin:0; padding:0; list-style:none; color:var(--color-text-secondary);  line-height:1.75em;}
.archive-board--expo .transport-card li + li {margin-top:6px;}
.archive-board--expo .transport-card li:before {content:"• "; font-weight:700;}
.archive-board--expo .transport-card li strong {color:var(--color-text-primary); font-weight:700;}

/* ========== visitor : 참여자 안내 ========== */
.archive-board--visitor .archive-board__body > .archive-board__lead:first-child {margin-top:0; max-width:none;}
.archive-board--visitor .archive-board__lead-line + .archive-board__lead-line {margin-top:4px;}
.archive-board--visitor .archive-board__body > .archive-board__lead:has(+ .sub-sec) {margin-bottom:0;}
.archive-board--visitor .archive-board__body > .archive-board__lead + .sub-sec {margin-top:64px;}
.archive-board--visitor .archive-board__body > .archive-board__lead:has(+ .step-list) {margin-bottom:64px;}
.archive-board--visitor .archive-board__body > .archive-board__lead:has(+ .btn-area) {margin-bottom:0;}
.archive-board--visitor .archive-board__body > .archive-board__lead + .btn-area:not(.btn-area--contact) {margin-top:40px; margin-bottom:0;}
.archive-board--visitor .btn-area .btn.btn-primary.btn-lg {height:auto; min-height:58px; padding:16px 34px; border-radius:800px; background:#242424; border-color:#242424; color:#fff; box-shadow:none;}
.archive-board--visitor .btn-area .btn.btn-primary.btn-lg:hover, .archive-board--visitor .btn-area .btn.btn-primary.btn-lg:focus-visible {background:var(--grad-brand); border-color:transparent; color:#fff; box-shadow:none; transform:translateY(-2px);}
.archive-board--visitor .archive-board__body > .btn-area:not(.btn-area--contact) + .sub-sec {margin-top:64px;}
.archive-board--visitor .archive-board__body .step-list--hub {margin:0;}
.archive-board--visitor .step-list--hub .step-card:nth-child(1) {--step-mask:url(/images/icons/icon-calendar.svg);}
.archive-board--visitor .step-list--hub .step-card:nth-child(2) {--step-mask:url(/images/icons/icon-info.svg);}
.archive-board--visitor .step-list--hub .step-card:nth-child(3) {--step-mask:url(/images/icons/icon-map-fold.svg);}
.archive-board--visitor .step-list--hub .step-card:nth-child(4) {--step-mask:url(/images/icons/icon-search.svg);}
.archive-board--visitor .sub-sec-head {padding-bottom:20px; border-bottom:1px solid var(--line-strong); margin-bottom:24px;}
.archive-board--visitor .sub-sec-head:has(+ .recruit-spec-table) {padding-bottom:0; border-bottom:0; margin-bottom:20px;}
.archive-board--visitor .sub-sec-head:has(+ .sub-sec-desc--hub) {padding-bottom:20px; border-bottom:1px solid var(--line-strong); margin-bottom:12px;}
.archive-board--visitor .sub-sec-desc--hub {max-width:none; margin:0 0 24px; padding-left:0; color:var(--color-text-secondary);  line-height:1.65em;}
.archive-board--visitor .sub-sec-title {display:flex; align-items:center; gap:10px; padding-left:0; font-size:22px; font-weight:700; line-height:1.35em;}
.archive-board--visitor .sub-sec-title:before {position:static; flex-shrink:0; width:8px; height:8px; border-radius:4px; background:var(--color-brand);}
.archive-board--visitor .recruit-spec-table {border-top-color:#242424;}
.archive-board--visitor .recruit-spec-table .recruit-spec-th {border-left:0;}
.archive-board--visitor .recruit-spec-table .recruit-spec-td {border-right:0;}
.archive-board--visitor .guide-steps {display:flex; align-items:flex-start; justify-content:space-between; gap:0; margin:0; padding:0;}
.archive-board--visitor .guide-step {--step-accent:var(--color-brand); flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; padding:0 16px; background:transparent; text-align:center;}
.archive-board--visitor .guide-step[data-step="1"] {--step-accent:var(--color-brand);}
.archive-board--visitor .guide-step[data-step="2"] {--step-accent:var(--color-cyan);}
.archive-board--visitor .guide-step[data-step="3"] {--step-accent:var(--color-teal);}
.archive-board--visitor .guide-step__arrow {flex:0 0 auto; align-self:flex-start; display:flex; align-items:center; margin-top:63px; color:#999;}
.archive-board--visitor .guide-step__dots {display:block; flex-shrink:0; width:26px; height:6px;}
.archive-board--visitor .guide-step__icon {display:flex; align-items:center; justify-content:center; width:132px; height:132px; color:var(--color-brand); background:#fff; border:4px solid #f4f3f1; border-radius:50%; box-shadow:none; transition:background .55s var(--ease), border-color .55s var(--ease), box-shadow .55s var(--ease), color .55s var(--ease);}
.archive-board--visitor .guide-step.is-active .guide-step__icon {border-color:var(--step-accent); background:#fff; box-shadow:0 10px 24px color-mix(in srgb, var(--step-accent) 18%, transparent); color:var(--step-accent);}
.archive-board--visitor .guide-step__icon-img {display:block; width:auto; height:64px; max-width:64px; object-fit:contain;}
.archive-board--visitor .guide-step__num {display:block; margin:28px 0 0; color:var(--step-accent); font-size:15px; font-weight:700; line-height:1.3em; letter-spacing:-.01em;}
.archive-board--visitor .guide-step__label {display:block; margin:8px 0 0; color:#333; font-size:20px; font-weight:700; line-height:1.4em; letter-spacing:-.025em;}
.archive-board--visitor .guide-step__desc {margin:8px 0 0; color:#666;  line-height:1.66em; word-break:keep-all;}
.archive-board--visitor .guide-notice--brand {border:0; background:#f8f8f8;}
.archive-board--visitor .guide-notice--brand .guide-notice__title {flex-shrink:0; margin:0; color:#242424;}
.archive-board--visitor .guide-notice--brand .guide-notice__icon {color:#242424;}
.archive-board--visitor .guide-notice--brand .guide-notice__text {color:var(--color-text-secondary); line-height:1.65em; letter-spacing:-.02em;}
.archive-board--visitor .sub-sec .guide-notice--brand {margin-top:24px;}
.archive-board--visitor .sub-sec .guide-steps + .guide-notice--brand {margin-top:40px;}
.archive-board--visitor .hub-cards .hub-card {--hub-accent:var(--color-brand); transition:border-color .28s var(--ease), background .28s var(--ease), box-shadow .28s var(--ease), transform .28s var(--ease);}
.archive-board--visitor .hub-cards .hub-card:nth-child(1) .hub-ico {background:var(--color-brand); color:#fff;}
.archive-board--visitor .hub-cards .hub-card:nth-child(2) {--hub-accent:var(--color-cyan);}
.archive-board--visitor .hub-cards .hub-card:nth-child(2) .hub-ico {background:var(--color-cyan); color:#fff;}
.archive-board--visitor .hub-cards .hub-card:nth-child(3) {--hub-accent:var(--color-teal);}
.archive-board--visitor .hub-cards .hub-card:nth-child(3) .hub-ico {background:var(--color-teal); color:#fff;}
.archive-board--visitor .hub-cards .hub-card:nth-child(4) {--hub-accent:var(--color-green);}
.archive-board--visitor .hub-cards .hub-card:nth-child(4) .hub-ico {background:var(--color-green); color:#fff;}
.archive-board--visitor .hub-cards .hub-card:hover {border-color:var(--hub-accent); background:var(--hub-accent); box-shadow:0 22px 48px color-mix(in srgb, var(--hub-accent) 30%, transparent); transform:translateY(-4px);}
.archive-board--visitor .hub-cards .hub-card:hover h4 {color:#fff;}
.archive-board--visitor .hub-cards .hub-card:hover p {color:rgba(255, 255, 255, .82);}
.archive-board--visitor .hub-cards .hub-card:hover .hub-tag {color:rgba(255, 255, 255, .4);}
.archive-board--visitor .hub-cards .hub-card:hover .hub-ico {background:rgba(255, 255, 255, .18); color:#fff;}
.archive-board--visitor .hub-cards--zones {grid-template-columns:repeat(5, minmax(0, 1fr));}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(1) {--hub-accent:var(--color-brand);}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(2) {--hub-accent:var(--color-cyan);}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(3) {--hub-accent:var(--color-teal);}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(4) {--hub-accent:var(--color-green-deep);}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(5) {--hub-accent:var(--color-green);}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(1) .hub-ico {background:var(--color-brand); color:#fff;}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(2) .hub-ico {background:var(--color-cyan); color:#fff;}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(3) .hub-ico {background:var(--color-teal); color:#fff;}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(4) .hub-ico {background:var(--color-green-deep); color:#fff;}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(5) .hub-ico {background:var(--color-green); color:#fff;}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(1) .hub-tag {color:var(--color-brand);}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(2) .hub-tag {color:var(--color-cyan);}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(3) .hub-tag {color:var(--color-teal);}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(4) .hub-tag {color:var(--color-green-deep);}
.archive-board--visitor .hub-cards--zones .hub-card:nth-child(5) .hub-tag {color:var(--color-green);}
.archive-board--visitor .hub-cards--zones .hub-card:hover .hub-ico {background:#fff; color:var(--hub-accent);}
.archive-board--visitor .sub-sec:has(.visitor-map-hero) .visitor-map-hero {margin:0 0 64px;}
.archive-board--visitor .sub-sec-head:has(+ .exhibition-spaces__grid) {margin-bottom:24px;}
.archive-board--visitor .visitor-map-hero {display:flex; align-items:center; justify-content:center; min-height:600px; padding:48px 32px; background:linear-gradient(180deg, #f5f8fb 0%, #eef3f8 100%); border:1px solid var(--border-color); border-radius:20px; text-align:center;}
.archive-board--visitor .visitor-map-hero__inner {display:flex; flex-direction:column; align-items:center; gap:12px;}
.archive-board--visitor .visitor-map-hero__icon {display:flex; align-items:center; justify-content:center; width:64px; height:64px; color:var(--color-brand);}
.archive-board--visitor .visitor-map-hero__icon svg {width:40px; height:40px;}
.archive-board--visitor .visitor-map-hero__title {color:var(--color-text-primary); font-size:20px; font-weight:700; line-height:1.4em; letter-spacing:-.025em;}
.archive-board--visitor .visitor-map-hero__sub {color:var(--color-text-tertiary); font-size:15px; line-height:1.6em;}
.archive-board--visitor .exhibition-spaces__grid {margin-top:0;}
.archive-board--visitor .exhibition-spaces__grid .archive-media-card__headline {display:none;}
.archive-board--visitor .exhibition-spaces__grid .archive-media-card__visual:after {display:none;}
.archive-board--visitor .exhibition-spaces__grid .archive-media-card__visual {position:relative; aspect-ratio:16 / 10; overflow:hidden; border-radius:20px;}
.archive-board--visitor .exhibition-spaces__grid .archive-media-card__img {position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s var(--ease);}
.archive-board--visitor .exhibition-spaces__grid .archive-media-card:hover .archive-media-card__img, .archive-board--visitor .exhibition-spaces__grid .archive-media-card:focus-within .archive-media-card__img {transform:scale(1.08);}
.archive-board--visitor .exhibition-spaces__grid .archive-media-card__body {text-align:center;}
.archive-board--visitor .exhibition-spaces__grid .archive-media-card__title {font-size:clamp(18px, 1.35vw, 21px); text-align:center;}
.archive-board--visitor .exhibition-spaces__grid .archive-media-card__desc {display:-webkit-box; overflow:hidden; min-height:calc(16px * 1.65 * 2); color:var(--color-text-tertiary);  line-height:1.65em; text-align:center; word-break:keep-all; -webkit-box-orient:vertical; -webkit-line-clamp:2;}
.archive-board--visitor .visitor-location-card__main {display:flex; flex-direction:column; border:1px solid var(--border-color); border-radius:28px; overflow:hidden; background:#fff;}
.archive-board--visitor .visitor-location-card__map-wrap {height:clamp(480px, 32vw, 560px); overflow:hidden;}
.archive-board--visitor .visitor-location-card__body {display:flex; align-items:center; justify-content:space-between; gap:40px; min-height:220px; padding:40px;}
.archive-board--visitor .sub-sec-head:has(+ .hotel-cards--stay), .archive-board--visitor .sub-sec-head:has(+ .location-transport) {margin-bottom:24px;}
.archive-board--visitor .location-transport {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px;}
.archive-board--visitor .location-transport + .guide-notice--brand {margin-top:24px;}
.archive-board--visitor .transport-card {padding:32px; background:#fff; border:1px solid var(--border-color); border-radius:22px;}
.archive-board--visitor .transport-card__icon {display:flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:50%; background:var(--color-brand); color:#fff;}
.archive-board--visitor .transport-card__icon img, .archive-board--visitor .transport-card__icon svg {display:block; width:28px; height:28px;}
.archive-board--visitor .transport-card--subway .transport-card__icon {background:var(--color-brand);}
.archive-board--visitor .transport-card--subway li:before {color:var(--color-brand);}
.archive-board--visitor .transport-card--bus .transport-card__icon {background:var(--color-cyan);}
.archive-board--visitor .transport-card--bus li:before {color:var(--color-cyan);}
.archive-board--visitor .transport-card--car .transport-card__icon {background:var(--color-teal);}
.archive-board--visitor .transport-card--car li:before {color:var(--color-teal);}
.archive-board--visitor .transport-card--parking .transport-card__icon {background:var(--color-green);}
.archive-board--visitor .transport-card--parking li:before {color:var(--color-green);}
.archive-board--visitor .transport-card h4 {margin:24px 0 8px; color:var(--color-text-primary); font-size:20px; font-weight:700; line-height:1.5em; letter-spacing:-.03em;}
.archive-board--visitor .transport-card ul {margin:0; padding:0; list-style:none; color:var(--color-text-secondary);  line-height:1.75em;}
.archive-board--visitor .transport-card li + li {margin-top:6px;}
.archive-board--visitor .transport-card li:before {content:"• "; font-weight:700;}
.archive-board--visitor .transport-card li strong {color:var(--color-text-primary); font-weight:700;}
.hotel-cards {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--space-20);}
.hotel-card {display:block; overflow:hidden; background:var(--bg-white); border:1px solid var(--border-color); border-radius:var(--radius-card);}
.hotel-card .h-thumb {position:relative; padding-bottom:66%; background:var(--bg-soft); border-bottom:1px solid var(--divider-color);}
.hotel-card .h-thumb img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hotel-card .h-body {padding:var(--space-22) var(--space-24) var(--space-24);}
.archive-board--visitor .hotel-cards--stay {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:var(--space-20);}
.archive-board--visitor .hotel-cards--stay .hotel-card {--hotel-accent:var(--color-brand); display:flex; flex-direction:column; overflow:hidden; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--border-color); border-radius:var(--radius-card); box-shadow:0 2px 10px rgba(6, 42, 77, .035); transition:border-color .28s var(--ease), box-shadow .28s var(--ease), transform .28s var(--ease);}
.archive-board--visitor .hotel-cards--stay .hotel-card:nth-child(2) {--hotel-accent:var(--color-cyan);}
.archive-board--visitor .hotel-cards--stay .hotel-card:nth-child(3) {--hotel-accent:var(--color-teal);}
.archive-board--visitor .hotel-cards--stay .hotel-card:nth-child(4) {--hotel-accent:var(--color-green);}
.archive-board--visitor .hotel-cards--stay .hotel-card:hover {border-color:var(--hotel-accent); box-shadow:0 14px 32px color-mix(in srgb, var(--hotel-accent) 12%, transparent); transform:translateY(-4px);}
.archive-board--visitor .hotel-cards--stay .h-thumb {padding-bottom:62%; background:#eef2f6; border-bottom:0;}
.archive-board--visitor .hotel-cards--stay .h-body {display:flex; flex:1 1 auto; flex-direction:column; gap:10px; padding:22px 24px 24px;}
.archive-board--visitor .hotel-cards--stay .hotel-card h4 {margin:0; color:#1a1a1a; font-size:20px; font-weight:700; line-height:1.35em; letter-spacing:-.03em;}
.archive-board--visitor .hotel-cards--stay .hotel-card__desc {margin:0; color:#8a9199; font-size:15px; line-height:1.6em; word-break:keep-all;}
.archive-board--visitor .hotel-cards--stay .hotel-card__link {display:inline-flex; align-items:center; gap:10px; margin-top:auto; padding-top:24px; color:#3d4349; font-size:15px; font-weight:600; line-height:1.5em; transition:color .2s var(--ease);}
.archive-board--visitor .hotel-cards--stay .hotel-card:hover .hotel-card__link {color:var(--hotel-accent);}
.archive-board--visitor .hotel-cards--stay .hotel-card__link-icon {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:28px; height:28px; border-radius:50%; background:#eef0f2; color:#1a1a1a; font-size:14px; line-height:1em; transition:background .2s var(--ease), color .2s var(--ease);}
.archive-board--visitor .hotel-cards--stay .hotel-card:hover .hotel-card__link-icon {background:var(--hotel-accent); color:#fff;}
.archive-board--visitor .visitor-tourism-panel {display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr); gap:clamp(20px, 2.4vw, 32px); align-items:stretch; margin-bottom:24px;}
.archive-board--visitor .visitor-tourism-panel__visual {position:relative; display:flex; flex-direction:column; min-height:420px; overflow:hidden; border-radius:16px; background:#eef1f4; border:1px solid var(--border-color);}
.archive-board--visitor .visitor-tourism-panel__img {display:block; width:100%; height:100%; min-height:420px; object-fit:cover;}
.archive-board--visitor .visitor-tourism-panel__nav {position:absolute; left:50%; bottom:24px; z-index:2; display:flex; align-items:center; gap:14px; min-width:0; max-width:calc(100% - 48px); padding:11px 18px; background:rgba(18, 22, 28, .62); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-radius:999px; transform:translateX(-50%);}
.archive-board--visitor .visitor-tourism-panel__nav-caption {flex:1; min-width:0; overflow:hidden; color:#fff; font-size:15px; font-weight:500; line-height:1.4em; letter-spacing:-.02em; text-align:center; text-overflow:ellipsis; white-space:nowrap;}
.archive-board--visitor .visitor-tourism-panel__nav-btn {display:flex; flex:none; align-items:center; justify-content:center; width:28px; height:28px; padding:0; color:rgba(255, 255, 255, .88); background:transparent; border:0; border-radius:50%; cursor:pointer; transition:color .2s var(--ease), background .2s var(--ease);}
.archive-board--visitor .visitor-tourism-panel__nav-btn svg {display:block; width:18px; height:18px;}
.archive-board--visitor .visitor-tourism-panel__nav-btn:hover, .archive-board--visitor .visitor-tourism-panel__nav-btn:focus-visible {color:#fff; background:rgba(255, 255, 255, .12);}
.archive-board--visitor .visitor-tourism-panel__tabs {display:flex; flex-direction:column; gap:0; min-width:0; height:100%; min-height:420px;}
.archive-board--visitor .visitor-tourism-tab {display:flex; flex:1 1 0; flex-direction:column; align-items:flex-start; justify-content:center; gap:6px; width:100%; min-height:0; margin:0; padding:14px 8px 14px 16px; text-align:left; background:transparent; border:0; border-bottom:1px solid var(--border-color); border-left:3px solid transparent; border-radius:0; cursor:pointer; transition:border-left-color .22s var(--ease), color .22s var(--ease);}
.archive-board--visitor .visitor-tourism-tab:first-child {border-top:1px solid var(--border-color);}
.archive-board--visitor .visitor-tourism-tab:hover, .archive-board--visitor .visitor-tourism-tab:focus-visible, .archive-board--visitor .visitor-tourism-tab.is-active {border-left-color:var(--color-brand); background:transparent;}
.archive-board--visitor .visitor-tourism-tab:hover .visitor-tourism-tab__title, .archive-board--visitor .visitor-tourism-tab:focus-visible .visitor-tourism-tab__title, .archive-board--visitor .visitor-tourism-tab.is-active .visitor-tourism-tab__title {color:var(--color-brand);}
.archive-board--visitor .visitor-tourism-tab:hover .visitor-tourism-tab__desc, .archive-board--visitor .visitor-tourism-tab:focus-visible .visitor-tourism-tab__desc, .archive-board--visitor .visitor-tourism-tab.is-active .visitor-tourism-tab__desc {color:var(--color-text-primary);}
.archive-board--visitor .visitor-tourism-tab__title {color:var(--color-text-primary); font-size:20px; font-weight:700; line-height:1.35em; letter-spacing:-.03em; transition:color .22s var(--ease);}
.archive-board--visitor .visitor-tourism-tab__desc {color:var(--color-text-secondary); font-size:14px; font-weight:400; line-height:1.55em; word-break:keep-all; transition:color .22s var(--ease);}
.stay-cards {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-20);}
.stay-card {display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; gap:var(--space-20); padding:var(--space-26) var(--space-28); background:var(--bg-white); border:1px solid var(--border-color); border-radius:var(--radius-card);}

/* ========== exhibition : 전시·부스 ========== */
.archive-board--programs .archive-board__grid {grid-template-columns:repeat(2, minmax(0, 1fr));}
.archive-board--programs .archive-card__meta {display:flex; flex-wrap:wrap; gap:6px 12px;}
.archive-board--programs .archive-card-wrap.d1 .archive-card__badge--program {color:var(--color-brand);}
.archive-board--programs .archive-card-wrap.d2 .archive-card__badge--program {color:var(--color-cyan);}
.archive-board--programs .archive-card-wrap.d3 .archive-card__badge--program {color:var(--color-teal);}
.archive-board--programs .archive-card-wrap.always .archive-card__badge--program {color:var(--color-green-deep);}
.archive-board--exhibition .archive-board__body > .archive-board__lead:first-child {margin-top:0; max-width:none;}
.archive-board--exhibition .archive-board__body > .archive-board__lead + .zone-showcase {margin-top:48px;}
.archive-board--exhibition > .archive-board__lead {margin-bottom:64px;}
.btn-intro {display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 26px; background:#111; color:#fff; -webkit-text-fill-color:#fff; font-size:14px; font-weight:600; letter-spacing:-.01em; border:0; border-radius:100px; box-shadow:0 8px 24px rgba(0, 0, 0, .12); text-decoration:none; transition:color .22s var(--ease), transform .2s var(--ease), box-shadow .22s var(--ease);}
.btn-intro:hover, .btn-intro:focus-visible {background:var(--grad-brand); background-clip:border-box; -webkit-background-clip:border-box; color:#fff; -webkit-text-fill-color:#fff; transform:translateY(-2px); box-shadow:0 12px 28px rgba(11, 98, 174, .12);}
.zone-showcase {display:grid; grid-template-columns:minmax(0, 1.06fr) minmax(340px, .94fr); gap:clamp(24px, 3vw, 56px); align-items:stretch;}
.zone-stage {position:relative; overflow:hidden; min-height:clamp(420px, 40vw, 560px); border-radius:clamp(20px, 2vw, 28px); background:#06182D; box-shadow:0 18px 44px rgba(4, 29, 54, .14); isolation:isolate;}
.zone-stage:after {content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg, rgba(4, 20, 38, .36) 0%, rgba(4, 20, 38, 0) 32%, rgba(4, 20, 38, .14) 58%, rgba(4, 20, 38, .78) 100%);}
.zone-stage-media {position:absolute; inset:0; z-index:0;}
.zone-visual-item {position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transform:scale(1.06); transition:opacity .62s var(--ease), visibility .62s var(--ease), transform .9s var(--ease);}
.zone-visual-item.is-active {opacity:1; visibility:visible; transform:scale(1);}
.zone-visual-item img {display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
.zone-stage-tag {position:absolute; z-index:2; top:clamp(18px, 1.8vw, 26px); left:clamp(18px, 1.8vw, 26px); display:inline-flex; align-items:center; height:32px; padding:0 16px; background:rgba(255, 255, 255, .14); border:1px solid rgba(255, 255, 255, .3); border-radius:999px; color:#fff; font-family:var(--font-en); font-size:12px; font-weight:600; letter-spacing:.1em; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);}
.zone-stage-caption {position:absolute; z-index:2; left:clamp(20px, 2.2vw, 34px); right:clamp(20px, 2.2vw, 34px); bottom:clamp(20px, 2.2vw, 32px); display:flex; align-items:center; gap:clamp(10px, 1vw, 14px); min-width:0;}
.zone-stage-no {flex:none; color:rgba(255, 255, 255, .6); font-family:var(--font-en); font-size:clamp(15px, 1.2vw, 18px); font-weight:700; letter-spacing:.06em; line-height:1.15em;}
.zone-stage-name {min-width:0; color:#fff; font-size:clamp(22px, 2.1vw, 30px); font-weight:700; letter-spacing:-.03em; line-height:1.15em;}
.zone-nav-wrap {display:flex; flex-direction:column; min-height:100%;}
.zone-nav {margin:0; padding:0; list-style:none;}
.zone-nav-item + .zone-nav-item {margin-top:clamp(14px, 1.35vw, 22px);}
.zone-nav-btn {display:block; width:100%; padding:0; background:none; border:0; text-align:left; cursor:pointer;}
.zone-nav-name {display:inline-block; padding:.06em 0 .1em; color:rgba(17, 17, 17, .14); font-size:clamp(28px, 2.75vw, 42px); font-weight:800; letter-spacing:-.045em; line-height:1.28em; transition:color .35s var(--ease);}
.zone-nav-ko {display:inline; letter-spacing:-.045em;}
.zone-nav-en {position:relative; display:inline; margin-left:.2em; font-family:var(--font-en); font-weight:800; letter-spacing:-.02em;}
.zone-nav-item.is-active .zone-nav-name {color:#111;}
.zone-nav-item.is-active .zone-nav-ko, .zone-nav-item.is-active .zone-nav-en {display:inline-block; padding:.04em 0 .12em; background:var(--grad-brand); background-size:var(--zone-grad-w, 100%) 100%; background-repeat:no-repeat; background-position:var(--zone-grad-x, 0) 0; -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; line-height:1.22em;}
.zone-nav-item.is-active .zone-nav-en:after {content:""; position:absolute; top:.08em; right:0; width:7px; height:7px; border-radius:50%; background:var(--grad-brand); transform:translate(62%, 0); pointer-events:none;}
.zone-nav-btn:hover .zone-nav-name {color:rgba(17, 17, 17, .38);}
.zone-nav-item.is-active .zone-nav-btn:hover .zone-nav-ko, .zone-nav-item.is-active .zone-nav-btn:hover .zone-nav-en {color:transparent; -webkit-text-fill-color:transparent;}
.zone-nav-detail {margin-top:clamp(24px, 2.4vw, 32px); padding-top:clamp(22px, 2.2vw, 28px); border-top:1px solid rgba(17, 17, 17, .12);}
.zone-nav-panel {display:none;}
.zone-nav-panel.is-active {display:block;}
.zone-nav-lead {margin:0 0 clamp(12px, 1.1vw, 16px); color:#111; font-size:clamp(18px, 1.45vw, 24px); font-weight:700; letter-spacing:-.035em; line-height:1.34em;}
.zone-nav-desc {margin:0 0 clamp(22px, 2.2vw, 30px); color:#555; font-size:clamp(14px, 1vw, 16px); line-height:1.78em; letter-spacing:-.015em;}
.zone-nav-desc .zone-desc-line {display:block;}
.zone-nav-desc .zone-desc-line + .zone-desc-line {margin-top:.14em;}
.archive-board--exhibition-spaces .archive-media__grid, .exhibition-spaces__grid {margin-top:0;}
.archive-board--exhibition-spaces .archive-media-card__visual:after, .exhibition-spaces__grid .archive-media-card__visual:after {display:none;}
.archive-board--exhibition-spaces .archive-media-card__headline, .exhibition-spaces__grid .archive-media-card__headline {display:none;}
.archive-board--exhibition-spaces .archive-media-card__visual, .exhibition-spaces__grid .archive-media-card__visual {position:relative; aspect-ratio:16 / 10; overflow:hidden; border-radius:20px;}
.archive-board--exhibition-spaces .archive-media-card__img, .exhibition-spaces__grid .archive-media-card__img {position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s var(--ease);}
.archive-board--exhibition-spaces .archive-media-card:hover .archive-media-card__img, .archive-board--exhibition-spaces .archive-media-card:focus-within .archive-media-card__img, .exhibition-spaces__grid .archive-media-card:hover .archive-media-card__img, .exhibition-spaces__grid .archive-media-card:focus-within .archive-media-card__img {transform:scale(1.08);}
.archive-board--exhibition-spaces .archive-media-card__body, .exhibition-spaces__grid .archive-media-card__body {text-align:center;}
.archive-board--exhibition-spaces .archive-media-card__title, .exhibition-spaces__grid .archive-media-card__title {font-size:clamp(18px, 1.35vw, 21px); text-align:center;}
.archive-board--exhibition-spaces .archive-media-card:hover .archive-media-card__title, .archive-board--exhibition-spaces .archive-media-card:focus-within .archive-media-card__title, .exhibition-spaces__grid .archive-media-card:hover .archive-media-card__title, .exhibition-spaces__grid .archive-media-card:focus-within .archive-media-card__title {background:none; color:var(--color-text-primary); -webkit-text-fill-color:inherit;}
.archive-board--exhibition-spaces .archive-media-card__desc, .exhibition-spaces__grid .archive-media-card__desc {display:-webkit-box; overflow:hidden; min-height:calc(16px * 1.65 * 2); color:var(--color-text-tertiary); line-height:1.65em; text-align:center; word-break:keep-all; -webkit-box-orient:vertical; -webkit-line-clamp:2;}

/* ========== participants : 참가기업·기관 ========== */
.participant-detail-main {min-width:0;}
.participant-detail-intro {display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); column-gap:clamp(32px, 4vw, 56px); align-items:stretch; margin-bottom:clamp(72px, 7vw, 120px);}
.participant-detail-intro__media {grid-column:1; min-width:0;}
.participant-detail-intro__gallery {display:flex; flex-direction:column; gap:12px; min-width:0; width:100%;}
.participant-hero-swiper {position:relative; width:100%; overflow:hidden; border:1px solid var(--border-color); border-radius:12px; background:var(--bg-white);}
.participant-hero-swiper .swiper-wrapper, .participant-hero-thumbs .swiper-wrapper {height:auto;}
.participant-hero-swiper .swiper-slide, .participant-hero-thumbs .swiper-slide {height:auto; min-width:0; min-height:0;}
.participant-hero-visual {position:relative; width:100%; height:0; padding-bottom:63.71%; overflow:hidden;}
.participant-hero-visual img, .participant-hero-thumb img {position:absolute; top:0; left:0; display:block; width:100%; height:100%; object-fit:cover;}
.participant-hero-swiper .swiper-button-prev, .participant-hero-swiper .swiper-button-next {position:absolute; top:50%; z-index:3; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; margin:0; margin-top:0; padding:0; border:0; border-radius:0; background:transparent; color:#fff; cursor:pointer; transform:translateY(-50%); transition:transform .2s var(--ease), opacity .2s var(--ease);}
.participant-hero-swiper .swiper-button-prev:after, .participant-hero-swiper .swiper-button-next:after {display:none; content:none;}
.participant-hero-swiper .swiper-button-prev {left:16px; right:auto;}
.participant-hero-swiper .swiper-button-next {right:16px; left:auto;}
.participant-detail-intro__hero-arrow--prev .icon {transform:rotate(180deg);}
.participant-hero-swiper .swiper-button-prev:hover, .participant-hero-swiper .swiper-button-next:hover, .participant-hero-swiper .swiper-button-prev:focus-visible, .participant-hero-swiper .swiper-button-next:focus-visible {transform:translateY(-50%) scale(1.06);}
.participant-detail-intro__hero-arrow .icon, .participant-detail-intro__hero-arrow img {display:block; width:24px; height:24px; filter:brightness(0) invert(1) drop-shadow(0 1px 4px rgba(0, 0, 0, .35));}
.participant-hero-thumbs {min-width:0; width:100%; overflow:hidden;}
.participant-hero-thumbs .swiper-slide {cursor:pointer;}
.participant-hero-thumb {position:relative; width:100%; height:0; padding-bottom:63.71%; border:2px solid transparent; border-radius:12px; background:var(--bg-white); overflow:hidden; transition:border-color .2s var(--ease);}
.participant-hero-thumbs .swiper-slide-thumb-active .participant-hero-thumb {border-color:var(--color-cyan);}
.participant-detail-intro__info {grid-column:2; display:flex; flex-direction:column; min-width:0; min-height:100%;}
.participant-detail-intro__info-main {display:flex; flex:1 1 auto; flex-direction:column; min-height:0;}
.participant-detail-intro__crumbs {margin:0; padding:0; line-height:1em;}
.participant-detail-intro__crumbs .archive-card__badge, .participant-detail-intro__crumbs .archive-card__badge[class*="--zone-"] {margin:0; padding:0; min-height:0;  line-height:1.2em;}
.participant-detail-intro__title-row {display:flex; align-items:center; justify-content:space-between; gap:16px; margin:10px 0 0;}
.participant-detail-intro__title {flex:1 1 auto; min-width:0; margin:0; color:var(--color-text-primary); font-size:clamp(30px, 2.4vw, 34px); font-weight:700; line-height:1.25em; letter-spacing:-.03em;}
.participant-detail-intro__title-row .participant-detail-intro__like {position:static; flex-shrink:0; width:48px; height:48px; padding:0; font-size:20px; color:#242424; border:1px solid var(--border-color); background:var(--bg-white); cursor:pointer;}
.participant-detail-intro__title-row .participant-detail-intro__like:not(.is-on):hover, .participant-detail-intro__title-row .participant-detail-intro__like.is-on {color:#fff; border:none; background:var(--grad-brand); box-shadow:0 4px 16px rgba(11, 98, 174, .22);}
.participant-detail-intro__title-row .participant-detail-intro__like:not(.is-on):hover .ico-off, .participant-detail-intro__title-row .participant-detail-intro__like.is-on .ico-on {color:#fff;}
.participant-detail-intro__meta-lead {margin:14px 0 0; color:#4e5968; line-height:1.7em;}
.participant-detail-intro__meta {flex:1 1 auto; margin:40px 0 0;}
.participant-detail-intro__meta-list {margin:0; padding:0;}
.participant-detail-intro__meta-row {display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:64px; padding:18px 16px; border-bottom:1px solid var(--border-color);}
.participant-detail-intro__meta-row:first-child {border-top:1px solid var(--border-color);}
.participant-detail-intro__meta-row dt {flex-shrink:0; color:var(--color-text-primary); font-weight:700; line-height:1.5em;}
.participant-detail-intro__meta-row dd {margin:0; color:#4e5968; line-height:1.5em; text-align:right;}
.participant-detail-intro__actions {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; align-items:center; width:100%; margin-top:auto; padding-top:16px;}
.participant-detail-intro__btn {display:inline-flex; align-items:center; justify-content:center; height:64px; min-height:64px; padding:0 24px; border-radius:12px; font-weight:600; line-height:1em; text-decoration:none; transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease);}
.participant-detail-intro__btn--outline {border:1px solid var(--border-color); background:var(--bg-white); color:var(--color-text-primary);}
.participant-detail-intro__btn--outline:hover, .participant-detail-intro__btn--outline:focus-visible {border-color:#242424; color:#242424;}
.participant-detail-intro__btn--ghost {border:1px solid #242424; background:#242424; color:#fff;}
.participant-detail-intro__btn--ghost:hover, .participant-detail-intro__btn--ghost:focus-visible, .participant-detail-intro__btn--primary:hover, .participant-detail-intro__btn--primary:focus-visible {border-color:transparent; background:var(--grad-brand); color:#fff; box-shadow:0 4px 16px rgba(11, 98, 174, .2);}
.participant-detail-intro__btn--primary {border:1px solid transparent; background:var(--color-brand); color:#fff;}
.participant-detail__section + .participant-detail__section {margin-top:clamp(72px, 7vw, 120px);}
.participant-detail__section-title {display:flex; align-items:center; gap:10px; margin:0 0 28px; padding-bottom:20px; border-bottom:1px solid var(--border-color); color:var(--color-text-primary); font-size:clamp(24px, 2vw, 28px); font-weight:700; line-height:1.3em; letter-spacing:-.03em;}
.participant-detail__dot {flex-shrink:0; width:8px; height:8px; border-radius:4px; background:var(--color-brand);}
.participant-detail-about__lead {margin:0 0 16px; color:var(--color-text-primary); font-size:clamp(18px, 1.6vw, 20px); font-weight:700; line-height:1.6em; letter-spacing:-.02em;}
.participant-detail-about__text {margin:0; color:#4e5968; line-height:1.75em;}
.participant-detail-about__recommend {display:flex; align-items:center; justify-content:flex-start; gap:20px; margin-top:48px; padding:20px 24px; border:1px solid color-mix(in srgb, var(--color-cyan) 20%, var(--border-color)); border-radius:12px; background:color-mix(in srgb, var(--color-cyan) 6%, var(--bg-white));}
.participant-detail-about__recommend-title {flex:none; margin:0; padding:6px 12px; border-radius:6px; background:var(--color-cyan); color:var(--color-text-invert); font-size:13px; font-weight:700; line-height:1.3em;}
.participant-detail-about__recommend-desc {flex:1 1 auto; min-width:0; margin:0; color:#4e5968;  line-height:1.7em;}
.participant-detail-venue-cards {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:24px; margin:0; padding:0; list-style:none;}
.participant-detail-venue-card {--venue-accent:var(--color-brand); position:relative; display:flex; flex-direction:column; min-width:0; padding:32px 28px 30px; border:1px solid #ddd; border-radius:20px; background:var(--bg-white); overflow:hidden; transition:transform .24s var(--ease), border-color .24s var(--ease), box-shadow .24s var(--ease);}
.participant-detail-venue-card:nth-child(2) {--venue-accent:var(--color-cyan);}
.participant-detail-venue-card:nth-child(3) {--venue-accent:var(--color-teal);}
.participant-detail-venue-card:nth-child(4) {--venue-accent:var(--color-green);}
.participant-detail-venue-card:hover {transform:translateY(-4px); border-color:color-mix(in srgb, var(--venue-accent) 34%, var(--border-color)); box-shadow:0 16px 36px color-mix(in srgb, var(--venue-accent) 14%, transparent);}
.participant-detail-venue-card__label {position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; margin:0; border-radius:12px; background:var(--venue-accent); color:var(--color-text-invert); font-family:var(--font-en); font-size:14px; font-weight:700; line-height:1em;}
.participant-detail-venue-card__title {position:relative; z-index:1; margin:18px 0 0; color:var(--color-text-primary); font-size:20px; font-weight:700; line-height:1.4em; letter-spacing:-.02em;}
.participant-detail-venue-card__desc {position:relative; z-index:1; margin:10px 0 0; color:var(--color-text-secondary); font-size:15px; line-height:1.7em;}

/* ========== archive : 미디어 ========== */
.archive-media__grid {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:48px 32px;}
.archive-media__grid > .archive-media-card {min-width:0;}
.archive-media-card__link {display:block; height:100%; text-decoration:none; color:inherit; text-align:center;}
.archive-media-card__visual {position:relative; aspect-ratio:16 / 10; margin-bottom:20px; border-radius:20px; overflow:hidden;}
.archive-media-card__visual:after {content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(11, 98, 174, .18) 0%, rgba(18, 152, 206, .08) 35%, rgba(4, 29, 54, .68) 100%); pointer-events:none;}
.archive-media-card__img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .45s var(--ease);}
.archive-media-card:hover .archive-media-card__img, .archive-media-card:focus-within .archive-media-card__img {transform:scale(1.03);}
.archive-media-card__headline {margin:0; color:#fff; font-size:clamp(22px, 1.85vw, 28px); font-weight:800; line-height:1.25em; letter-spacing:-.03em;}
.archive-media-card__title {margin:0 0 10px; color:#242424; font-size:clamp(17px, 1.2vw, 19px); font-weight:800; line-height:1.4em;}
.archive-media-card__desc {margin:0; color:var(--color-text-muted); font-size:14px; font-weight:400; line-height:1.65em;}
.archive-media-card__date {display:block; color:var(--color-text-muted); font-size:14px; line-height:1.5em;}
.gallery-grid {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-24);}
.pagination {display:flex; align-items:center; justify-content:center; gap:12px; margin-top:64px;}

/* ========== 공통 : 문의 버튼 ========== */
.cs-contact__actions {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:24px; padding-top:clamp(40px, 4vw, 64px);}
.cs-contact__btn {display:inline-flex; align-items:center; justify-content:center; min-width:180px; height:64px; padding:0 24px; border-radius:12px;  font-weight:600; line-height:1em; text-decoration:none; transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease);}
.cs-contact__btn--outline {border:1px solid var(--border-color); background:#fff; color:var(--color-text-primary);}
.cs-contact__btn--dark {border:0; background:#242424; color:#fff;}
.cs-contact__btn--dark:hover {background:var(--grad-brand);}

/* ========== policy : 약관 · 방침 ========== */
.mypage-layout {display:flex; align-items:flex-start; gap:60px; padding:40px 0 80px;}
.mypage-lnb {flex:0 0 180px; width:180px; position:sticky; top:calc(var(--header-bar-height) + 24px); align-self:flex-start; max-height:calc(100vh - var(--header-bar-height) - 48px); overflow-y:auto; padding:0; background:var(--bg-white); border-radius:16px;}
.mypage-lnb__head {display:flex; align-items:center; height:52px; padding:0 11px; border-bottom:1px solid var(--border-color);}
.mypage-lnb__title {margin:0; color:#242424; font-size:18px; font-weight:700; line-height:1.44em;}
.mypage-lnb__nav {display:flex; flex-direction:column; gap:0; width:100%; padding:24px 0 16px;}
.mypage-lnb__link {display:flex; align-items:center; padding:8px 10px; color:#999;  font-weight:500; line-height:1.5em; letter-spacing:-.02em; text-decoration:none; transition:color .2s var(--ease);}
.mypage-lnb__link:hover {color:#242424;}
.mypage-lnb__link.is-active {color:#242424; font-size:17px; font-weight:700;}
.mypage-lnb__link:focus-visible {outline:2px solid var(--color-brand); outline-offset:2px;}
.mypage-main {flex:1 1 auto; min-width:0;}
.mypage-section-head--policy {margin-bottom:40px;}
.mypage-section-head--policy .mypage-section-title {margin:0;}
.mypage-section-head--policy .mypage-section-title.member-login-title {color:var(--color-text-primary); font-size:clamp(32px, 4vw, 40px); font-weight:800; line-height:1.2em; letter-spacing:-.02em; text-align:left;}
.policy-wrap .policy-rules__lead {margin:0 0 40px;}
.policy-rules {padding-top:0;}
.policy-rules__lead {color:#6b7684; font-size:15px; font-weight:400; line-height:1.75em; word-break:keep-all;}
.policy-rules__chapter + .policy-rules__chapter, .policy-rules__chapter + .policy-rules__addendum {margin-top:48px;}
.policy-rules__chapter-title {display:flex; align-items:center; gap:10px; margin:0 0 28px; color:#191f28; font-size:28px; font-weight:700; line-height:1.5em; letter-spacing:-.025em; word-break:keep-all;}
.policy-rules__chapter-title:before {content:""; flex-shrink:0; width:8px; height:8px; border-radius:4px; background:var(--color-brand);}
.policy-rules__list {display:flex; flex-direction:column; overflow:hidden; border:1px solid #e5e8eb; background:var(--bg-white);}
.policy-rules-item {border-bottom:1px solid #e5e8eb;}
.policy-rules-item:last-child {border-bottom:0;}
.policy-rules-item.is-open {border-top:2px solid var(--color-brand);}
.policy-rules-item__head {display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:22px 28px; border:0; background:var(--bg-white); font:inherit; text-align:left; cursor:pointer;}
.policy-rules-item__title {color:#191f28; font-size:17px; font-weight:700; line-height:1.45em;}
.policy-rules-item__icon {position:relative; flex-shrink:0; width:20px; height:20px;}
.policy-rules-item__icon:before, .policy-rules-item__icon:after {content:""; position:absolute; top:50%; left:50%; width:12px; height:2px; background-color:#8b95a1; transform:translate(-50%, -50%); transition:transform .2s var(--ease), background-color .2s var(--ease);}
.policy-rules-item__icon:after {transform:translate(-50%, -50%) rotate(90deg);}
.policy-rules-item.is-open .policy-rules-item__icon:before, .policy-rules-item.is-open .policy-rules-item__icon:after, .policy-rules-item__head[aria-expanded="true"] .policy-rules-item__icon:before, .policy-rules-item__head[aria-expanded="true"] .policy-rules-item__icon:after {background-color:var(--color-brand);}
.policy-rules-item.is-open .policy-rules-item__icon:after {transform:translate(-50%, -50%) rotate(0deg);}
.policy-rules-item__body {overflow:hidden; padding:0 28px 24px;}
.policy-rules-item__body[hidden] {display:none;}
.policy-rules-item__body p {margin:0 0 12px; color:#6b7684; font-size:15px; line-height:1.75em;}
.policy-rules-item__body p:last-child {margin-bottom:0;}
.policy-rules-item__body a {color:var(--color-brand); text-decoration:underline; text-underline-offset:2px;}
.policy-rules-item__body a:hover {color:var(--color-brand-hover);}
.policy-rules-item__list {margin:0 0 16px; padding-left:20px; color:#6b7684; font-size:15px; line-height:1.75em;}
.policy-rules-item__list li + li {margin-top:8px;}
.policy-rules-item__body .policy-table {margin-top:8px;}
.policy-table {display:flex; flex-direction:column; overflow:hidden; border:1px solid #ddd;}
.policy-table__row {display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #ddd;}
.policy-table__row:first-child {border-top:0;}
.policy-table--cols-3 .policy-table__row {grid-template-columns:120px 1fr 1fr;}
.policy-table__row--head .policy-table__cell {background:#f5f8fc; color:#242424; font-weight:700;}
.policy-table__cell {display:flex; align-items:center; min-height:52px; padding:12px 16px; border-left:1px solid #ddd; color:#686868;  line-height:1.5em; word-break:keep-all;}
.policy-table__cell:first-child {border-left:0;}
.policy-table__cell a {color:var(--color-brand); text-decoration:underline; text-underline-offset:2px;}
.policy-doc--full {max-height:none; overflow:visible;}
.policy-doc--full a {color:var(--color-brand); text-decoration:underline; text-underline-offset:2px;}
.policy-doc--full a:hover {color:var(--color-brand-hover);}

/* 행사개요 - 앰블럼 및 앰블럼 소개 */
.emblem-showcase {width:100%;}
.emblem-showcase__card {display:flex; flex-direction:column; }
.emblem-showcase__header {margin-bottom:24px;}
.emblem-showcase__title {margin:0; color:#191f28; font-size:32px; font-weight:800; line-height:1.3em; letter-spacing:-.02em;}
.emblem-showcase__intro {margin-bottom:48px;}
.emblem-showcase__intro p {margin:0 0 12px; color:#4a5568; font-size:16px; line-height:1.65em; word-break:keep-all;}
.emblem-showcase__intro p:last-child {margin-bottom:0;}
.emblem-showcase__body {display:grid; grid-template-columns:1fr 1fr; gap:60px;}
.emblem-showcase__visual {display:flex; flex-direction:column; gap:32px;}
.emblem-showcase__emblem {display:flex; align-items:center; justify-content:center; min-height:360px; background:#fafbfc; border:1px solid #e5e8eb; border-radius:8px;}
.emblem-showcase__emblem img { max-width: 71%; max-height: 71%;}
.emblem-showcase__legend {display:flex; flex-direction:column; gap:12px;}
.emblem-showcase__legend-item {display:flex; align-items:center; gap:12px;}
.emblem-showcase__legend-color {display:block; width:24px; height:24px; border-radius:4px; flex-shrink:0;}
.emblem-showcase__legend-text {color:#4a5568; font-size:15px; font-weight:500; line-height:1.5em;}
.emblem-showcase__desc {display:flex; flex-direction:column;}
.emblem-showcase__desc-title {margin:0 0 24px; padding-bottom:16px; border-bottom:2px solid #191f28; color:#191f28; font-size:20px; font-weight:700; line-height:1.4em;}
.emblem-showcase__features {display:flex; flex-direction:column; gap:20px;}
.emblem-showcase__feature {display:flex; gap:16px;}
.emblem-showcase__feature-icon {display:flex; align-items:center; justify-content:center; width:48px; height:48px; flex-shrink:0; background:#fafbfc; border:1px solid #e5e8eb; border-radius:8px;}
.emblem-showcase__feature-icon img { max-width: 70%; max-height: 70%;}
.emblem-showcase__feature-icon--letter {background:#fff;}
.emblem-showcase__feature-icon--letter span {font-size:28px; font-weight:700; line-height:1;}
.emblem-showcase__feature-content {display:flex; flex-direction:column; gap:4px; padding-top:4px;}
.emblem-showcase__feature-title {display:block; color:#191f28; font-size:16px; font-weight:700; line-height:1.4em;}
.emblem-showcase__feature-text {margin:0; color:#6b7684; font-size:14px; line-height:1.5em; word-break:keep-all; }