@charset "utf-8";

/* ------------------------------------------------------------
ROOT 및 기본
------------------------------------------------------------ */
	:root {
		--font-main: 'Jost', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
		--black: #000;
		--white: #fff;
		--gray: #f5f5f5;
		--line: #e0e0e0;
		--dim: #666;
		--head-h: 80px;
		--wrap: 1400px;
	}

	* { margin:0; padding:0; box-sizing:border-box; }
	html { font-size:100%; -webkit-text-size-adjust:100%; }

	[hidden] { display:none !important; }
	body { font-family:var(--font-main); color:var(--black); background:var(--white); line-height:1; letter-spacing:-0.002em; }

	a { text-decoration:none; color:inherit; }
	ul { list-style:none; }
	img { max-width:100%; display:block; }
	button { font-family:inherit; cursor:pointer; }
	input, select, textarea { font-family:inherit; font-size:1rem; }

	.skip { position:absolute; left:-9999px; top:0; z-index:2000; background:#000; color:#fff; padding:10px 16px; }
	.skip:focus { left:8px; top:8px; }

	.sdr { font-family: 'SCoreDream' !important; }

/* ------------------------------------------------------------
헤더 (고정하지 않음)
------------------------------------------------------------ */
	.site-head { width:100%; background:var(--white); border-bottom:1px solid var(--line); }
	.site-head .head-in {
		display:flex; flex-flow:row wrap; align-items:center; 
		position:relative; max-width:var(--wrap); margin:0 auto; height:auto; padding:30px 20px; 
	}
	.site-head .head-logo { flex:0 0 auto; display:flex; justify-content:center; align-items:center; } 
	.site-head .head-logo img { height:28px; width:auto; margin:0 auto; }
	.site-head .logo-tx { margin:0 auto; display:flex; flex-direction:column; align-items:center; line-height:1.1; }
	.site-head .logo-tx b { font-size:2.2rem; font-weight:500; letter-spacing:.02em; }
	.site-head .logo-tx em { font-style:normal; font-size:1rem; font-weight:400; color:var(--dim); letter-spacing:.04em; }
	
	.site-head .head-nav { flex:1 1 auto; }
	.site-head .head-nav ul { display:flex; justify-content:center; gap:40px; line-height:1; margin:0 auto; }
	.site-head .head-nav a { font-size:1.05rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase; }

	.site-head .head-tools { height:36px; display:flex; align-items:center; gap:30px; line-height:1; }
	.site-head .head-search {display:flex; align-items:center; border:1px solid var(--line); height:36px; padding:0 4px 0 12px; }
	.site-head .head-search input { border:0; outline:0; width:180px; height:100%; font-size:.85rem; background:transparent; }
	.site-head .head-search button { border:0; background:none; padding:0 8px; height:100%; display:flex; align-items:center; }
	.site-head .head-search .adv-open { font-size:.75rem; font-weight:700; border-left:1px solid var(--line); padding:0 10px; color:var(--dim); }

	.burger { border:0; background:none; width:24px; cursor:pointer; }
	.burger div { background:#000; content:''; display:block; height:2px; margin:8px 0; }
	.burger::before { background:#000; content:''; display:block; height:2px; margin:8px 0; margin-top:0;}
	.burger::after { background:#000; content:''; display:block; height:2px; margin:8px 0; margin-bottom:0; }

	.btn-subscribe { 
		display:flex; justify-content:center; align-items:center; width:80px; height:36px;
		background:#000; color:#fff; font-size:1rem; font-weight:600; text-transform:uppercase; letter-spacing:.5px; white-space:nowrap; 
	}
	.btn-subscribe:hover { background:#333; color:#fff; }

	@media (max-width:1280px) {
	}

	@media (max-width:1140px) {
		.site-head .head-nav { width:100%; }
		.site-head .head-nav ul { padding-top:40px; }
		.site-head .head-tools { position:absolute; top:40px; right:40px; }
	}

	@media (max-width:1024px) {
		.site-head .head-nav ul { justify-content:flex-start; }
	}

	@media (max-width:768px) {
		.site-head .head-logo img { height:20px; }
		.site-head .head-in { padding:20px; }
		.site-head .head-nav { display:none; }
		.site-head .head-tools { top:50%; transform:translateY(-50%); right:20px; }
		.btn-subscribe { display:none; }
	}

	@media (max-width:480px) {
	}

/* ------------------------------------------------------------
full-menu
------------------------------------------------------------ */
	.full-menu { 
		position:fixed; inset:0; width:100%; height:100dvh; background:#000; z-index:9999; 
		display:flex; flex-flow:column nowrap; justify-content:flex-start; align-items:flex-start; padding:40px 60px 80px 60px; 
		overflow-y:auto; animation:menuIn .32s ease;
	}
	@keyframes menuIn { 
		from { opacity:0; transform:translateY(-12px); }
		to { opacity:1; transform:none; }
	}

	.full-menu-header { 
		width:100%; max-width:var(--wrap); margin:0 auto; padding-bottom:60px;
		display:flex; justify-content:space-between; align-items:center; 
	}
	.full-menu-header .menu-close { 
		display:flex; justify-content:center; align-items:center; border:0; outline:0; background:transparent; padding:0; 
		font-size:3rem; color:#fff; font-weight:200; line-height:1; margin-top:-6px;
	}
	.full-menu-logo { } 
	.full-menu-logo img { height:28px; width:auto; margin:0 auto; }

	.menu-content { position:relative; width:100%; max-width:var(--wrap); margin:0 auto; display:flex; justify-content:space-between; }

	.menu-search-wrap { display:block; position:absolute; top:0; right:0; padding-bottom:40px; min-width:270px; }

	.menu-search { position:relative; margin:0 auto; }
	.menu-search input { 
		width:100%; height:50px; border:0; border-bottom:2px solid #fff; border-radius:0; color:#fff; background:transparent;
		outline:none; font-size:.94rem; font-weight:600; letter-spacing:-0.002em; appearance:none; -webkit-appearance:none;
	}
	.menu-search input::placeholder { color:rgba(255,255,255,.5); text-transform:uppercase; }
	.menu-search button { 
		position:absolute; top:50%; right:0; width:26px; height:26px; transform:translateY(-50%);
		display:flex; justify-content:center; align-items:center; border:0; background:transparent;
	}
	.menu-search .x {
		position:absolute; top:50%; right:42px; width:18px; height:18px; transform:translateY(-50%); cursor:pointer;
		display:flex; justify-content:center; align-items:center; border:0; background:transparent;
	}

	.menu-left { }
	.menu-left > ul { width:291px; }
	.menu-left > ul > li { position:relative; padding-bottom:40px; }
	.menu-left > ul > li > a { font-size:3rem; color:#888; font-weight:500; text-transform:uppercase; letter-spacing:.2rem; }
	.menu-left > ul > li:hover > a { color:#fff; }
	.menu-left > ul > li > ul { display:none; position:absolute; top:0; left:290px; }
	.menu-left > ul > li > ul > li { width:300px; padding-bottom:30px; }
	.menu-left > ul > li > ul > li > a { font-size:1.65rem; color:#fff; font-weight:500; text-transform:uppercase; }

	.menu-right { display:flex; flex-direction:column; justify-content:flex-start; min-width:270px; }

	.menu-links { display:flex; flex-direction:column; gap:30px; padding-top:90px; }
	.menu-links a { display:block; font-size:1.2rem; color:#fff; font-weight:500; line-height:1; }

	.menu-social { display:flex; gap:20px; align-items:center; padding:30px 0; }
	.menu-social a { 
		display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px;
		border-radius:50%; background:rgba(255,255,255,.1); 
	}
	.menu-social svg { width:20px; height:20px; color:#fff; }

	.menu-cover { padding-top:30px; border-top:1px solid rgba(255,255,255,.2); }
	.cover-title { font-size:.75rem; font-weight:600; color:rgba(255,255,255,.5); padding-bottom:15px; }
	.cover-links { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; }
	.cover-links a { font-size:.85rem; color:#fff; white-space:nowrap; letter-spacing:0.1rem; }
	.cover-links .separator { color:rgba(255,255,255,.3); font-size:.75rem; }
	.cover-links .separator:last-child { display:none; }

	@media (max-width:1024px) {
		.menu-left > ul { width:231px; }
		.menu-left > ul > li > a { font-size:2.6rem; }
		.menu-left > ul > li > ul { left:230px; }
		.menu-left > ul > li > ul > li > a { font-size:1.4rem; }
	}
	@media (hover: hover) and (min-width: 821px) {
		.menu-left > ul > li:hover > ul { display:block; }
	}
	@media (max-width:820px) {
		.full-menu { padding:20px; }
		.full-menu-header { padding-bottom:40px; }
		.full-menu-header .menu-close { font-size:2.3rem;margin-top:-4px; }
		.full-menu-logo img { height:20px; width:auto; margin:0 auto; }
		.menu-content { display:block; }
		.menu-search-wrap { position:static; top:auto; right:auto; width:100%; }
		.menu-left > ul { width:100%; }
		.menu-left > ul > li { position:relative; padding-bottom:25px; }
		.menu-left > ul > li > a { font-size:2.5rem; color:#fff; }
		.menu-left > ul > li > ul { display:none; position:static; top:auto; left:auto; padding-top:20px;}
		.menu-left > ul > li > ul > li { width:100%; padding-bottom:20px; }
		.menu-left > ul > li > ul > li:last-child { padding-bottom:0px; }
		.menu-left > ul > li > ul > li > a { font-size:1.2rem; color:#fff; font-weight:500; text-transform:uppercase; }
		.menu-links { flex-flow:row wrap; gap:10px; padding-top:20px; }
		.menu-links a { font-size:1rem; }
	}
	@media (max-width:480px) {
		.full-menu-header { padding-bottom:20px; }
		.menu-search-wrap { padding-bottom:20px; }
		.menu-left > ul > li { padding-bottom:20px; }
		.menu-left > ul > li > a { font-size:1.6rem; }
		.menu-left > ul > li > ul { padding-top:15px;}
		.menu-left > ul > li > ul > li { padding-bottom:15px; }
		.menu-left > ul > li > ul > li > a { font-size:1rem; }
		.menu-links a { font-size:0.82rem; }
	}
	@media (max-width:360px) {
	}

/* ------------------------------------------------------------
상세검색 팝업
------------------------------------------------------------ */
	/*
	.adv-wrap { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:1500; display:flex; align-items:center; justify-content:center; padding:20px; }
	.adv-box { background:#fff; width:100%; max-width:520px; padding:30px; }
	.adv-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
	.adv-head b { font-size:1.1rem; letter-spacing:.02em; }
	.adv-close { border:0; background:none; font-size:1.6rem; line-height:1; }
	.adv-box label { display:block; font-size:.8rem; font-weight:700; margin-bottom:14px; }
	.adv-box input, 
	.adv-box select { display:block; width:100%; margin-top:6px; height:38px; padding:0 10px; border:1px solid var(--line); font-weight:400; cursor:pointer; }
	.adv-2 { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
	.adv-hint { font-size:.75rem; color:var(--dim); margin:-4px 0 16px; }
	.adv-btns { display:flex; gap:8px; padding-top:10px; }
	.btn-fill { background:#000; color:#fff; border:1px solid #000; padding:10px 24px; font-weight:700; font-size:.85rem; }
	.btn-line { display:inline-block; border:1px solid var(--line); padding:10px 20px; font-weight:700; font-size:.85rem; }
	*/

/* ------------------------------------------------------------
hero
------------------------------------------------------------ */
	.hero { position:relative; }
	.hero-img { width:100%; height:clamp(280px, 42vw, 560px); object-fit:cover; }
	.hero-none { width:100%; height:clamp(240px, 34vw, 420px); background:#111; }
	.hero-logo { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:min(420px, 52vw); }
	.hero-logo img { width:100%; filter:drop-shadow(0 2px 14px rgba(0,0,0,.35)); }
	.hero-logo .logo-tx { display:flex; flex-flow:column nowrap; justify-content:center; align-items:center; color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.5); }
	.hero-logo .logo-tx b { font-size:clamp(1.6rem, 4vw, 3rem); }

/* ------------------------------------------------------------
cover-belt
------------------------------------------------------------ */
	.cover-belt { display:block; padding:10px 0 0 0; }
	.cover-belt .cv { display:block; aspect-ratio:1/1.414; position:relative; overflow:hidden; }
	.cover-belt .cv img { width:100%; height:100%; object-fit:cover; }
	.cover-belt .cv .ph { width:100%; height:100%; background:#222; }

	@media (max-width:768px){
		.cover-belt { padding:5px 0 0 0; }
	}

/* ------------------------------------------------------------
sec-head
------------------------------------------------------------ */
	.sec-head { display:flex; justify-content:space-between; align-items:center; line-height:1; padding-bottom:15px; }
	.sec-head h2 { font-size:3rem; font-weight:500; letter-spacing:-.04em; padding:0; margin:0; }
	.sec-head .more { font-size:0.82rem; font-weight:500; color:var(--dim); }
	.sec-head .more:hover { color:#000; }
	.sec-body { width:100%; padding-bottom:30px; position:relative; }
	.sec-body .nav { 
		display:flex; justify-content:flex-end; align-items:center; gap:0 30px; 
		position:absolute; top:-40px; right:0;
	}
	.sec-body .nav div { cursor:pointer; }
	.sec-body .nav div:first-child img { transform:rotate(180deg); }
	.sec-body .nav.people { top:20px; right:0; }
	.swiper-button-n.swiper-button-disabled img { opacity:0.3; }
	.swiper-button-p.swiper-button-disabled img { opacity:0.3; }
	.swiper-button-pn.swiper-button-disabled img { opacity:0.3; }
	.swiper-button-pp.swiper-button-disabled img { opacity:0.3; }

	@media (max-width:820px) {
		.sec-body .nav { gap:0 10px; }
		.sec-head h2 { font-size:2rem }
		.sec-body .nav.people { top:30px; right:0; }
	}

/* ------------------------------------------------------------
band
------------------------------------------------------------ */
	.band {
		background-color:#fff;
		background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4+fMnAAXaAuwvWDrJAAAAAElFTkSuQmCC');
		background-size:100% 50%;
		background-repeat:no-repeat;
		background-position:left bottom;
	}
	.band.ff {
		background-color:#fff;
		background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4+fMnAAXaAuwvWDrJAAAAAElFTkSuQmCC');
		background-size:100% calc(100% - 100px);
		background-repeat:no-repeat;
		background-position:left bottom;
	}

	@media (max-width:1024px) {
		.band.ff { background-size:100% calc(100% - 60px); }
	}

	@media (max-width:820px) {
		.band { background-image:none; }
		.band.ff { background-size:100% calc(100% - 60px); }
	}

/* ------------------------------------------------------------
latest
------------------------------------------------------------ */
	.latest { width:100%; margin:0 auto; display:grid; grid-template-columns:repeat(24, 1fr); gap:20px 40px; }
	.latest .cover { grid-column:span 10; grid-row:span 2; }
	.latest .cover img { display:block; aspect-ratio:1/1.414; margin:0 auto; width:100%;  }
	.latest .col { grid-column:span 7; }

	@media (max-width:1024px) {
		.latest { gap:20px 20px; }
	}
	@media (max-width:820px) {
		.latest { display:grid; grid-template-columns:1fr; gap:30px 0; }
		.latest .cover { grid-column:1; grid-row:1; }
		.latest .col { grid-column:1; }
		.latest .col .card .card-link { display:flex; flex-flow:row nowrap; width:100%; gap:0 20px; }
		.latest .col .card .card-link .card-image { width:40%; }
		.latest .col .card .card-link .card-body { flex:1; padding-top:0; }
	}
	
/* ------------------------------------------------------------
people
------------------------------------------------------------ */
	.people-grid { display:flex; flex-flow:row wrap; padding-top:50px; }
	.people-title { width:25%; }
	.people-title h2 { font-size:3rem; font-weight:500; letter-spacing:-.04em; padding:0; margin:0; }
	.people-title p { padding:40px 20px 20px 0; font-size:1rem; line-height:1.3; }
	.people-grid .swiper-people { width:75%; }

	@media (max-width:820px) {
		.people-grid { padding-top:20px; }
		.people-title { width:100%; }
		.people-title h2 { font-size:2rem }
		.people-title p { padding:20px 20px 20px 0; font-size:0.92rem; }
		.people-grid .swiper-people { width:100%; }
	}

/* ------------------------------------------------------------
news
------------------------------------------------------------ */
	.news { width:100%; margin:0 auto; display:grid; grid-template-columns:repeat(24, 1fr); gap:20px 40px; }
	.news .cover { position:relative; grid-column:span 10; grid-row:span 2; }
	.news .cover img { display:block; aspect-ratio:1/1.414; margin:0 auto; width:100%;  }
	.news .cover:hover h4 { text-decoration:underline; text-underline-position:under; }
	.news .col { grid-column:span 7; }

	@media (max-width:1024px) {
		.news { gap:20px 20px; }
	}
	@media (max-width:820px) {
		.news { display:grid; grid-template-columns:1fr; gap:30px 0; }
		.news .cover { grid-column:1; grid-row:1; }
		.news .col { grid-column:1; }
		.news .col .card .card-link { display:flex; flex-flow:row nowrap; width:100%; gap:0 20px; }
		.news .col .card .card-link .card-image { width:40%; }
		.news .col .card .card-link .card-body { flex:1; padding-top:0; }
	}

/* ------------------------------------------------------------
wrap
------------------------------------------------------------ */
	.wrap { width:100%; max-width:var(--wrap); margin:0 auto; padding:80px 20px 0 20px; }
	@media (max-width:1024px) {
		.wrap { padding-top:50px; }
	}

	.wrap100 { width:100%; max-width:var(--wrap); margin:0 auto; padding:100px 20px 0 20px; }
	@media (max-width:1024px) {
		.wrap100 { padding-top:60px; }
	}

/* ------------------------------------------------------------
page-title
------------------------------------------------------------ */
	.page-title { padding-bottom:60px; line-height:1; }
	.page-title h1 { text-align:center; font-size:3rem; font-weight:600; line-height:1; letter-spacing:-0.002rem; }

	@media (max-width:768px) {
		.page-title { padding-bottom:50px; }
		.page-title h1 { font-size:2rem; letter-spacing:.1rem; }
	}

/* ------------------------------------------------------------
filter
------------------------------------------------------------ */
	.filter-wrap { padding-top:40px; }

	.filter-bar-tab { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; gap:40px; padding-bottom:20px; }
	.filter-bar-tab a { flex:1; font-size:1rem; font-weight:500; border:1px solid var(--line); padding:7px 20px; text-align:center; }
	.filter-bar-tab a.on { background:#838383; color:#fff; border-color:#838383; font-weight:600; }

	.filter-issue { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; gap:40px; }
	.filter-issue a { display:block; border-bottom:2px solid transparent; padding:7px 0; font-size:1rem; font-weight:400; text-align:center; }
	.filter-issue a.on { border-color:#000; font-weight:600; }

	.filter-bar-wrap {}
	.filter-bar { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; gap:0 40px; }
	.filter-bar a { display:block; border-bottom:2px solid transparent; padding:7px 0; font-size:1rem; font-weight:400; text-align:center; }
	.filter-bar a.on { border-color:#000; font-weight:600; }
	
	@media (max-width:1024px) {
		.filter-bar-tab { gap:16px; }
	}
	@media (max-width:768px) {
		.filter-wrap { padding-top:30px; }
		.filter-issue { gap:5px 0; justify-content:flex-start; }
		.filter-issue a { width:20%; }
		.filter-bar-wrap { position:relative; overflow-x:scroll; -ms-overflow-style:none; scrollbar-width:none; }
		.filter-bar { gap:0 20px; flex-flow:row nowrap; width:calc(100% + 40px); }
		.filter-bar a { flex:0 0 auto; }
	}
	@media (max-width:480px) {
		.filter-bar-tab { gap:10px; }
		.filter-bar-tab a { font-size:0.92rem; padding:6px 16px; }
		.filter-issue a { font-size:0.92rem; }
		.filter-bar { justify-content:flex-start; }
		.filter-bar a { font-size:0.92rem; }
	}
	@media (max-width:360px) {
		.filter-bar-tab { gap:5px; }
		.filter-bar-tab a { font-size:0.86rem; padding:6px 10px; }
		.filter-issue a { font-size:0.86rem; }
		.filter-bar a { font-size:0.86rem; }
	}

/* ------------------------------------------------------------
grid
------------------------------------------------------------ */
	.grid-4 { display:grid; grid-template-columns:repeat(4, 1fr); gap:60px 30px; }
	.grid-3 { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
	.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:40px; }

	@media (max-width:1024px) {
		.grid-4 { grid-template-columns:repeat(3, 1fr); }
	}
	@media (max-width:768px) {
		.grid-4 { padding:0; grid-template-columns:1fr 1fr; }
	}

/* ------------------------------------------------------------
issue
------------------------------------------------------------ */
	.issue-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:60px 20px; }
	.issue-item { position:relative; }
	.issue-item .cv { aspect-ratio:1/1.414; overflow:hidden; background:#eee; position:relative; }
	.issue-item .cv img { width:100%; height:100%; object-fit:cover; }
	.issue-item .ttl { font-size:1.32rem; font-weight:600; line-height:1.4; padding:20px 0 15px 0; text-align:center; }
	.issue-item .cnt { font-size:0.86rem; color:#757575; letter-spacing:0; font-weight:400; line-height:1; text-align:center; }
	.badge-soon {
		position:absolute; left:0; top:0; right:0; bottom:0; display:flex; align-items:center; justify-content:center;
		background:rgba(255,255,255,.6); font-size:.9rem; font-weight:600; color:#000;
	}
	
	@media (max-width:768px) {
		.issue-grid { grid-template-columns:1fr 1fr; }
	}

	@media (max-width:768px) {
		.issue-item .ttl { font-size:1.1rem; }
	}

	@media (max-width:480px) {
		.issue-item .ttl { font-size:1rem; }
		.issue-item .cnt { font-size:0.8rem; }
	}

	.issue { width:100%; max-width:1140px; margin:0 auto; display:grid; grid-template-columns:repeat(4, 1fr); gap:40px 30px; }
	.issue .cover { grid-column:span 2; grid-row:span 2; }
	.issue .cover img { display:block; aspect-ratio:1/1.414; margin:0 auto; width:100%; max-width:520px; }

	@media (max-width:1024px) {
		.issue { grid-template-columns:repeat(3, 1fr); gap:40px 20px; }
		.issue .cover { grid-column:span 3; grid-row:1; padding-bottom:20px; }
	}

	@media (max-width:768px) {
		.issue { grid-template-columns:1fr 1fr; gap:40px 20px; }
		.issue .cover { grid-column:span 2; grid-row:1; }
	}

/* ------------------------------------------------------------
card
------------------------------------------------------------ */
	.card-image { aspect-ratio:141/100; overflow:hidden; background:#f2f2f2; }
	.card-image img { width:100%; height:100%; object-fit:cover; }
	.card-image .ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
	.card-image .ph span { font-size:0.76rem; font-weight:700; letter-spacing:.2em; color:#9a9a9a; }
	.card-body { padding:30px 4px 4px 4px; }
	.card-body span.cat { display:block; font-size:0.91rem; letter-spacing:-0.02em; font-weight:500; color:#000; line-height:1; padding-bottom:10px; }
	.card-body h4 { 
		padding-bottom:20px; font-size:1.32rem; font-weight:600; line-height:1.5; word-break:keep-all; 
		max-height:none; display:-webkit-box; -webkit-line-clamp:10; -webkit-box-orient:vertical; overflow:hidden;
	}
	.card-body p.meta { font-size:0.83rem; color:#757575; letter-spacing:0; font-weight:400; display:flex; align-items:center; line-height:1; }
	.card-body p.meta span { 
		position:relative; margin-left:8px; padding-left:10px; white-space:normal; 
		display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; word-break:break-all; 
	}
	.card-body p.meta span::after { 
		content:''; width:1px; height:10px; background:#999; opacity:0.5; 
		position:absolute; top:calc(50% + 1px); left:0; transform:translateY(-50%);
	}
	.card:hover .card-body h4 { text-decoration:underline; text-underline-position:under; }

	.card-image-ov { aspect-ratio:1/1.414; overflow:hidden; background:#f2f2f2; }
	.card-image-ov img { width:100%; height:100%; object-fit:cover; }
	.card-body-ov { position:absolute; left:0; right:0; bottom:0; padding:30px 20px 20px 20px; color:#fff; background:linear-gradient(to top, rgba(0,0,0,.6), rgba(0,0,0,0)); }
	.card-body-ov span.cat { display:block; font-size:0.91rem; letter-spacing:-0.02em; font-weight:500; color:#fff; line-height:1; padding-bottom:10px; }
	.card-body-ov h4 { 
		padding-bottom:20px; font-size:1.32rem; font-weight:600; line-height:1.5; word-break:keep-all; 
		max-height:none; display:-webkit-box; -webkit-line-clamp:10; -webkit-box-orient:vertical; overflow:hidden;
	}
	.card-body-ov p.meta { font-size:0.83rem; color:#fff; letter-spacing:0; font-weight:400; display:flex; align-items:center; line-height:1; }
	.card-body-ov p.meta span { 
		position:relative; margin-left:8px; padding-left:10px; white-space:normal; 
		display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; word-break:break-all; 
	}
	.card-body-ov p.meta span::after { 
		content:''; width:1px; height:10px; background:#fff; opacity:0.5; 
		position:absolute; top:calc(50% + 1px); left:0; transform:translateY(-50%);
	}
	.card:hover .card-body-ov h4 { text-decoration:underline; text-underline-position:under; }

	@media (max-width:768px) {
		.card-body { padding:20px 0 0 0; }
		.card-body span.cat { font-size:0.8rem; }
		.card-body h4 { font-size:0.97rem; line-height:1.4; padding-bottom:10px; }
		.card-body p.meta { font-size:0.76rem; }
		.card-body-ov { padding:20px 15px 15px 15px; }
		.card-body-ov span.cat { font-size:0.8rem; }
		.card-body-ov h4 { font-size:0.97rem; line-height:1.4; padding-bottom:10px; }
		.card-body-ov p.meta { font-size:0.76rem; }
	}

/* ------------------------------------------------------------
spread
------------------------------------------------------------ */
	.spread { position:relative; perspective:1400px; }
	.spread::before { 
		content:''; position:absolute; left:50%; top:0; bottom:0; width:1px; 
		/*background:linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.28), rgba(0,0,0,0)); z-index:3; pointer-events:none;*/
		background:linear-gradient(to bottom, rgba(255,255,255,0.5), rgba(255,255,255,1), rgba(255,255,255,0.5)); z-index:3; pointer-events:none;
	}
	.spread::after {
		content:''; position:absolute; left:50%; top:0; bottom:0; width:40px; transform:translateX(-50%);
		background:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,.14) 45%,rgba(0,0,0,.14) 55%,rgba(0,0,0,0)); z-index:2; pointer-events:none;
	}

/* ------------------------------------------------------------
none
------------------------------------------------------------ */
	.none { padding:100px 20px; text-align:center; color:var(--dim); font-size:.95rem; }

/* ------------------------------------------------------------
pager
------------------------------------------------------------ */
	.pager { padding:60px 0 40px 0; line-height:100%; display:flex; flex-flow:row wrap; justify-content:center; align-items:center; margin:0 auto; gap:10px; }
	.pg_page, .pg_current { 
		display:flex; flex-flow:row nowrap; justify-content:center; align-items:center; 
		width:38px; height:38px; font-size:1rem; border:1px solid var(--line); background:#fff; text-decoration:none;
	}
	.pg_current { background:#000; border:#000; color:#fff; font-weight:700; }	
	.pg_page:hover { background:var(--line); }
	.pg_start, .pg_prev, .pg_end, .pg_next { font-size:0.86rem; }
	.pg_start:hover, .pg_prev:hover, .pg_end:hover, .pg_next:hover { background:var(--line); }

/* ------------------------------------------------------------
art-wrap
------------------------------------------------------------ */
	.art-wrap { position:relative; width:100%; max-width:1240px; margin:0 auto; display:flex; justify-content:flex-end; }

	.art-head { position:absolute; top:0; left:20px; }
	.art-head .cat { font-size:0.97rem; font-weight:600; padding-bottom:20px; }
	.art-head .title-mo { display:none; padding-bottom:20px; font-size:1.55rem; font-weight:600; line-height:1.35; }
	.art-head .date { font-size:0.87rem; color:#757575; letter-spacing:0; font-weight:400; padding-bottom:8px; }
	.art-head .meta { font-size:0.97rem; padding-bottom:40px; font-weight:600; }
	.art-head .meta li { padding-left:20px; line-height:1.3; }
	.art-head .meta a { }
	.art-head .meta span { display:none; }
	.art-head .meta::before { content:'by'; position:absolute; }
	.art-head .etc { padding-top:8px; }
	.art-head .share { display:flex; gap:6px; }
	.art-head .share a { display:flex; justify-content:center; align-items:center; width:36px; height:36px; border:1px solid #000; border-radius:18px; }
	.art-head .info { padding-top:16px; font-size:0.87rem; font-weight:400; line-height:1; color:var(--dim); }
	.art-body { width:100%; max-width:960px; }
	.art-body h1 { margin-top:-10px; padding-bottom:40px; font-size:2.3rem; font-weight:600; line-height:1.35; }

	@media (max-width:1200px) {
		.art-wrap { display:flex; flex-flow:column nowrap; justify-content:flex-start; }
		.art-head { position:relative; top:auto; left:auto; width:100%; max-width:960px; margin:0 auto; }
		.art-head .cat { font-size:1rem; }
		.art-head .date { font-size:1rem; }
		.art-head .meta { display:flex; font-size:1.15rem; font-weight:500; }
		.art-head .meta li { padding-left:6px; line-height:1; }
		.art-head .meta li:first-child { padding-left:22px; }
		.art-head .meta a { }
		.art-head .meta span { display:inline; }
		.art-head .meta li:last-child span { display:none; }
		.art-head .meta::before { content:'by'; position:absolute; }
		.art-head .etc { position:absolute; top:0; right:0; }
		.art-head .share { justify-content:flex-end; }
		.art-body { margin:0 auto; }
		.art-body h1 { margin-top:-10px; font-size:1.35rem; }
	}
	@media (max-width:1024px) {
	}
	@media (max-width:768px) {
		.art-head .title-mo { display:block; }
		.art-head .cat { font-size:0.82rem; }
		.art-head .date { font-size:0.87rem; }
		.art-head .meta { font-size:0.94rem; padding-bottom:20px; }		
		.art-head .etc { 
			position:relative; top:auto; right:auto; padding-bottom:20px; gap:10px;  
			display:flex; justify-content:space-between; align-items:center;
		}
		.art-head .info { padding-top:0; }
		.art-body h1 { display:none; }
	}
	@media (max-width:480px) {
	}
	@media (max-width:360px) {
	}
	
/* ------------------------------------------------------------
viewer-box
------------------------------------------------------------ */
	.viewer-box-secure { 
		width:100%; aspect-ratio:1/0.6; margin:0 auto; background:#f5f5f5; padding:20px 0; border-radius:20px;
		display:flex; justify-content:center; align-items:center;
	}
	.secure { width:100%; max-width:300px; padding:20px; border-radius:20px; background:#fff; }
	.secure .img { padding-bottom:10px; }
	.secure .audio { padding-bottom:10px; }
	.secure .audio audio { width:100%; }
	.secure .btn { display:flex; justify-content:center; align-items:center; padding-bottom:20px; gap:8px; }
	.secure .btn input { width:120px; border:0; border-bottom:1px solid #000; outline:none; }
	.secure .btn button { 
		display:flex; justify-content:center; align-items:center; border:0; outline:0; line-height:1;
		background:#fff; font-size:0.91rem; font-weight:600; padding:5px 0; border-bottom:2px solid #fff;
	}
	.secure .btn button:hover { border-bottom:2px solid #000; }
	.secure .text { text-align:center; font-size:0.82rem; font-weight:400; line-height:1.4; color:var(--dim); }
	
	@media (max-width:360px) {
		.secure { padding:20px 10px; }
	}

	#viewer { width:100%; aspect-ratio:1/1.414; }

	.viewer-box { width:100%; margin:0 auto;background:#2a2a2a;padding:18px}
	.viewer-bar{display:flex;justify-content:space-between;align-items:center;color:#ddd;font-size:.78rem;margin-bottom:12px}
	.viewer-bar .vb-btns{display:flex;gap:6px}
	.viewer-bar button{background:#3d3d3d;color:#eee;border:0;padding:6px 12px;font-size:.75rem}
	.viewer-bar button:hover{background:#505050}
	.viewer-page { position:relative; background:#fff; margin:0 auto 14px; max-width:100%; min-height:300px; }
	.viewer-page img { width:100%; display:block; transition:opacity .2s ease; }

	/* 쪽을 넘기는 동안 무엇이 일어나는지 보여 준다.
	   아무 표시도 없으면 눌러도 반응이 없는 것처럼 느껴진다. */
	.viewer-page.loading img{opacity:.2}
	.viewer-page.loading::after{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;
	  margin:-17px 0 0 -17px;border:3px solid rgba(0,0,0,.15);border-top-color:rgba(0,0,0,.5);
	  border-radius:50%;animation:vspin .8s linear infinite}
	@keyframes vspin{to{transform:rotate(360deg)}}
	.viewer-page.failed::after{content:"지면을 불러오지 못했습니다";position:absolute;left:0;right:0;top:50%;
	  transform:translateY(-50%);text-align:center;font-size:.85rem;color:#888}
	.viewer-page.failed img{opacity:0}

	.viewer-bar button[disabled]{opacity:.35;cursor:default}
	.viewer-bar button[disabled]:hover{background:#3d3d3d}
	.viewer-page .wm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
	  pointer-events:none;overflow:hidden}
	.viewer-page .wm span{font-size:clamp(14px,3vw,30px);font-weight:700;letter-spacing:.3em;color:rgba(0,0,0,.18);
	  transform:rotate(-30deg);white-space:nowrap}
	.viewer-note{color:#bbb;font-size:.75rem;text-align:center;margin-top:10px;line-height:1.7}

	/*
	.art-nav { display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding-top:24px; font-size:.92rem; margin-top:44px; }
	.art-nav .prev, .art-nav .next { width:300px; }
	.art-nav .next { text-align:right; }
	*/

/* ------------------------------------------------------------
일반 페이지
------------------------------------------------------------ */
	.about-body-wrap { width:100%; max-width:1140px; margin:0 auto; }
	.about-body { margin:0 auto; font-size:1rem; line-height:1.5; }
	.about-body h2 { font-size:1.2rem; margin:34px 0 12px; padding-bottom:8px; border-bottom:1px solid var(--line); }
	.about-body h3 { font-size:1.02rem; margin:22px 0 8px; }
	.about-body p { margin-bottom:1em; word-break:keep-all; }
	.about-body ul, .about-body ol { margin:0 0 1em 20px; }
	.about-body li { margin-bottom:5px; }
	.about-body img { margin:14px auto; }
	.about-body a { border-bottom:1px solid var(--line); }
	.about-body a:hover { border-color:#000; }
	.about-body table { width:100%; border-collapse:collapse; margin:14px 0; font-size:.9rem; }
	.about-body th, .about-body td { border:1px solid var(--line); padding:9px 12px; text-align:left; }
	.about-body th { background:var(--gray); width:150px; font-weight:700; }
	.about-body .note { font-size:.84rem; color:var(--dim); background:var(--gray); padding:12px 14px; margin-top:18px; }

/* ------------------------------------------------------------
공지사항
------------------------------------------------------------ */
	.notice-rows { border-top:1px solid var(--line); min-height:300px; }
	.notice-row { 
		display:flex; flex-flow:row wrap; justify-content:space-between; gap:20px; align-items:flex-start;
		padding:20px; border-bottom:1px solid var(--line); position:relative; 
	}
	.notice-row .subject { cursor:pointer; }
	.notice-row h4 { font-size:1.1rem; font-weight:500; line-height:1.5; padding:8px 0; }
	.notice-row .sub { font-size:.86rem; color:#666; line-height:1.5; }
	.notice-row .rt { font-size:.86rem; color:var(--dim); white-space:nowrap; }
	.notice-row .pin { display:inline-block; font-size:.72rem; font-weight:500; line-height:1; border:1px solid #000; padding:6px 10px 3px 10px; }
	.notice-row .inner { display:none; width:100%; padding:15px; line-height:1.6; }

	@media (max-width:768px) {
		.notice-row { padding:20px 10px; }
		.notice-row h4 { font-size:1rem; }
		.notice-row .rt { position:absolute; top:24px; right:10px; }
	}

/* ------------------------------------------------------------
검색 페이지
------------------------------------------------------------ */
	.search-area { position:relative; max-width:500px; margin:0 auto; padding-top:30px; }
	.search-area input { 
		width:100%; height:60px; border:0; border-bottom:2px solid #000; border-radius:0;
		outline:none; font-size:1.125rem; font-weight:600; letter-spacing:-0.002em; appearance:none; -webkit-appearance:none;
	}
	.search-area button { 
		position:absolute; top:50%; right:0; width:30px; height:30px; margin-top:15px; transform:translateY(-50%);
		display:flex; justify-content:center; align-items:center; border:0; background:transparent;
	}
	.search-area .x {
		position:absolute; top:50%; right:42px; width:20px; height:20px; margin-top:15px; transform:translateY(-50%); cursor:pointer;
		display:flex; justify-content:center; align-items:center; border:0; background:transparent;
	}
	.search-result { padding-bottom:20px; }
	.search-result span { font-weight:600; }

/* ------------------------------------------------------------
가로 리스트
------------------------------------------------------------ */
/*
	.list-rows {}
	.list-row { display:grid; grid-template-columns:150px 1fr 100px; gap:20px; padding:20px 0px; border-bottom:1px solid var(--line); }
	.list-row:first-child { padding-top:0; }
	.list-row:last-child { border-bottom:0; }
	.list-row .card-image { aspect-ratio:4/3; }
	.list-row span.cat { font-size:.86rem; font-weight:500; color:var(--dim); line-height:1; }

	.list-row h4 { font-size:1.1rem; font-weight:500; line-height:1.4; padding:10px 0 2px 0; }
	.list-row .sub { font-size:.86rem; color:#444; padding-bottom:10px; }
	.list-row .meta { font-size:.82rem;color:var(--dim); line-height:1; }
	.list-row .rt { text-align:right; font-size:.88rem; color:var(--dim); line-height:1.8; }
	.list-row:hover { background:#fafafa; }
*/

/* ------------------------------------------------------------
푸터
------------------------------------------------------------ */
	.site-foot { background:#0e0e0e; color:#bdbdbd; margin-top:90px; padding:50px 20px; word-break:keep-all; }
	.foot-in { max-width:var(--wrap); margin:0 auto; text-align:center; }

	.foot-logo { padding-bottom:25px; }
	.foot-logo img { display:block; height:25px; width:auto; margin:0 auto; }
	.foot-logo .logo-tx { display:block; text-align:center; color:#fff; }
	.foot-logo .logo-tx b { font-size:1.4rem; }

	.foot-menu { 
		display:flex; flex-wrap:wrap; justify-content:center; gap:10px 30px;
		padding-bottom:25px; margin-bottom:25px; border-bottom:1px solid #262626;
	}
	.foot-menu a { font-size:0.82rem; color:#d4d4d4; }
	.foot-menu a:hover { color:#fff; }

	.foot-info { font-size:0.78rem; line-height:1.4; color:#8d8d8d; }
	.foot-info a { color:#c4c4c4; border-bottom:1px solid #3a3a3a; }
	.foot-info a:hover { color:#fff; border-color:#fff; }
	.foot-copy { padding-top:15px; font-size:0.7rem; color:#6a6a6a; }

	@media (max-width:768px){
		.site-foot { margin-top:60px; padding:40px 20px; }
		.foot-menu { gap:8px 20px; }
		.foot-menu a { font-size:0.78rem; }
		.foot-info { font-size:0.74rem; }
	}

/* ------------------------------------------------------------
프린트
------------------------------------------------------------ */
	@media print{
		.site-head,
		.site-foot,
		.viewer-bar,
		.pager,
		.full-menu,
		.adv-wrap { display:none !important; }
	}